summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2011-08-31 16:29:05 -0700
committerAndreas Huber <andih@google.com>2011-08-31 16:29:05 -0700
commiteeddb0e504abf3575b71624d9453f4acfdc1d318 (patch)
tree46692289a35410b3108daef222352275411d5863 /media/libmediaplayerservice
parentea8c9b1bd9cd416b51b0040763af501004110fe7 (diff)
downloadframeworks_base-eeddb0e504abf3575b71624d9453f4acfdc1d318.zip
frameworks_base-eeddb0e504abf3575b71624d9453f4acfdc1d318.tar.gz
frameworks_base-eeddb0e504abf3575b71624d9453f4acfdc1d318.tar.bz2
I have one HLS stream that switches stream PIDs from one bandwidth to the next
this change intends to support its very limited case and signals an error in all other cases of unexpected PID changes that we cannot recover from. Change-Id: Icbfdf9fe7461969e2a8781ed416f54d891dd789a
Diffstat (limited to 'media/libmediaplayerservice')
-rw-r--r--media/libmediaplayerservice/nuplayer/HTTPLiveSource.cpp9
-rw-r--r--media/libmediaplayerservice/nuplayer/StreamingSource.cpp10
2 files changed, 17 insertions, 2 deletions
diff --git a/media/libmediaplayerservice/nuplayer/HTTPLiveSource.cpp b/media/libmediaplayerservice/nuplayer/HTTPLiveSource.cpp
index 0251baf..605d056 100644
--- a/media/libmediaplayerservice/nuplayer/HTTPLiveSource.cpp
+++ b/media/libmediaplayerservice/nuplayer/HTTPLiveSource.cpp
@@ -124,7 +124,14 @@ bool NuPlayer::HTTPLiveSource::feedMoreTSData() {
: ATSParser::DISCONTINUITY_FORMATCHANGE,
extra);
} else {
- mTSParser->feedTSPacket(buffer, sizeof(buffer));
+ status_t err = mTSParser->feedTSPacket(buffer, sizeof(buffer));
+
+ if (err != OK) {
+ LOGE("TS Parser returned error %d", err);
+ mTSParser->signalEOS(err);
+ mEOS = true;
+ break;
+ }
}
mOffset += n;
diff --git a/media/libmediaplayerservice/nuplayer/StreamingSource.cpp b/media/libmediaplayerservice/nuplayer/StreamingSource.cpp
index f41e9d2..a741987 100644
--- a/media/libmediaplayerservice/nuplayer/StreamingSource.cpp
+++ b/media/libmediaplayerservice/nuplayer/StreamingSource.cpp
@@ -86,7 +86,15 @@ bool NuPlayer::StreamingSource::feedMoreTSData() {
: ATSParser::DISCONTINUITY_FORMATCHANGE,
extra);
} else {
- mTSParser->feedTSPacket(buffer, sizeof(buffer));
+ status_t err = mTSParser->feedTSPacket(buffer, sizeof(buffer));
+
+ if (err != OK) {
+ LOGE("TS Parser returned error %d", err);
+
+ mTSParser->signalEOS(err);
+ mEOS = true;
+ break;
+ }
}
}
}