summaryrefslogtreecommitdiff
path: root/src/libffmpeg/ff_video_decoder.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/libffmpeg/ff_video_decoder.c')
-rw-r--r--src/libffmpeg/ff_video_decoder.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/src/libffmpeg/ff_video_decoder.c b/src/libffmpeg/ff_video_decoder.c
index 8fc9cc8cb..1e32ad3a6 100644
--- a/src/libffmpeg/ff_video_decoder.c
+++ b/src/libffmpeg/ff_video_decoder.c
@@ -215,12 +215,14 @@ static void release_buffer(struct AVCodecContext *context, AVFrame *av_frame){
ff_video_decoder_t *this = (ff_video_decoder_t *)context->opaque;
if (av_frame->type == FF_BUFFER_TYPE_USER) {
- vo_frame_t *img = (vo_frame_t *)av_frame->opaque;
+ if ( av_frame->opaque ) {
+ vo_frame_t *img = (vo_frame_t *)av_frame->opaque;
+
+ img->free(img);
+ }
+
xine_list_iterator_t it;
- assert(av_frame->opaque);
- img->free(img);
-
it = xine_list_find(this->dr1_frames, av_frame);
assert(it);
if( it != NULL )