From 740ad5455d601df58412d0e01769d6d280359f2c Mon Sep 17 00:00:00 2001 From: David Schleef Date: Sat, 6 Mar 2004 01:01:28 +0000 Subject: [PATCH] gst/udp/gstudpsrc.c: Check for unfixed caps and throw an element error. (bug #136334) Original commit message from CVS: * gst/udp/gstudpsrc.c: (gst_udpsrc_get): Check for unfixed caps and throw an element error. (bug #136334) --- ChangeLog | 5 +++++ gst/udp/gstudpsrc.c | 10 +++++++++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 4c0a2cf10f..4e3e48d0b9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2004-03-05 David Schleef + + * gst/udp/gstudpsrc.c: (gst_udpsrc_get): Check for unfixed + caps and throw an element error. (bug #136334) + 2004-03-05 David Schleef * ext/faad/gstfaad.c: (gst_faad_init), (gst_faad_srcgetcaps), diff --git a/gst/udp/gstudpsrc.c b/gst/udp/gstudpsrc.c index 6aced2816b..66bcd2682a 100644 --- a/gst/udp/gstudpsrc.c +++ b/gst/udp/gstudpsrc.c @@ -234,9 +234,17 @@ gst_udpsrc_get (GstPad *pad) buf[ret] = '\0'; doc = xmlParseMemory(buf, ret); caps = gst_caps_load_thyself(doc->xmlRootNode); + if (caps == NULL) { + return NULL; + } /* foward the connect, we don't signal back the result here... */ - gst_pad_try_set_caps (udpsrc->srcpad, caps); + if (gst_caps_is_fixed (caps)) { + gst_pad_try_set_caps (udpsrc->srcpad, caps); + } else { + GST_ERROR ("caps %" GST_PTR_FORMAT, caps); + GST_ELEMENT_ERROR (udpsrc, CORE, NEGOTIATION, (NULL), ("Got unfixed caps from peer")); + } #endif g_free (buf);