diff --git a/ChangeLog b/ChangeLog index 728359089a..2fa805d735 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,16 @@ +2006-10-10 Wim Taymans + + * gst/realmedia/rdtdepay.c: (gst_rdt_depay_base_init), + (gst_rdt_depay_init), (gst_rdt_depay_setcaps), + (gst_rdt_depay_chain), (gst_rdt_depay_change_state): + Change caps to x-rdt, because it's not x-rtp. + + * gst/realmedia/rmdemux.c: (gst_rmdemux_add_stream), + (gst_rmdemux_parse_mdpr), (gst_rmdemux_parse_packet), + (gst_rmdemux_plugin_init): + Activate pad before adding to the element. + Return the combined stream return values after pad_alloc. + 2006-10-10 Wim Taymans * ext/mpeg2dec/gstmpeg2dec.c: (handle_slice): diff --git a/gst/realmedia/rdtdepay.c b/gst/realmedia/rdtdepay.c index 2c57b827ba..84f704ea70 100644 --- a/gst/realmedia/rdtdepay.c +++ b/gst/realmedia/rdtdepay.c @@ -58,7 +58,7 @@ static GstStaticPadTemplate gst_rdt_depay_sink_template = GST_STATIC_PAD_TEMPLATE ("sink", GST_PAD_SINK, GST_PAD_ALWAYS, - GST_STATIC_CAPS ("application/x-rtp, " + GST_STATIC_CAPS ("application/x-rdt, " "media = (string) \"application\", " "clock-rate = (int) [1, MAX ], " "encoding-name = (string) \"x-real-rdt\"" diff --git a/gst/realmedia/rmdemux.c b/gst/realmedia/rmdemux.c index ce2780a7a1..1076f480c6 100644 --- a/gst/realmedia/rmdemux.c +++ b/gst/realmedia/rmdemux.c @@ -1411,7 +1411,8 @@ gst_rmdemux_add_stream (GstRMDemux * rmdemux, GstRMDemuxStream * stream) GST_DEBUG_OBJECT (rmdemux, "adding pad %s with caps %" GST_PTR_FORMAT ", stream_id=%d", GST_PAD_NAME (stream->pad), stream_caps, stream->id); - gst_element_add_pad (GST_ELEMENT (rmdemux), stream->pad); + gst_pad_set_active (stream->pad, TRUE); + gst_element_add_pad (GST_ELEMENT_CAST (rmdemux), stream->pad); gst_pad_push_event (stream->pad, gst_event_new_new_segment (FALSE, 1.0, GST_FORMAT_TIME, (gint64) 0, @@ -1955,7 +1956,7 @@ gst_rmdemux_parse_packet (GstRMDemux * rmdemux, const void *data, cret = gst_rmdemux_combine_flows (rmdemux, stream, ret); if (ret != GST_FLOW_OK) - goto beach; + goto alloc_failed; memcpy (GST_BUFFER_DATA (buffer), (guint8 *) data, packet_size); GST_BUFFER_TIMESTAMP (buffer) = timestamp; @@ -1981,6 +1982,11 @@ unknown_stream: "data packet", id); return GST_FLOW_OK; } +alloc_failed: + { + GST_DEBUG_OBJECT (rmdemux, "pad alloc returned %d", ret); + return cret; + } } gboolean