glimagesink: Use the API to parse the image orientation
authorOlivier CrĂȘte <olivier.crete@collabora.com>
Tue, 4 May 2021 19:51:13 +0000 (15:51 -0400)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Tue, 12 Oct 2021 20:27:34 +0000 (20:27 +0000)
This will reduce the code duplication a little.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1088>

subprojects/gst-plugins-base/ext/gl/gstglimagesink.c

index eecf89b..35f24af 100644 (file)
@@ -1114,7 +1114,7 @@ gst_glimage_sink_event (GstBaseSink * sink, GstEvent * event)
 {
   GstGLImageSink *gl_sink = GST_GLIMAGE_SINK (sink);
   GstTagList *taglist;
-  gchar *orientation;
+  GstVideoOrientationMethod method;
   gboolean ret;
 
   GST_DEBUG_OBJECT (gl_sink, "handling %s event", GST_EVENT_TYPE_NAME (event));
@@ -1123,34 +1123,9 @@ gst_glimage_sink_event (GstBaseSink * sink, GstEvent * event)
     case GST_EVENT_TAG:
       gst_event_parse_tag (event, &taglist);
 
-      if (gst_tag_list_get_string (taglist, "image-orientation", &orientation)) {
-        if (!g_strcmp0 ("rotate-0", orientation))
-          gst_glimage_sink_set_rotate_method (gl_sink,
-              GST_VIDEO_ORIENTATION_IDENTITY, TRUE);
-        else if (!g_strcmp0 ("rotate-90", orientation))
-          gst_glimage_sink_set_rotate_method (gl_sink,
-              GST_VIDEO_ORIENTATION_90R, TRUE);
-        else if (!g_strcmp0 ("rotate-180", orientation))
-          gst_glimage_sink_set_rotate_method (gl_sink,
-              GST_VIDEO_ORIENTATION_180, TRUE);
-        else if (!g_strcmp0 ("rotate-270", orientation))
-          gst_glimage_sink_set_rotate_method (gl_sink,
-              GST_VIDEO_ORIENTATION_90L, TRUE);
-        else if (!g_strcmp0 ("flip-rotate-0", orientation))
-          gst_glimage_sink_set_rotate_method (gl_sink,
-              GST_VIDEO_ORIENTATION_HORIZ, TRUE);
-        else if (!g_strcmp0 ("flip-rotate-90", orientation))
-          gst_glimage_sink_set_rotate_method (gl_sink,
-              GST_VIDEO_ORIENTATION_UR_LL, TRUE);
-        else if (!g_strcmp0 ("flip-rotate-180", orientation))
-          gst_glimage_sink_set_rotate_method (gl_sink,
-              GST_VIDEO_ORIENTATION_VERT, TRUE);
-        else if (!g_strcmp0 ("flip-rotate-270", orientation))
-          gst_glimage_sink_set_rotate_method (gl_sink,
-              GST_VIDEO_ORIENTATION_UL_LR, TRUE);
-
-        g_free (orientation);
-      }
+      if (gst_video_orientation_from_tag (taglist, &method))
+        gst_glimage_sink_set_rotate_method (gl_sink, method, TRUE);
+
       break;
     default:
       break;