From 587973e783dd543accbf511fc2afe37c420bdf3a Mon Sep 17 00:00:00 2001 From: Edward Hervey Date: Sat, 26 Nov 2005 12:54:47 +0000 Subject: ext/dv/gstdvdec.c: Handle the case where the incoming Video dv stream doesn't have a pixel aspect ratio set. Original commit message from CVS: * 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. --- ext/dv/gstdvdec.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'ext/dv') 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); -- cgit