Commit 31aafdac authored by James Almer's avatar James Almer

avformat/options: don't call avformat_free_context() within avformat_alloc_context()

avformat_free_context() expects AVFormatContext->internal to not be NULL.
Reviewed-by: 's avatarAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Signed-off-by: 's avatarJames Almer <jamrial@gmail.com>
parent 90e37ada
...@@ -144,15 +144,17 @@ static void avformat_get_context_defaults(AVFormatContext *s) ...@@ -144,15 +144,17 @@ static void avformat_get_context_defaults(AVFormatContext *s)
AVFormatContext *avformat_alloc_context(void) AVFormatContext *avformat_alloc_context(void)
{ {
AVFormatContext *ic; AVFormatContext *ic;
AVFormatInternal *internal;
ic = av_malloc(sizeof(AVFormatContext)); ic = av_malloc(sizeof(AVFormatContext));
if (!ic) return ic; if (!ic) return ic;
avformat_get_context_defaults(ic);
ic->internal = av_mallocz(sizeof(*ic->internal)); internal = av_mallocz(sizeof(*internal));
if (!ic->internal) { if (!internal) {
avformat_free_context(ic); av_free(ic);
return NULL; return NULL;
} }
avformat_get_context_defaults(ic);
ic->internal = internal;
ic->internal->offset = AV_NOPTS_VALUE; ic->internal->offset = AV_NOPTS_VALUE;
ic->internal->raw_packet_buffer_remaining_size = RAW_PACKET_BUFFER_SIZE; ic->internal->raw_packet_buffer_remaining_size = RAW_PACKET_BUFFER_SIZE;
ic->internal->shortest_end = AV_NOPTS_VALUE; ic->internal->shortest_end = AV_NOPTS_VALUE;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment