summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/nuplayer
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2012-09-04 09:35:52 -0700
committerAndroid Git Automerger <android-git-automerger@android.com>2012-09-04 09:35:52 -0700
commitf5540a1218397e9cc5a381217ffbbc52332cf719 (patch)
tree4de3bb1f05ca9e334e886a102ff2623e71f0ca99 /media/libmediaplayerservice/nuplayer
parent85c4ee8533bcb172ad1805bf3daa9f9c95c831b3 (diff)
parent76fd1ea58835094e84d36f2353d1390c24d14bfc (diff)
downloadframeworks_av-f5540a1218397e9cc5a381217ffbbc52332cf719.zip
frameworks_av-f5540a1218397e9cc5a381217ffbbc52332cf719.tar.gz
frameworks_av-f5540a1218397e9cc5a381217ffbbc52332cf719.tar.bz2
am 76fd1ea5: am 7323115c: Merge "Improvements to our MPEG2 Transport Stream parser" into jb-mr1-dev
* commit '76fd1ea58835094e84d36f2353d1390c24d14bfc': Improvements to our MPEG2 Transport Stream parser
Diffstat (limited to 'media/libmediaplayerservice/nuplayer')
-rw-r--r--media/libmediaplayerservice/nuplayer/StreamingSource.cpp22
1 files changed, 20 insertions, 2 deletions
diff --git a/media/libmediaplayerservice/nuplayer/StreamingSource.cpp b/media/libmediaplayerservice/nuplayer/StreamingSource.cpp
index b696aa4..a1fd2ed 100644
--- a/media/libmediaplayerservice/nuplayer/StreamingSource.cpp
+++ b/media/libmediaplayerservice/nuplayer/StreamingSource.cpp
@@ -42,7 +42,15 @@ NuPlayer::StreamingSource::~StreamingSource() {
void NuPlayer::StreamingSource::start() {
mStreamListener = new NuPlayerStreamListener(mSource, 0);
- mTSParser = new ATSParser(ATSParser::TS_TIMESTAMPS_ARE_ABSOLUTE);
+
+ uint32_t sourceFlags = mSource->flags();
+
+ uint32_t parserFlags = ATSParser::TS_TIMESTAMPS_ARE_ABSOLUTE;
+ if (sourceFlags & IStreamSource::kFlagAlignedVideoData) {
+ parserFlags |= ATSParser::ALIGNED_VIDEO_DATA;
+ }
+
+ mTSParser = new ATSParser(parserFlags);
mStreamListener->start();
}
@@ -138,7 +146,17 @@ status_t NuPlayer::StreamingSource::dequeueAccessUnit(
return finalResult == OK ? -EWOULDBLOCK : finalResult;
}
- return source->dequeueAccessUnit(accessUnit);
+ status_t err = source->dequeueAccessUnit(accessUnit);
+
+#if !defined(LOG_NDEBUG) || LOG_NDEBUG == 0
+ if (err == OK) {
+ int64_t timeUs;
+ CHECK((*accessUnit)->meta()->findInt64("timeUs", &timeUs));
+ ALOGV("dequeueAccessUnit timeUs=%lld us", timeUs);
+ }
+#endif
+
+ return err;
}
} // namespace android