[SCM] libav/experimental: Properly pad H.264 extradata when taken from fmtp SDP attributes

siretart at users.alioth.debian.org siretart at users.alioth.debian.org
Sun Jun 30 17:02:45 UTC 2013


The following commit has been merged in the experimental branch:
commit b9b8ed2a0294e00a5415232912c08cf92d5387f4
Author: Martin Storsjö <martin at martin.st>
Date:   Wed Mar 3 21:00:50 2010 +0000

    Properly pad H.264 extradata when taken from fmtp SDP attributes
    
    This fixes some valgrind warnings.
    
    Originally committed as revision 22182 to svn://svn.ffmpeg.org/ffmpeg/trunk

diff --git a/libavformat/rtpdec_h264.c b/libavformat/rtpdec_h264.c
index f41dfdc..970e6fd 100644
--- a/libavformat/rtpdec_h264.c
+++ b/libavformat/rtpdec_h264.c
@@ -134,7 +134,9 @@ static void sdp_parse_fmtp_config_h264(AVStream * stream,
 
             packet_size= av_base64_decode(decoded_packet, base64packet, sizeof(decoded_packet));
             if (packet_size) {
-                uint8_t *dest= av_malloc(packet_size+sizeof(start_sequence)+codec->extradata_size);
+                uint8_t *dest = av_malloc(packet_size + sizeof(start_sequence) +
+                                         codec->extradata_size +
+                                         FF_INPUT_BUFFER_PADDING_SIZE);
                 if(dest)
                 {
                     if(codec->extradata_size)
@@ -146,6 +148,8 @@ static void sdp_parse_fmtp_config_h264(AVStream * stream,
 
                     memcpy(dest+codec->extradata_size, start_sequence, sizeof(start_sequence));
                     memcpy(dest+codec->extradata_size+sizeof(start_sequence), decoded_packet, packet_size);
+                    memset(dest+codec->extradata_size+sizeof(start_sequence)+
+                           packet_size, 0, FF_INPUT_BUFFER_PADDING_SIZE);
 
                     codec->extradata= dest;
                     codec->extradata_size+= sizeof(start_sequence)+packet_size;

-- 
Libav/FFmpeg packaging



More information about the pkg-multimedia-commits mailing list