Mercurial > libavformat.hg
comparison rtpdec_h264.c @ 5739:84bfac703b3a libavformat
Properly pad H.264 extradata when taken from fmtp SDP attributes
This fixes some valgrind warnings.
author | mstorsjo |
---|---|
date | Wed, 03 Mar 2010 21:00:50 +0000 |
parents | 04b39763b51b |
children | 536e5527c1e0 |
comparison
equal
deleted
inserted
replaced
5738:7152149eb03f | 5739:84bfac703b3a |
---|---|
132 if (*value == ',') | 132 if (*value == ',') |
133 value++; | 133 value++; |
134 | 134 |
135 packet_size= av_base64_decode(decoded_packet, base64packet, sizeof(decoded_packet)); | 135 packet_size= av_base64_decode(decoded_packet, base64packet, sizeof(decoded_packet)); |
136 if (packet_size) { | 136 if (packet_size) { |
137 uint8_t *dest= av_malloc(packet_size+sizeof(start_sequence)+codec->extradata_size); | 137 uint8_t *dest = av_malloc(packet_size + sizeof(start_sequence) + |
138 codec->extradata_size + | |
139 FF_INPUT_BUFFER_PADDING_SIZE); | |
138 if(dest) | 140 if(dest) |
139 { | 141 { |
140 if(codec->extradata_size) | 142 if(codec->extradata_size) |
141 { | 143 { |
142 // av_realloc? | 144 // av_realloc? |
144 av_free(codec->extradata); | 146 av_free(codec->extradata); |
145 } | 147 } |
146 | 148 |
147 memcpy(dest+codec->extradata_size, start_sequence, sizeof(start_sequence)); | 149 memcpy(dest+codec->extradata_size, start_sequence, sizeof(start_sequence)); |
148 memcpy(dest+codec->extradata_size+sizeof(start_sequence), decoded_packet, packet_size); | 150 memcpy(dest+codec->extradata_size+sizeof(start_sequence), decoded_packet, packet_size); |
151 memset(dest+codec->extradata_size+sizeof(start_sequence)+ | |
152 packet_size, 0, FF_INPUT_BUFFER_PADDING_SIZE); | |
149 | 153 |
150 codec->extradata= dest; | 154 codec->extradata= dest; |
151 codec->extradata_size+= sizeof(start_sequence)+packet_size; | 155 codec->extradata_size+= sizeof(start_sequence)+packet_size; |
152 } else { | 156 } else { |
153 av_log(codec, AV_LOG_ERROR, "Unable to allocate memory for extradata!"); | 157 av_log(codec, AV_LOG_ERROR, "Unable to allocate memory for extradata!"); |