Use "format" field instead of videoinfo 77/268177/2 accepted/tizen/unified/20211227.122813 submit/tizen/20211224.032621
authorJeongmo Yang <jm80.yang@samsung.com>
Thu, 16 Dec 2021 12:28:32 +0000 (21:28 +0900)
committerJeongmo Yang <jm80.yang@samsung.com>
Thu, 23 Dec 2021 06:29:04 +0000 (15:29 +0900)
- 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 <jm80.yang@samsung.com>
packaging/libmm-camcorder.spec
src/mm_camcorder_util.c

index d1d3d1f94345807525617daba3113aef4cd854ee..71aadbf1b7c9526d11cf54a3e0a0516b9559ab92 100755 (executable)
@@ -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
index 5b832040c8124cd1c4a392722a42afbcac5766e8..b3ab5a51a3d69cf5a282e76ad1af24c509c77134 100644 (file)
@@ -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));
 }