videobox: transform_caps : We can only convert AYUV to xRGB

We were previously stating that we could convert AYUV/I420/YV12 to xRGB.
This commit is contained in:
Edward Hervey 2010-04-14 18:13:56 +02:00
parent f30f907c37
commit 146e50455b

View file

@ -1576,18 +1576,21 @@ gst_video_box_transform_caps (GstBaseTransform * trans,
gst_structure_set_value (structure, "format", &list); gst_structure_set_value (structure, "format", &list);
g_value_unset (&list); g_value_unset (&list);
gst_structure_set_name (s2, "video/x-raw-rgb"); /* We can only convert to RGB if input is AYUV */
g_value_init (&list, GST_TYPE_LIST); if (fourcc == GST_STR_FOURCC ("AYUV")) {
g_value_init (&val, G_TYPE_INT); gst_structure_set_name (s2, "video/x-raw-rgb");
g_value_set_int (&val, 32); g_value_init (&list, GST_TYPE_LIST);
gst_value_list_append_value (&list, &val); g_value_init (&val, G_TYPE_INT);
g_value_reset (&val); g_value_set_int (&val, 32);
g_value_set_int (&val, 24); gst_value_list_append_value (&list, &val);
gst_value_list_append_value (&list, &val); g_value_reset (&val);
g_value_unset (&val); g_value_set_int (&val, 24);
gst_structure_set_value (s2, "depth", &list); gst_value_list_append_value (&list, &val);
gst_structure_set_value (s2, "bpp", &list); g_value_unset (&val);
g_value_unset (&list); gst_structure_set_value (s2, "depth", &list);
gst_structure_set_value (s2, "bpp", &list);
g_value_unset (&list);
}
gst_caps_append_structure (to, s2); gst_caps_append_structure (to, s2);
} }
} else if (g_str_equal (name, "video/x-raw-rgb")) { } else if (g_str_equal (name, "video/x-raw-rgb")) {