From 511202d50cc1d4fdf906589ad1ea7a30fa742a23 Mon Sep 17 00:00:00 2001 From: Thibault Saunier Date: Mon, 31 Mar 2014 18:31:22 +0200 Subject: [PATCH] avidemux: Always set pixel-aspect-ratio on raw video streams That field is mandatory in caps and if it is not present in the AVI container, it means square pixels thus 1/1. --- gst/avi/gstavidemux.c | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/gst/avi/gstavidemux.c b/gst/avi/gstavidemux.c index 11bba4fcff..f8f05cd667 100644 --- a/gst/avi/gstavidemux.c +++ b/gst/avi/gstavidemux.c @@ -1944,11 +1944,17 @@ gst_avi_demux_check_caps (GstAviDemux * avi, GstCaps * caps, caps = gst_caps_make_writable (caps); s = gst_caps_get_structure (caps, 0); - if (gst_structure_has_name (s, "video/x-raw") && - gst_structure_has_field_typed (s, "palette_data", GST_TYPE_BUFFER)) { - gst_structure_get (s, "palette_data", GST_TYPE_BUFFER, rgb8_palette, NULL); - gst_structure_remove_field (s, "palette_data"); - return caps; + if (gst_structure_has_name (s, "video/x-raw")) { + stream->is_raw = TRUE; + if (!gst_structure_has_field (s, "pixel-aspect-ratio")) + gst_structure_set (s, "pixel-aspect-ratio", GST_TYPE_FRACTION, + 1, 1, NULL); + if (gst_structure_has_field_typed (s, "palette_data", GST_TYPE_BUFFER)) { + gst_structure_get (s, "palette_data", GST_TYPE_BUFFER, + &stream->rgb8_palette, NULL); + gst_structure_remove_field (s, "palette_data"); + return caps; + } } else if (!gst_structure_has_name (s, "video/x-h264")) { return caps; }