{
gchar *caps_string = NULL;
const char *media_type;
- GstVideoInfo vinfo;
+ const char *format;
mmf_return_val_if_fail(caps != NULL, MM_PIXEL_FORMAT_INVALID);
else if (!strcmp(media_type, "video/x-vp9"))
return MM_PIXEL_FORMAT_ENCODED_VP9;
- if (gst_video_info_from_caps(&vinfo, caps)) {
- if (GST_VIDEO_INFO_IS_YUV(&vinfo))
- return _mmcamcorder_get_pixtype(gst_video_format_to_fourcc(GST_VIDEO_INFO_FORMAT(&vinfo)));
- else if (GST_VIDEO_INFO_IS_RGB(&vinfo))
- return MM_PIXEL_FORMAT_RGB888;
- }
+ format = gst_structure_get_string(gst_caps_get_structure(caps, 0), "format");
+ if (!format) {
+ caps_string = gst_caps_to_string(caps);
+ MMCAM_LOG_ERROR("unsupported caps[%s]", caps_string);
+ g_free(caps_string);
- caps_string = gst_caps_to_string(caps);
- MMCAM_LOG_ERROR("unsupported caps[%s]", caps_string);
- g_free(caps_string);
+ return MM_PIXEL_FORMAT_INVALID;
+ }
- return MM_PIXEL_FORMAT_INVALID;
+ return _mmcamcorder_get_pixtype(GST_STR_FOURCC(format));
}