|
@@ -296,7 +296,18 @@ int av_packet_add_side_data(AVPacket *pkt, enum AVPacketSideDataType type, |
|
|
uint8_t *data, size_t size) |
|
|
uint8_t *data, size_t size) |
|
|
{ |
|
|
{ |
|
|
AVPacketSideData *tmp; |
|
|
AVPacketSideData *tmp; |
|
|
int elems = pkt->side_data_elems; |
|
|
|
|
|
|
|
|
int i, elems = pkt->side_data_elems; |
|
|
|
|
|
|
|
|
|
|
|
for (i = 0; i < elems; i++) { |
|
|
|
|
|
AVPacketSideData *sd = &pkt->side_data[i]; |
|
|
|
|
|
|
|
|
|
|
|
if (sd->type == type) { |
|
|
|
|
|
av_free(sd->data); |
|
|
|
|
|
sd->data = data; |
|
|
|
|
|
sd->size = size; |
|
|
|
|
|
return 0; |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
if ((unsigned)elems + 1 > AV_PKT_DATA_NB) |
|
|
if ((unsigned)elems + 1 > AV_PKT_DATA_NB) |
|
|
return AVERROR(ERANGE); |
|
|
return AVERROR(ERANGE); |
|
|