From 938ce6a23d5b7d200a40c0b82ca212135df5abb5 Mon Sep 17 00:00:00 2001 From: Alessandro Decina Date: Sun, 8 Dec 2013 15:25:27 +0100 Subject: [PATCH] applemedia: vtdec: make jpeg decoding actually work --- sys/applemedia/vtdec.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/sys/applemedia/vtdec.c b/sys/applemedia/vtdec.c index 68ad6c9fb2..3575fabb95 100644 --- a/sys/applemedia/vtdec.c +++ b/sys/applemedia/vtdec.c @@ -188,6 +188,9 @@ gst_vtdec_set_format (GstVideoDecoder * decoder, GstVideoCodecState * state) return TRUE; } + if (vtdec->session) + gst_vtdec_invalidate_session (vtdec); + vtdec->reorder_queue_frame_delay = 0; if (!strcmp (caps_name, "video/x-h264")) { @@ -208,9 +211,6 @@ gst_vtdec_set_format (GstVideoDecoder * decoder, GstVideoCodecState * state) format_description = create_format_description (vtdec, cm_format); } - if (vtdec->session) - gst_vtdec_invalidate_session (vtdec); - if (vtdec->format_description) CFRelease (vtdec->format_description); vtdec->format_description = format_description; @@ -346,7 +346,16 @@ gst_vtdec_invalidate_session (GstVtdec * vtdec) static CMFormatDescriptionRef create_format_description (GstVtdec * vtdec, CMVideoCodecType cm_format) { - return NULL; + OSStatus status; + CMFormatDescriptionRef format_description; + + status = CMVideoFormatDescriptionCreate (NULL, + cm_format, vtdec->video_info.width, vtdec->video_info.height, + NULL, &format_description); + if (status != noErr) + return NULL; + + return format_description; } static CMFormatDescriptionRef