diff options
author | Marco Nelissen <marcone@google.com> | 2015-04-16 19:25:50 +0000 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2015-04-16 19:25:50 +0000 |
commit | ff9863b206cd5d1e856dbfdf66bc85581aee7608 (patch) | |
tree | d0b99acf32a9e6e2032db8b46789c6d5de8c5b2f /media/libstagefright/mpeg2ts/ATSParser.cpp | |
parent | c224ec53a17994fa97ab2f29304647c9f195c51c (diff) | |
parent | 6705a49f6481ad1728215a2a72472fe43c786cd0 (diff) | |
download | frameworks_av-ff9863b206cd5d1e856dbfdf66bc85581aee7608.zip frameworks_av-ff9863b206cd5d1e856dbfdf66bc85581aee7608.tar.gz frameworks_av-ff9863b206cd5d1e856dbfdf66bc85581aee7608.tar.bz2 |
am 6705a49f: am 541a9ac7: am 8cd4132a: am 3f22f5a2: Merge "Signal EOS at end of mpeg video to flush out final sample"
* commit '6705a49f6481ad1728215a2a72472fe43c786cd0':
Signal EOS at end of mpeg video to flush out final sample
Diffstat (limited to 'media/libstagefright/mpeg2ts/ATSParser.cpp')
-rw-r--r-- | media/libstagefright/mpeg2ts/ATSParser.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/media/libstagefright/mpeg2ts/ATSParser.cpp b/media/libstagefright/mpeg2ts/ATSParser.cpp index 0a868bc..14ae81c 100644 --- a/media/libstagefright/mpeg2ts/ATSParser.cpp +++ b/media/libstagefright/mpeg2ts/ATSParser.cpp @@ -146,6 +146,7 @@ private: sp<ABuffer> mBuffer; sp<AnotherPacketSource> mSource; bool mPayloadStarted; + bool mEOSReached; uint64_t mPrevPTS; @@ -567,6 +568,7 @@ ATSParser::Stream::Stream( mPCR_PID(PCR_PID), mExpectedContinuityCounter(-1), mPayloadStarted(false), + mEOSReached(false), mPrevPTS(0), mQueue(NULL) { switch (mStreamType) { @@ -766,6 +768,8 @@ void ATSParser::Stream::signalEOS(status_t finalResult) { if (mSource != NULL) { mSource->signalEOS(finalResult); } + mEOSReached = true; + flush(); } status_t ATSParser::Stream::parsePES(ABitReader *br) { @@ -976,6 +980,10 @@ void ATSParser::Stream::onPayloadData( status_t err = mQueue->appendData(data, size, timeUs); + if (mEOSReached) { + mQueue->signalEOS(); + } + if (err != OK) { return; } |