diff options
author | Andreas Huber <andih@google.com> | 2012-10-02 10:16:47 -0700 |
---|---|---|
committer | Andreas Huber <andih@google.com> | 2012-10-02 10:16:47 -0700 |
commit | c6920dfdca378a168a2168f4a64d21af4d37d539 (patch) | |
tree | e446b52f041efc7e5317de4761856bf994526c12 /media/libstagefright/wifi-display/source/TSPacketizer.cpp | |
parent | bd710197a47e3772763c48bfb5d6be21df173a7f (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.cpp | 11 |
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); } |