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>
int64_t pts_correction_last_dts; /// DTS of the last frame
/**
- * Current frame metadata.
- * - decoding: maintained and used by libavcodec, not intended to be used by user apps
- * - encoding: unused
- */
- AVDictionary *metadata;
-
- /**
* Character encoding of the input subtitles file.
* - decoding: set by user
* - encoding: unused
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)
side_metadata = val + strlen(val) + 1;
}
end:
- avctx->metadata = av_frame_get_metadata(frame);
return ret;
}
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)