diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | ext/dv/gstdvdec.c | 12 |
2 files changed, 13 insertions, 5 deletions
@@ -1,3 +1,9 @@ +2005-11-26 Edward Hervey <edward@fluendo.com> + + * ext/dv/gstdvdec.c: (gst_dvdec_sink_setcaps): + Handle the case where the incoming Video dv stream doesn't have + a pixel aspect ratio set. + 2005-11-25 Thomas Vander Stichele <thomas at apestaart dot org> * docs/plugins/Makefile.am: diff --git a/ext/dv/gstdvdec.c b/ext/dv/gstdvdec.c index c0007d17..917fa716 100644 --- a/ext/dv/gstdvdec.c +++ b/ext/dv/gstdvdec.c @@ -203,7 +203,8 @@ gst_dvdec_sink_setcaps (GstPad * pad, GstCaps * caps) GstDVDec *dvdec; GstStructure *s; GstCaps *othercaps; - const GValue *par, *rate; + gboolean gotpar = FALSE; + const GValue *par = NULL, *rate = NULL; dvdec = GST_DVDEC (gst_pad_get_parent (pad)); @@ -212,8 +213,8 @@ gst_dvdec_sink_setcaps (GstPad * pad, GstCaps * caps) if (!gst_structure_get_int (s, "height", &dvdec->height)) goto error; - if (!(par = gst_structure_get_value (s, "pixel-aspect-ratio"))) - goto error; + if ((par = gst_structure_get_value (s, "pixel-aspect-ratio"))) + gotpar = TRUE; if (!(rate = gst_structure_get_value (s, "framerate"))) goto error; @@ -230,8 +231,9 @@ gst_dvdec_sink_setcaps (GstPad * pad, GstCaps * caps) "height", G_TYPE_INT, dvdec->height, "framerate", GST_TYPE_FRACTION, dvdec->framerate_numerator, dvdec->framerate_denominator, NULL); - gst_structure_set_value (gst_caps_get_structure (othercaps, 0), - "pixel-aspect-ratio", par); + if (gotpar) + gst_structure_set_value (gst_caps_get_structure (othercaps, 0), + "pixel-aspect-ratio", par); gst_pad_set_caps (dvdec->srcpad, othercaps); |