mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-28 18:18:38 +00:00
videoflip: fix critical when tag list is not writable
Fix this pipeline where the tag list is not writable: gst-launch-1.0 videotestsrc ! taginject tags="image-orientation=rotate-90" ! videoflip video-direction=auto \ ! autovideosink GStreamer-CRITICAL **: 12:34:36.310: gst_tag_list_add: assertion 'gst_tag_list_is_writable (list)' failed Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/4990>
This commit is contained in:
parent
f38e8db249
commit
4c77bc2161
1 changed files with 12 additions and 2 deletions
|
@ -1791,8 +1791,18 @@ gst_video_flip_sink_event (GstBaseTransform * trans, GstEvent * event)
|
|||
|
||||
if (vf->method == GST_VIDEO_ORIENTATION_AUTO) {
|
||||
/* update the orientation tag as we rotate the video accordingly */
|
||||
gst_tag_list_add (taglist, GST_TAG_MERGE_REPLACE, "image-orientation",
|
||||
"rotate-0", NULL);
|
||||
if (gst_tag_list_is_writable (taglist)) {
|
||||
gst_tag_list_add (taglist, GST_TAG_MERGE_REPLACE,
|
||||
"image-orientation", "rotate-0", NULL);
|
||||
} else {
|
||||
taglist = gst_tag_list_copy (taglist);
|
||||
|
||||
gst_tag_list_add (taglist, GST_TAG_MERGE_REPLACE,
|
||||
"image-orientation", "rotate-0", NULL);
|
||||
|
||||
gst_event_unref (event);
|
||||
event = gst_event_new_tag (taglist);
|
||||
}
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
|
Loading…
Reference in a new issue