aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/utils.c
diff options
context:
space:
mode:
authorHendrik Leppkes <h.leppkes@gmail.com>2013-03-13 17:51:06 +0100
committerMichael Niedermayer <michaelni@gmx.at>2013-03-13 20:16:48 +0100
commit84bf1cbef9111341e2030aa91bc8279d08e8b345 (patch)
treeabf3c69680bd6214916e9ceedd7f70f39511ac6c /libavcodec/utils.c
parentde3e0ab35f5e14870e8d14a7e796172b36aba101 (diff)
downloadffmpeg-84bf1cbef9111341e2030aa91bc8279d08e8b345.tar.gz
avcodec: remove AVCodecContext->metadata
This field was only ever set and freed from avcodec, and not otherwise used. However, because frames are refcounted now, avcodec cannot make any assumptions about the lifetime of the frame metadata, which can result in double-frees or leaked memory. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavcodec/utils.c')
-rw-r--r--libavcodec/utils.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index 3a2c82803a..46fc71095e 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -1862,7 +1862,6 @@ static int add_metadata_from_side_data(AVCodecContext *avctx, AVFrame *frame)
const uint8_t *side_metadata;
const uint8_t *end;
- av_dict_free(&avctx->metadata);
side_metadata = av_packet_get_side_data(avctx->pkt,
AV_PKT_DATA_STRINGS_METADATA, &size);
if (!side_metadata)
@@ -1877,7 +1876,6 @@ static int add_metadata_from_side_data(AVCodecContext *avctx, AVFrame *frame)
side_metadata = val + strlen(val) + 1;
}
end:
- avctx->metadata = av_frame_get_metadata(frame);
return ret;
}
@@ -2298,7 +2296,6 @@ av_cold int avcodec_close(AVCodecContext *avctx)
av_buffer_pool_uninit(&pool->pools[i]);
av_freep(&avctx->internal->pool);
av_freep(&avctx->internal);
- av_dict_free(&avctx->metadata);
}
if (avctx->priv_data && avctx->codec && avctx->codec->priv_class)