diff --git a/ChangeLog b/ChangeLog index 2aa45435c3..1278b0607b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2005-11-26 Edward Hervey + + * 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 * docs/plugins/Makefile.am: diff --git a/ext/dv/gstdvdec.c b/ext/dv/gstdvdec.c index c0007d1757..917fa71645 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);