avcodec/utils: Fix ff_add_cpb_side_data() add twice
authorNicolas Gaullier <nicolas.gaullier@cji.paris>
Thu, 5 Mar 2020 08:17:23 +0000 (09:17 +0100)
committerAnton Khirnov <anton@khirnov.net>
Fri, 20 Mar 2020 08:16:05 +0000 (09:16 +0100)
Makes it behave similarly to av_stream_add_side_data().

Signed-off-by: Anton Khirnov <anton@khirnov.net>
libavcodec/utils.c

index 66bfdaf..4ab8cff 100644 (file)
@@ -1981,6 +1981,11 @@ AVCPBProperties *ff_add_cpb_side_data(AVCodecContext *avctx)
     AVPacketSideData *tmp;
     AVCPBProperties  *props;
     size_t size;
+    int i;
+
+    for (i = 0; i < avctx->nb_coded_side_data; i++)
+        if (avctx->coded_side_data[i].type == AV_PKT_DATA_CPB_PROPERTIES)
+            return (AVCPBProperties *)avctx->coded_side_data[i].data;
 
     props = av_cpb_properties_alloc(&size);
     if (!props)