if (method == GST_VIDEO_ORIENTATION_CUSTOM) {
GST_WARNING_OBJECT (gst_widget, "unsupported custom orientation");
return;
+ } else if (method == GST_VIDEO_ORIENTATION_AUTO && from_tag) {
+ GST_WARNING_OBJECT (gst_widget, "auto orientation cannot come from a tag");
+ return;
}
GTK_GST_BASE_WIDGET_LOCK (gst_widget);
else
method = priv->rotate_method;
+ /* We can't apply an AUTO orientation if we don't have an
+ * orientation coming from a tag, so reset to identity */
+ if (method != priv->current_rotate_method &&
+ method == GST_VIDEO_ORIENTATION_AUTO)
+ method = GST_VIDEO_ORIENTATION_IDENTITY;
+
if (method != priv->current_rotate_method) {
GST_DEBUG ("Changing method from %d to %d",
priv->current_rotate_method, method);