summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/nuplayer/StreamingSource.cpp
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2011-03-02 15:34:46 -0800
committerAndreas Huber <andih@google.com>2011-03-02 15:38:32 -0800
commit32f3cefa373cd55e63deda36ca9d07c7fe22eaaf (patch)
treeb8ff788f27c04b39b7959783a53e7a138cdff3e6 /media/libmediaplayerservice/nuplayer/StreamingSource.cpp
parent3fd91baee812919f53a85c5c05f32606313f8334 (diff)
downloadframeworks_av-32f3cefa373cd55e63deda36ca9d07c7fe22eaaf.zip
frameworks_av-32f3cefa373cd55e63deda36ca9d07c7fe22eaaf.tar.gz
frameworks_av-32f3cefa373cd55e63deda36ca9d07c7fe22eaaf.tar.bz2
Allow optional specification of a PTS timestamp when signalling a discontinuity.
If present, rendering will be suppressed until reaching the timestamp. Change-Id: Ic64bdf4225063c5a4d042ea9809960b843a46d19 related-to-bug: 3489454
Diffstat (limited to 'media/libmediaplayerservice/nuplayer/StreamingSource.cpp')
-rw-r--r--media/libmediaplayerservice/nuplayer/StreamingSource.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/media/libmediaplayerservice/nuplayer/StreamingSource.cpp b/media/libmediaplayerservice/nuplayer/StreamingSource.cpp
index b85ac9f..2016282 100644
--- a/media/libmediaplayerservice/nuplayer/StreamingSource.cpp
+++ b/media/libmediaplayerservice/nuplayer/StreamingSource.cpp
@@ -54,7 +54,8 @@ bool NuPlayer::StreamingSource::feedMoreTSData() {
for (int32_t i = 0; i < 10; ++i) {
char buffer[188];
- ssize_t n = mStreamListener->read(buffer, sizeof(buffer));
+ sp<AMessage> extra;
+ ssize_t n = mStreamListener->read(buffer, sizeof(buffer), &extra);
if (n == 0) {
LOGI("input data EOS reached.");
@@ -62,7 +63,8 @@ bool NuPlayer::StreamingSource::feedMoreTSData() {
mEOS = true;
break;
} else if (n == INFO_DISCONTINUITY) {
- mTSParser->signalDiscontinuity(ATSParser::DISCONTINUITY_SEEK);
+ mTSParser->signalDiscontinuity(
+ ATSParser::DISCONTINUITY_SEEK, extra);
} else if (n < 0) {
CHECK_EQ(n, -EWOULDBLOCK);
break;
@@ -72,7 +74,8 @@ bool NuPlayer::StreamingSource::feedMoreTSData() {
mTSParser->signalDiscontinuity(
buffer[1] == 0x00
? ATSParser::DISCONTINUITY_SEEK
- : ATSParser::DISCONTINUITY_FORMATCHANGE);
+ : ATSParser::DISCONTINUITY_FORMATCHANGE,
+ extra);
} else {
mTSParser->feedTSPacket(buffer, sizeof(buffer));
}