+2005-01-10 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
+
+ * gst-libs/gst/riff/riff-read.c: (gst_riff_read_use_event):
+ Don't bail on unknown events.
+ * gst/audioscale/gstaudioscale.c: (gst_audioscale_chain):
+ Don't crash on events before negotiation.
+ * gst/avi/gstavidemux.c: (gst_avi_demux_add_stream):
+ Send tags on pads, too.
+ * gst/playback/gststreamselector.c:
+ (gst_stream_selector_request_new_pad):
+ Forward events on first pad if no input was selected yet.
+
2005-01-10 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
* gst/playback/gstplaybasebin.c: (setup_substreams):
default:
GST_WARNING ("don't know how to handle event %d", GST_EVENT_TYPE (event));
gst_pad_event_default (riff->sinkpad, event);
- return FALSE;
+ return TRUE;
}
/* happy */
switch (GST_EVENT_TYPE (e)) {
case GST_EVENT_DISCONTINUOUS:{
- gint64 new_off;
+ gint64 new_off = 0;
- if (gst_event_discont_get_value (e, GST_FORMAT_TIME, &new_off)) {
+ if (!audioscale->gst_resample) {
+ GST_LOG ("Discont before negotiation took place - ignoring");
+ } else if (gst_event_discont_get_value (e, GST_FORMAT_TIME, &new_off)) {
/* time -> out-sample */
new_off = new_off * audioscale->gst_resample->o_rate / GST_SECOND;
} else if (gst_event_discont_get_value (e,
new_off /= audioscale->gst_resample->i_rate;
} else {
/* *sigh* */
- new_off = 0;
+ GST_DEBUG ("Discont without value - ignoring");
}
audioscale->gst_resample_offset = new_off;
/* fall-through */
name = g_strdup_printf ("sink%d", sel->nb_sinkpads++);
sinkpad = gst_pad_new_from_template (templ, name);
+ if (sel->nb_sinkpads == 1)
+ sel->last_active_sinkpad = sinkpad;
g_free (name);
gst_pad_set_link_function (sinkpad,