From 28e17ed7e2fbb254fb99481b74db85e427c905ee Mon Sep 17 00:00:00 2001 From: Andreas Huber Date: Tue, 25 Sep 2012 14:20:08 -0700 Subject: Better transport stream timestamp handling. Properly emit PCR and PMT/PAT updates every 0.1 secs. Don't stream RTCP unless requested by the dongle. related-to-bug: 7232540 Change-Id: Ie9a6949a074d86ab022adfab5d2811294ba746aa --- media/libstagefright/wifi-display/source/TSPacketizer.cpp | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) (limited to 'media/libstagefright/wifi-display/source/TSPacketizer.cpp') diff --git a/media/libstagefright/wifi-display/source/TSPacketizer.cpp b/media/libstagefright/wifi-display/source/TSPacketizer.cpp index 613cc28..bd2f0c3 100644 --- a/media/libstagefright/wifi-display/source/TSPacketizer.cpp +++ b/media/libstagefright/wifi-display/source/TSPacketizer.cpp @@ -283,15 +283,15 @@ status_t TSPacketizer::packetize( const uint8_t *PES_private_data, size_t PES_private_data_len) { sp accessUnit = _accessUnit; + int64_t timeUs; + CHECK(accessUnit->meta()->findInt64("timeUs", &timeUs)); + packets->clear(); if (trackIndex >= mTracks.size()) { return -ERANGE; } - int64_t timeUs; - CHECK(accessUnit->meta()->findInt64("timeUs", &timeUs)); - const sp &track = mTracks.itemAt(trackIndex); if (track->isH264() && !(flags & IS_ENCRYPTED)) { @@ -531,11 +531,7 @@ status_t TSPacketizer::packetize( // reserved = b111111 // program_clock_reference_extension = b????????? -#if 0 int64_t nowUs = ALooper::GetNowUs(); -#else - int64_t nowUs = timeUs; -#endif uint64_t PCR = nowUs * 27; // PCR based on a 27MHz clock uint64_t PCR_base = PCR / 300; @@ -560,7 +556,7 @@ status_t TSPacketizer::packetize( packetDataStart += 188; } - uint32_t PTS = (timeUs * 9ll) / 100ll; + uint64_t PTS = (timeUs * 9ll) / 100ll; bool padding = (PES_packet_length < (188 - 10)); -- cgit v1.1