videoflip: Use gst_video_orientation_from_tag to parse orientation

Signed-off-by: Colin Kinloch <colin.kinloch@collabora.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3053>
This commit is contained in:
Colin Kinloch 2022-09-19 18:06:44 +01:00 committed by GStreamer Marge Bot
parent d54e597278
commit d7aba91518

View file

@ -1777,7 +1777,7 @@ gst_video_flip_sink_event (GstBaseTransform * trans, GstEvent * event)
{ {
GstVideoFlip *vf = GST_VIDEO_FLIP (trans); GstVideoFlip *vf = GST_VIDEO_FLIP (trans);
GstTagList *taglist; GstTagList *taglist;
gchar *orientation; GstVideoOrientationMethod method;
gboolean ret; gboolean ret;
GST_DEBUG_OBJECT (vf, "handling %s event", GST_EVENT_TYPE_NAME (event)); GST_DEBUG_OBJECT (vf, "handling %s event", GST_EVENT_TYPE_NAME (event));
@ -1786,25 +1786,8 @@ gst_video_flip_sink_event (GstBaseTransform * trans, GstEvent * event)
case GST_EVENT_TAG: case GST_EVENT_TAG:
gst_event_parse_tag (event, &taglist); gst_event_parse_tag (event, &taglist);
if (gst_tag_list_get_string (taglist, "image-orientation", &orientation)) { if (gst_video_orientation_from_tag (taglist, &method)) {
if (!g_strcmp0 ("rotate-0", orientation)) gst_video_flip_set_method (vf, method, TRUE);
gst_video_flip_set_method (vf, GST_VIDEO_ORIENTATION_IDENTITY, TRUE);
else if (!g_strcmp0 ("rotate-90", orientation))
gst_video_flip_set_method (vf, GST_VIDEO_ORIENTATION_90R, TRUE);
else if (!g_strcmp0 ("rotate-180", orientation))
gst_video_flip_set_method (vf, GST_VIDEO_ORIENTATION_180, TRUE);
else if (!g_strcmp0 ("rotate-270", orientation))
gst_video_flip_set_method (vf, GST_VIDEO_ORIENTATION_90L, TRUE);
else if (!g_strcmp0 ("flip-rotate-0", orientation))
gst_video_flip_set_method (vf, GST_VIDEO_ORIENTATION_HORIZ, TRUE);
else if (!g_strcmp0 ("flip-rotate-90", orientation))
gst_video_flip_set_method (vf, GST_VIDEO_ORIENTATION_UL_LR, TRUE);
else if (!g_strcmp0 ("flip-rotate-180", orientation))
gst_video_flip_set_method (vf, GST_VIDEO_ORIENTATION_VERT, TRUE);
else if (!g_strcmp0 ("flip-rotate-270", orientation))
gst_video_flip_set_method (vf, GST_VIDEO_ORIENTATION_UR_LL, TRUE);
g_free (orientation);
} }
break; break;
default: default: