gst-libs/gst/riff/riff-read.c: Don't bail on unknown events.
authorRonald S. Bultje <rbultje@ronald.bitfreak.net>
Mon, 10 Jan 2005 16:09:25 +0000 (16:09 +0000)
committerRonald S. Bultje <rbultje@ronald.bitfreak.net>
Mon, 10 Jan 2005 16:09:25 +0000 (16:09 +0000)
Original commit message from CVS:
* 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.

ChangeLog
gst-libs/gst/riff/riff-read.c
gst/audioscale/gstaudioscale.c
gst/playback/gststreamselector.c

index e306119..7ed9e16 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,17 @@
 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):
          Don't disable streamtype if the stream doesn't exist, since
          then playing a video after audio will disable both and nothing
index e77cb73..4d379a7 100644 (file)
@@ -190,7 +190,7 @@ gst_riff_read_use_event (GstRiffRead * riff, GstEvent * event)
     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 */
index af95ce9..0734940 100644 (file)
@@ -571,9 +571,11 @@ gst_audioscale_chain (GstPad * pad, GstData * _data)
 
     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,
@@ -589,7 +591,7 @@ gst_audioscale_chain (GstPad * pad, GstData * _data)
           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 */
index 4a766ce..bae181e 100644 (file)
@@ -233,6 +233,8 @@ gst_stream_selector_request_new_pad (GstElement * element,
 
   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,