summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavformat/mov.c18
1 files changed, 5 insertions, 13 deletions
diff --git a/libavformat/mov.c b/libavformat/mov.c
index df29f2a605..28adce76c3 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -3545,20 +3545,12 @@ static int mov_read_header(AVFormatContext *s)
break;
case AVMEDIA_TYPE_VIDEO:
if (sc->display_matrix) {
- AVPacketSideData *sd, *tmp;
-
- tmp = av_realloc_array(st->side_data,
- st->nb_side_data + 1, sizeof(*tmp));
- if (!tmp)
- return AVERROR(ENOMEM);
-
- st->side_data = tmp;
- st->nb_side_data++;
+ err = av_stream_add_side_data(st, AV_PKT_DATA_DISPLAYMATRIX,
+ (uint8_t *)sc->display_matrix,
+ sizeof(int32_t) * 9);
+ if (err < 0)
+ return err;
- sd = &st->side_data[st->nb_side_data - 1];
- sd->type = AV_PKT_DATA_DISPLAYMATRIX;
- sd->size = sizeof(int32_t) * 9;
- sd->data = (uint8_t*)sc->display_matrix;
sc->display_matrix = NULL;
}
break;