From: Jeongmo Yang Date: Thu, 16 Dec 2021 12:28:32 +0000 (+0900) Subject: Use "format" field instead of videoinfo X-Git-Tag: submit/tizen/20211224.032621^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=aa32cd12a19d2e6e754fad5a3c183ead05fa5ead;p=platform%2Fcore%2Fmultimedia%2Flibmm-camcorder.git Use "format" field instead of videoinfo - The gst_video_info_from_caps() could be failed when caps is not fixed. But, the "format" field is fixed and available, so we can use it. [Version] 0.10.250 [Issue Type] Improvement Change-Id: I2d663e699ad71ca6ced9ddc13232faa0ddd7d0bf Signed-off-by: Jeongmo Yang --- diff --git a/packaging/libmm-camcorder.spec b/packaging/libmm-camcorder.spec index d1d3d1f..71aadbf 100755 --- a/packaging/libmm-camcorder.spec +++ b/packaging/libmm-camcorder.spec @@ -1,6 +1,6 @@ Name: libmm-camcorder Summary: Camera and recorder library -Version: 0.10.249 +Version: 0.10.250 Release: 0 Group: Multimedia/Libraries License: Apache-2.0 diff --git a/src/mm_camcorder_util.c b/src/mm_camcorder_util.c index 5b83204..b3ab5a5 100644 --- a/src/mm_camcorder_util.c +++ b/src/mm_camcorder_util.c @@ -1531,7 +1531,7 @@ int _mmcamcorder_get_pixel_format(GstCaps *caps) { gchar *caps_string = NULL; const char *media_type; - GstVideoInfo vinfo; + const char *format; mmf_return_val_if_fail(caps != NULL, MM_PIXEL_FORMAT_INVALID); @@ -1558,18 +1558,16 @@ int _mmcamcorder_get_pixel_format(GstCaps *caps) 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)); }