summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/nuplayer/NuPlayerStreamListener.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/NuPlayerStreamListener.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/NuPlayerStreamListener.cpp')
-rw-r--r--media/libmediaplayerservice/nuplayer/NuPlayerStreamListener.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerStreamListener.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerStreamListener.cpp
index a23beb7..885ebe4 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayerStreamListener.cpp
+++ b/media/libmediaplayerservice/nuplayer/NuPlayerStreamListener.cpp
@@ -92,9 +92,12 @@ void NuPlayer::NuPlayerStreamListener::issueCommand(
}
}
-ssize_t NuPlayer::NuPlayerStreamListener::read(void *data, size_t size) {
+ssize_t NuPlayer::NuPlayerStreamListener::read(
+ void *data, size_t size, sp<AMessage> *extra) {
CHECK_GT(size, 0u);
+ extra->clear();
+
Mutex::Autolock autoLock(mLock);
if (mEOS) {
@@ -122,6 +125,8 @@ ssize_t NuPlayer::NuPlayerStreamListener::read(void *data, size_t size) {
case DISCONTINUITY:
{
+ *extra = entry->mExtra;
+
mQueue.erase(mQueue.begin());
entry = NULL;