summaryrefslogtreecommitdiff
path: root/media/libstagefright/wifi-display/source/TSPacketizer.cpp
diff options
context:
space:
mode:
authorAndreas Huber <andih@google.com>2012-10-02 10:16:47 -0700
committerAndreas Huber <andih@google.com>2012-10-02 10:16:47 -0700
commitc6920dfdca378a168a2168f4a64d21af4d37d539 (patch)
treee446b52f041efc7e5317de4761856bf994526c12 /media/libstagefright/wifi-display/source/TSPacketizer.cpp
parentbd710197a47e3772763c48bfb5d6be21df173a7f (diff)
Take advantage of the hardware encoder's ability to prepend SPS/PPS
to IDR frames instead of doing it manually. Change-Id: I994cfbd6539013406dd610393ba1f0b9a0dbf4d5 related-to-bug: 7245308
Diffstat (limited to 'media/libstagefright/wifi-display/source/TSPacketizer.cpp')
-rw-r--r--media/libstagefright/wifi-display/source/TSPacketizer.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/media/libstagefright/wifi-display/source/TSPacketizer.cpp b/media/libstagefright/wifi-display/source/TSPacketizer.cpp
index dd189981..e5abd57d 100644
--- a/media/libstagefright/wifi-display/source/TSPacketizer.cpp
+++ b/media/libstagefright/wifi-display/source/TSPacketizer.cpp
@@ -294,12 +294,11 @@ status_t TSPacketizer::packetize(
const sp<Track> &track = mTracks.itemAt(trackIndex);
- if (track->isH264() && !(flags & IS_ENCRYPTED)) {
- if (IsIDR(accessUnit)) {
- // prepend codec specific data, i.e. SPS and PPS.
- accessUnit = track->prependCSD(accessUnit);
- }
- } else if (track->lacksADTSHeader()) {
+ if (track->isH264() && (flags & PREPEND_SPS_PPS_TO_IDR_FRAMES)
+ && IsIDR(accessUnit)) {
+ // prepend codec specific data, i.e. SPS and PPS.
+ accessUnit = track->prependCSD(accessUnit);
+ } else if (track->isAudio() && track->lacksADTSHeader()) {
CHECK(!(flags & IS_ENCRYPTED));
accessUnit = track->prependADTSHeader(accessUnit);
}