diff options
| author | Andreas Huber <andih@google.com> | 2012-09-04 09:35:52 -0700 |
|---|---|---|
| committer | Android Git Automerger <android-git-automerger@android.com> | 2012-09-04 09:35:52 -0700 |
| commit | f5540a1218397e9cc5a381217ffbbc52332cf719 (patch) | |
| tree | 4de3bb1f05ca9e334e886a102ff2623e71f0ca99 /media/libmediaplayerservice | |
| parent | 85c4ee8533bcb172ad1805bf3daa9f9c95c831b3 (diff) | |
| parent | 76fd1ea58835094e84d36f2353d1390c24d14bfc (diff) | |
| download | frameworks_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')
| -rw-r--r-- | media/libmediaplayerservice/nuplayer/StreamingSource.cpp | 22 |
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 |
