diff options
author | Andreas Huber <andih@google.com> | 2011-09-27 12:12:25 -0700 |
---|---|---|
committer | Andreas Huber <andih@google.com> | 2011-09-27 12:13:37 -0700 |
commit | eac68baf095aeef54865c28b6888924dc6295cbd (patch) | |
tree | a1ca9c5de638d21e07be1aab9f25d01e118597e7 /media/libmediaplayerservice/nuplayer/HTTPLiveSource.cpp | |
parent | 797ab6072402b12721dc226a9ebde3546e7640e9 (diff) | |
download | frameworks_av-eac68baf095aeef54865c28b6888924dc6295cbd.zip frameworks_av-eac68baf095aeef54865c28b6888924dc6295cbd.tar.gz frameworks_av-eac68baf095aeef54865c28b6888924dc6295cbd.tar.bz2 |
Signal an appropriate error even if there are no active streams yet.
Change-Id: I3ac1053ad288558b62ee18056dfd0a9ce0da8f49
related-to-bug: 5372901
Diffstat (limited to 'media/libmediaplayerservice/nuplayer/HTTPLiveSource.cpp')
-rw-r--r-- | media/libmediaplayerservice/nuplayer/HTTPLiveSource.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/media/libmediaplayerservice/nuplayer/HTTPLiveSource.cpp b/media/libmediaplayerservice/nuplayer/HTTPLiveSource.cpp index fb14204..079f6fa 100644 --- a/media/libmediaplayerservice/nuplayer/HTTPLiveSource.cpp +++ b/media/libmediaplayerservice/nuplayer/HTTPLiveSource.cpp @@ -41,7 +41,7 @@ NuPlayer::HTTPLiveSource::HTTPLiveSource( mUIDValid(uidValid), mUID(uid), mFlags(0), - mEOS(false), + mFinalResult(OK), mOffset(0) { if (headers) { mExtraHeaders = *headers; @@ -95,9 +95,9 @@ sp<MetaData> NuPlayer::HTTPLiveSource::getFormat(bool audio) { return source->getFormat(); } -bool NuPlayer::HTTPLiveSource::feedMoreTSData() { - if (mEOS) { - return false; +status_t NuPlayer::HTTPLiveSource::feedMoreTSData() { + if (mFinalResult != OK) { + return mFinalResult; } sp<LiveDataSource> source = @@ -111,12 +111,12 @@ bool NuPlayer::HTTPLiveSource::feedMoreTSData() { break; } else if (n < 0) { if (n != ERROR_END_OF_STREAM) { - LOGI("input data EOS reached, error %d", n); + LOGI("input data EOS reached, error %ld", n); } else { LOGI("input data EOS reached."); } mTSParser->signalEOS(n); - mEOS = true; + mFinalResult = n; break; } else { if (buffer[0] == 0x00) { @@ -133,7 +133,7 @@ bool NuPlayer::HTTPLiveSource::feedMoreTSData() { if (err != OK) { LOGE("TS Parser returned error %d", err); mTSParser->signalEOS(err); - mEOS = true; + mFinalResult = err; break; } } @@ -142,7 +142,7 @@ bool NuPlayer::HTTPLiveSource::feedMoreTSData() { } } - return true; + return OK; } status_t NuPlayer::HTTPLiveSource::dequeueAccessUnit( @@ -172,7 +172,7 @@ status_t NuPlayer::HTTPLiveSource::getDuration(int64_t *durationUs) { status_t NuPlayer::HTTPLiveSource::seekTo(int64_t seekTimeUs) { // We need to make sure we're not seeking until we have seen the very first // PTS timestamp in the whole stream (from the beginning of the stream). - while (!mTSParser->PTSTimeDeltaEstablished() && feedMoreTSData()) { + while (!mTSParser->PTSTimeDeltaEstablished() && feedMoreTSData() == OK) { usleep(100000); } |