summaryrefslogtreecommitdiffstats
path: root/media/libstagefright/wifi-display/source/TSPacketizer.cpp
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2012-09-25 14:20:08 -0700
committerAndreas Huber <andih@google.com>2012-09-25 16:05:09 -0700
commit28e17ed7e2fbb254fb99481b74db85e427c905ee (patch)
tree8d4af5c5b495452f048a58eccb07736f3c03a30a /media/libstagefright/wifi-display/source/TSPacketizer.cpp
parent92f655fe351a5f2eb7d36123d2b687d6e7e3e913 (diff)
downloadframeworks_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.cpp12
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));