diff options
author | Andreas Huber <andih@google.com> | 2011-03-02 15:34:46 -0800 |
---|---|---|
committer | Andreas Huber <andih@google.com> | 2011-03-02 15:38:32 -0800 |
commit | 32f3cefa373cd55e63deda36ca9d07c7fe22eaaf (patch) | |
tree | b8ff788f27c04b39b7959783a53e7a138cdff3e6 /media/libmediaplayerservice/nuplayer/StreamingSource.cpp | |
parent | 3fd91baee812919f53a85c5c05f32606313f8334 (diff) | |
download | frameworks_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.cpp | 9 |
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)); } |