Merge "Handle setDataSource failures properly. #5261671"
This commit is contained in:
@@ -148,10 +148,10 @@ status_t MediaPlayer::setDataSource(
|
|||||||
const sp<IMediaPlayerService>& service(getMediaPlayerService());
|
const sp<IMediaPlayerService>& service(getMediaPlayerService());
|
||||||
if (service != 0) {
|
if (service != 0) {
|
||||||
sp<IMediaPlayer> player(service->create(getpid(), this, mAudioSessionId));
|
sp<IMediaPlayer> player(service->create(getpid(), this, mAudioSessionId));
|
||||||
err = attachNewPlayer(player);
|
if (NO_ERROR != player->setDataSource(url, headers)) {
|
||||||
if (err == NO_ERROR) {
|
player.clear();
|
||||||
err = mPlayer->setDataSource(url, headers);
|
|
||||||
}
|
}
|
||||||
|
err = attachNewPlayer(player);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return err;
|
return err;
|
||||||
@@ -164,10 +164,10 @@ status_t MediaPlayer::setDataSource(int fd, int64_t offset, int64_t length)
|
|||||||
const sp<IMediaPlayerService>& service(getMediaPlayerService());
|
const sp<IMediaPlayerService>& service(getMediaPlayerService());
|
||||||
if (service != 0) {
|
if (service != 0) {
|
||||||
sp<IMediaPlayer> player(service->create(getpid(), this, mAudioSessionId));
|
sp<IMediaPlayer> player(service->create(getpid(), this, mAudioSessionId));
|
||||||
err = attachNewPlayer(player);
|
if (NO_ERROR != player->setDataSource(fd, offset, length)) {
|
||||||
if (err == NO_ERROR) {
|
player.clear();
|
||||||
err = mPlayer->setDataSource(fd, offset, length);
|
|
||||||
}
|
}
|
||||||
|
err = attachNewPlayer(player);
|
||||||
}
|
}
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
@@ -179,10 +179,10 @@ status_t MediaPlayer::setDataSource(const sp<IStreamSource> &source)
|
|||||||
const sp<IMediaPlayerService>& service(getMediaPlayerService());
|
const sp<IMediaPlayerService>& service(getMediaPlayerService());
|
||||||
if (service != 0) {
|
if (service != 0) {
|
||||||
sp<IMediaPlayer> player(service->create(getpid(), this, mAudioSessionId));
|
sp<IMediaPlayer> player(service->create(getpid(), this, mAudioSessionId));
|
||||||
err = attachNewPlayer(player);
|
if (NO_ERROR != player->setDataSource(source)) {
|
||||||
if (err == NO_ERROR) {
|
player.clear();
|
||||||
err = mPlayer->setDataSource(source);
|
|
||||||
}
|
}
|
||||||
|
err = attachNewPlayer(player);
|
||||||
}
|
}
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user