diff options
author | Andreas Huber <andih@google.com> | 2012-09-25 14:20:08 -0700 |
---|---|---|
committer | Andreas Huber <andih@google.com> | 2012-09-25 16:05:09 -0700 |
commit | 28e17ed7e2fbb254fb99481b74db85e427c905ee (patch) | |
tree | 8d4af5c5b495452f048a58eccb07736f3c03a30a /media/libstagefright/wifi-display/source/TSPacketizer.cpp | |
parent | 92f655fe351a5f2eb7d36123d2b687d6e7e3e913 (diff) | |
download | frameworks_av-28e17ed7e2fbb254fb99481b74db85e427c905ee.zip frameworks_av-28e17ed7e2fbb254fb99481b74db85e427c905ee.tar.gz frameworks_av-28e17ed7e2fbb254fb99481b74db85e427c905ee.tar.bz2 |
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
Diffstat (limited to 'media/libstagefright/wifi-display/source/TSPacketizer.cpp')
-rw-r--r-- | media/libstagefright/wifi-display/source/TSPacketizer.cpp | 12 |
1 files changed, 4 insertions, 8 deletions
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<ABuffer> 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> &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)); |