Message ID | 20161226213622.1688-1-jamrial@gmail.com |
---|---|
State | Accepted |
Headers | show |
On 12/26/2016 6:36 PM, James Almer wrote: > Signed-off-by: James Almer <jamrial@gmail.com> > --- > ffmpeg.c | 17 ++++------------- > 1 file changed, 4 insertions(+), 13 deletions(-) > > diff --git a/ffmpeg.c b/ffmpeg.c > index ec9da3e..a1c02ca 100644 > --- a/ffmpeg.c > +++ b/ffmpeg.c > @@ -2916,26 +2916,17 @@ static int init_output_stream_streamcopy(OutputStream *ost) > ost->st->disposition = ist->st->disposition; > > if (ist->st->nb_side_data) { > - ost->st->side_data = av_realloc_array(NULL, ist->st->nb_side_data, > - sizeof(*ist->st->side_data)); > - if (!ost->st->side_data) > - return AVERROR(ENOMEM); > - > - ost->st->nb_side_data = 0; > for (i = 0; i < ist->st->nb_side_data; i++) { > const AVPacketSideData *sd_src = &ist->st->side_data[i]; > - AVPacketSideData *sd_dst = &ost->st->side_data[ost->st->nb_side_data]; > + uint8_t *dst_data; > > if (ost->rotate_overridden && sd_src->type == AV_PKT_DATA_DISPLAYMATRIX) > continue; > > - sd_dst->data = av_malloc(sd_src->size); > - if (!sd_dst->data) > + dst_data = av_stream_new_side_data(ost->st, sd_src->type, sd_src->size); > + if (!dst_data) > return AVERROR(ENOMEM); > - memcpy(sd_dst->data, sd_src->data, sd_src->size); > - sd_dst->size = sd_src->size; > - sd_dst->type = sd_src->type; > - ost->st->nb_side_data++; > + memcpy(dst_data, sd_src->data, sd_src->size); > } > } Pushed.
diff --git a/ffmpeg.c b/ffmpeg.c index ec9da3e..a1c02ca 100644 --- a/ffmpeg.c +++ b/ffmpeg.c @@ -2916,26 +2916,17 @@ static int init_output_stream_streamcopy(OutputStream *ost) ost->st->disposition = ist->st->disposition; if (ist->st->nb_side_data) { - ost->st->side_data = av_realloc_array(NULL, ist->st->nb_side_data, - sizeof(*ist->st->side_data)); - if (!ost->st->side_data) - return AVERROR(ENOMEM); - - ost->st->nb_side_data = 0; for (i = 0; i < ist->st->nb_side_data; i++) { const AVPacketSideData *sd_src = &ist->st->side_data[i]; - AVPacketSideData *sd_dst = &ost->st->side_data[ost->st->nb_side_data]; + uint8_t *dst_data; if (ost->rotate_overridden && sd_src->type == AV_PKT_DATA_DISPLAYMATRIX) continue; - sd_dst->data = av_malloc(sd_src->size); - if (!sd_dst->data) + dst_data = av_stream_new_side_data(ost->st, sd_src->type, sd_src->size); + if (!dst_data) return AVERROR(ENOMEM); - memcpy(sd_dst->data, sd_src->data, sd_src->size); - sd_dst->size = sd_src->size; - sd_dst->type = sd_src->type; - ost->st->nb_side_data++; + memcpy(dst_data, sd_src->data, sd_src->size); } }
Signed-off-by: James Almer <jamrial@gmail.com> --- ffmpeg.c | 17 ++++------------- 1 file changed, 4 insertions(+), 13 deletions(-)