From 6a1f5f90e40bbbb0635af9bf0addace723dccb77 Mon Sep 17 00:00:00 2001 From: Andreas Huber Date: Mon, 15 Nov 2010 09:03:03 -0800 Subject: More HTTP live support, AES encryption etc. Change-Id: Ia5088042dd0a2181cb73cf8c7a2ff81e34b3064c related-to-bug: 2368598 --- media/libstagefright/mpeg2ts/ATSParser.cpp | 9 +++++++-- media/libstagefright/mpeg2ts/ESQueue.cpp | 5 ++++- 2 files changed, 11 insertions(+), 3 deletions(-) (limited to 'media/libstagefright/mpeg2ts') diff --git a/media/libstagefright/mpeg2ts/ATSParser.cpp b/media/libstagefright/mpeg2ts/ATSParser.cpp index c88c6c1..f06a1bb 100644 --- a/media/libstagefright/mpeg2ts/ATSParser.cpp +++ b/media/libstagefright/mpeg2ts/ATSParser.cpp @@ -274,6 +274,8 @@ ATSParser::Stream::Stream( mQueue(streamType == 0x1b ? ElementaryStreamQueue::H264 : ElementaryStreamQueue::AAC) { mBuffer->setRange(0, 0); + + LOGV("new stream PID 0x%02x, type 0x%02x", elementaryPID, streamType); } ATSParser::Stream::~Stream() { @@ -307,7 +309,8 @@ void ATSParser::Stream::parse( } void ATSParser::Stream::signalDiscontinuity(bool isASeek) { - LOGV("Stream discontinuity"); + isASeek = false; // Always signal a "real" discontinuity + mPayloadStarted = false; mBuffer->setRange(0, 0); @@ -317,7 +320,9 @@ void ATSParser::Stream::signalDiscontinuity(bool isASeek) { // This is only a "minor" discontinuity, we stay within the same // bitstream. - mSource->clear(); + if (mSource != NULL) { + mSource->clear(); + } return; } diff --git a/media/libstagefright/mpeg2ts/ESQueue.cpp b/media/libstagefright/mpeg2ts/ESQueue.cpp index b0b9e66..f11b3c3 100644 --- a/media/libstagefright/mpeg2ts/ESQueue.cpp +++ b/media/libstagefright/mpeg2ts/ESQueue.cpp @@ -41,7 +41,10 @@ sp ElementaryStreamQueue::getFormat() { } void ElementaryStreamQueue::clear() { - mBuffer->setRange(0, 0); + if (mBuffer != NULL) { + mBuffer->setRange(0, 0); + } + mTimestamps.clear(); mFormat.clear(); } -- cgit v1.1