From: Alessandro Decina Date: Sun, 8 Dec 2013 14:25:27 +0000 (+0100) Subject: applemedia: vtdec: make jpeg decoding actually work X-Git-Tag: 1.19.3~507^2~12887 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=938ce6a23d5b7d200a40c0b82ca212135df5abb5;p=platform%2Fupstream%2Fgstreamer.git applemedia: vtdec: make jpeg decoding actually work --- diff --git a/sys/applemedia/vtdec.c b/sys/applemedia/vtdec.c index 68ad6c9..3575fab 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