return TRUE;
}
+ if (vtdec->session)
+ gst_vtdec_invalidate_session (vtdec);
+
vtdec->reorder_queue_frame_delay = 0;
if (!strcmp (caps_name, "video/x-h264")) {
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;
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