don't assert in state change
authorThomas Vander Stichele <thomas@apestaart.org>
Fri, 9 Jul 2004 10:56:51 +0000 (10:56 +0000)
committerThomas Vander Stichele <thomas@apestaart.org>
Fri, 9 Jul 2004 10:56:51 +0000 (10:56 +0000)
Original commit message from CVS:
don't assert in state change

18 files changed:
ChangeLog
ext/alsa/gstalsa.c
ext/alsa/gstalsasink.c
ext/alsa/gstalsasrc.c
ext/libvisual/visual.c
ext/ogg/gstoggdemux.c
ext/theora/theoradec.c
ext/theora/theoraenc.c
ext/vorbis/vorbisdec.c
gst-libs/gst/interfaces/navigation.c
gst-libs/gst/navigation/navigation.c
gst/adder/gstadder.c
gst/audioconvert/gstaudioconvert.c
gst/playback/gstdecodebin.c
gst/playback/gstplaybasebin.c
gst/playback/gstplaybin.c
gst/videoscale/gstvideoscale.c
gst/volume/gstvolume.c

index 620635c..7264b2a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,30 @@
+2004-07-09  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
+
+       * ext/alsa/gstalsa.c: (gst_alsa_change_state):
+       * ext/alsa/gstalsasink.c: (gst_alsa_sink_check_event),
+       (gst_alsa_sink_loop), (gst_alsa_sink_change_state):
+       * ext/alsa/gstalsasrc.c: (gst_alsa_src_change_state):
+       * ext/libvisual/visual.c: (gst_visual_change_state):
+       * ext/ogg/gstoggdemux.c: (gst_ogg_demux_change_state):
+       * ext/theora/theoradec.c: (theora_dec_change_state):
+       * ext/theora/theoraenc.c: (theora_enc_change_state):
+       * ext/vorbis/vorbisdec.c: (vorbis_dec_change_state):
+       * gst-libs/gst/navigation/navigation.c:
+       * gst/adder/gstadder.c: (gst_adder_change_state):
+       * gst/audioconvert/gstaudioconvert.c: (gst_audio_convert_chain),
+       (gst_audio_convert_get_buffer):
+       * gst/multipart/multipartdemux.c:
+       (gst_multipart_demux_change_state):
+       * gst/playback/gstdecodebin.c: (gst_decode_bin_change_state):
+       * gst/playback/gstplaybasebin.c: (gst_play_base_bin_change_state):
+       * gst/playback/gstplaybin.c: (gst_play_bin_change_state):
+       * gst/videoscale/gstvideoscale.c:
+       (gst_videoscale_handle_src_event):
+       * gst/volume/gstvolume.c: (volume_chain_int16):
+         don't assert in state change, this should be done by the base
+         GstElement class.
+         various debugging fixes.
+
 2004-07-08  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
 
        * configure.ac:
index 1fbcbde..9cd4950 100644 (file)
@@ -1131,7 +1131,7 @@ gst_alsa_change_state (GstElement * element)
       break;
 
     default:
-      g_assert_not_reached ();
+      break;
   }
 
   if (GST_ELEMENT_CLASS (parent_class)->change_state)
index 68adf93..a757fb9 100644 (file)
@@ -548,7 +548,7 @@ gst_alsa_sink_change_state (GstElement * element)
     case GST_STATE_READY_TO_NULL:
       break;
     default:
-      g_assert_not_reached ();
+      break;
   }
 
   if (GST_ELEMENT_CLASS (sink_parent_class)->change_state)
index e3b0c6a..47ee18d 100644 (file)
@@ -521,7 +521,7 @@ gst_alsa_src_change_state (GstElement * element)
     case GST_STATE_READY_TO_NULL:
       break;
     default:
-      g_assert_not_reached ();
+      break;
   }
 
   if (GST_ELEMENT_CLASS (src_parent_class)->change_state)
index 368df29..65889aa 100644 (file)
@@ -339,7 +339,7 @@ gst_visual_change_state (GstElement * element)
       visual->actor = NULL;
       break;
     default:
-      g_assert_not_reached ();
+      break;
   }
 
   if (GST_ELEMENT_CLASS (parent_class)->change_state)
index de93584..8608ec0 100644 (file)
@@ -448,7 +448,8 @@ gst_ogg_demux_src_event (GstPad * pad, GstEvent * event)
 
       GST_OGG_SET_STATE (ogg, GST_OGG_STATE_SEEK);
       FOR_PAD_IN_CURRENT_CHAIN (ogg, pad,
-          pad->flags |= GST_OGG_PAD_NEEDS_DISCONT;);
+          pad->flags |= GST_OGG_PAD_NEEDS_DISCONT;
+          );
       GST_DEBUG_OBJECT (ogg, "initiating seeking to offset %" G_GUINT64_FORMAT,
           offset);
       ogg->seek_pad = cur;
@@ -499,7 +500,8 @@ gst_ogg_demux_handle_event (GstPad * pad, GstEvent * event)
       gst_event_unref (event);
       GST_FLAG_UNSET (ogg, GST_OGG_FLAG_WAIT_FOR_DISCONT);
       FOR_PAD_IN_CURRENT_CHAIN (ogg, pad,
-          pad->flags |= GST_OGG_PAD_NEEDS_DISCONT;);
+          pad->flags |= GST_OGG_PAD_NEEDS_DISCONT;
+          );
       break;
     default:
       gst_pad_event_default (pad, event);
@@ -756,7 +758,8 @@ _find_chain_get_unknown_part (GstOggDemux * ogg, gint64 * start, gint64 * end)
   *end = G_MAXINT64;
 
   g_assert (ogg->current_chain >= 0);
-  FOR_PAD_IN_CURRENT_CHAIN (ogg, pad, *start = MAX (*start, pad->end_offset););
+  FOR_PAD_IN_CURRENT_CHAIN (ogg, pad, *start = MAX (*start, pad->end_offset);
+      );
 
   if (ogg->setup_state == SETUP_FIND_LAST_CHAIN) {
     *end = gst_file_pad_get_length (ogg->sinkpad);
@@ -886,7 +889,8 @@ _find_streams_check (GstOggDemux * ogg)
   } else {
     endpos = G_MAXINT64;
     FOR_PAD_IN_CHAIN (ogg, pad, ogg->chains->len - 1,
-        endpos = MIN (endpos, pad->start_offset););
+        endpos = MIN (endpos, pad->start_offset);
+        );
   }
   if (!ogg->seek_skipped || gst_ogg_demux_position (ogg) >= endpos) {
     /* have we found the endposition for all streams yet? */
@@ -1317,7 +1321,6 @@ gst_ogg_demux_change_state (GstElement * element)
       ogg_sync_clear (&ogg->sync);
       break;
     default:
-      g_assert_not_reached ();
       break;
   }
 
index 2229879..e870c5f 100644 (file)
@@ -486,7 +486,6 @@ theora_dec_change_state (GstElement * element)
     case GST_STATE_READY_TO_NULL:
       break;
     default:
-      g_assert_not_reached ();
       break;
   }
 
index 40384c7..6b689aa 100644 (file)
@@ -483,7 +483,6 @@ theora_enc_change_state (GstElement * element)
     case GST_STATE_READY_TO_NULL:
       break;
     default:
-      g_assert_not_reached ();
       break;
   }
 
index 74528b1..1d5b6eb 100644 (file)
@@ -463,7 +463,6 @@ vorbis_dec_change_state (GstElement * element)
     case GST_STATE_READY_TO_NULL:
       break;
     default:
-      g_assert_not_reached ();
       break;
   }
 
index 32510ff..ac0b9e5 100644 (file)
@@ -59,6 +59,8 @@ gst_navigation_class_init (GstNavigationInterface * iface)
   iface->send_event = NULL;
 }
 
+/* The interface implementer should make sure that the object can handle
+ * the event. */
 void
 gst_navigation_send_event (GstNavigation * navigation, GstStructure * structure)
 {
index 32510ff..ac0b9e5 100644 (file)
@@ -59,6 +59,8 @@ gst_navigation_class_init (GstNavigationInterface * iface)
   iface->send_event = NULL;
 }
 
+/* The interface implementer should make sure that the object can handle
+ * the event. */
 void
 gst_navigation_send_event (GstNavigation * navigation, GstStructure * structure)
 {
index a3bd786..e85012d 100644 (file)
@@ -497,15 +497,10 @@ gst_adder_change_state (GstElement * element)
       adder->offset = 0;
       break;
     case GST_STATE_PAUSED_TO_PLAYING:
-      break;
     case GST_STATE_PLAYING_TO_PAUSED:
-      break;
     case GST_STATE_PAUSED_TO_READY:
-      break;
     case GST_STATE_READY_TO_NULL:
-      break;
     default:
-      g_assert_not_reached ();
       break;
   }
 
index e61da8c..28d1df3 100644 (file)
@@ -253,6 +253,7 @@ gst_audio_convert_chain (GstPad * pad, GstData * data)
     gst_pad_event_default (pad, GST_EVENT (buf));
     return;
   }
+  g_return_if_fail (GST_IS_BUFFER (buf));
 
   if (!gst_pad_is_negotiated (this->sink)) {
     GST_ELEMENT_ERROR (this, CORE, NEGOTIATION, (NULL),
@@ -550,6 +551,8 @@ gst_audio_convert_get_buffer (GstBuffer * buf, guint size)
 {
   GstBuffer *ret;
 
+  g_assert (GST_IS_BUFFER (buf));
+
   GST_LOG
       ("new buffer of size %u requested. Current is: data: %p - size: %u - maxsize: %u",
       size, buf->data, buf->size, buf->maxsize);
index 3481fa2..192354f 100644 (file)
@@ -391,9 +391,9 @@ close_link (GstElement * element, GstDecodeBin * decode_bin)
     switch (GST_PAD_TEMPLATE_PRESENCE (templ)) {
       case GST_PAD_ALWAYS:
       {
-        GstPad *pad =
-            gst_element_get_pad (element,
+        GstPad *pad = gst_element_get_pad (element,
             GST_PAD_TEMPLATE_NAME_TEMPLATE (templ));
+
         if (pad) {
           to_connect = g_list_prepend (to_connect, pad);
         }
@@ -401,9 +401,9 @@ close_link (GstElement * element, GstDecodeBin * decode_bin)
       }
       case GST_PAD_SOMETIMES:
       {
-        GstPad *pad =
-            gst_element_get_pad (element,
+        GstPad *pad = gst_element_get_pad (element,
             GST_PAD_TEMPLATE_NAME_TEMPLATE (templ));
+
         if (pad) {
           to_connect = g_list_prepend (to_connect, pad);
         } else {
@@ -493,19 +493,13 @@ gst_decode_bin_change_state (GstElement * element)
 
   switch (GST_STATE_TRANSITION (element)) {
     case GST_STATE_NULL_TO_READY:
-      break;
     case GST_STATE_READY_TO_PAUSED:
-      break;
     case GST_STATE_PAUSED_TO_PLAYING:
-      break;
     case GST_STATE_PLAYING_TO_PAUSED:
-      break;
     case GST_STATE_PAUSED_TO_READY:
-      break;
     case GST_STATE_READY_TO_NULL:
       break;
     default:
-      g_assert_not_reached ();
       break;
   }
 
index ffae8b8..636ce2a 100644 (file)
@@ -430,7 +430,6 @@ gst_play_base_bin_change_state (GstElement * element)
       gst_object_unref (GST_OBJECT (play_base_bin->thread));
       break;
     default:
-      g_assert_not_reached ();
       break;
   }
 
index d27e9d5..3b988f2 100644 (file)
@@ -359,15 +359,11 @@ gst_play_bin_change_state (GstElement * element)
       setup_sinks (play_bin);
       break;
     case GST_STATE_PAUSED_TO_PLAYING:
-      break;
     case GST_STATE_PLAYING_TO_PAUSED:
-      break;
     case GST_STATE_PAUSED_TO_READY:
-      break;
     case GST_STATE_READY_TO_NULL:
       break;
     default:
-      g_assert_not_reached ();
       break;
   }
 
index 596cb14..7b9d6ae 100644 (file)
@@ -332,10 +332,14 @@ gst_videoscale_handle_src_event (GstPad * pad, GstEvent * event)
       }
       gst_event_unref (event);
       new_event = gst_event_new (GST_EVENT_NAVIGATION);
+      GST_DEBUG_OBJECT (videoscale, "creating new NAVIGATION event %p",
+          new_event);
       new_event->event_data.structure.structure = structure;
       return gst_pad_event_default (pad, new_event);
       break;
     default:
+      GST_DEBUG_OBJECT (videoscale, "passing on non-NAVIGATION event %p",
+          event);
       return gst_pad_event_default (pad, event);
       break;
   }
index e177ab8..b1363ff 100644 (file)
@@ -446,12 +446,15 @@ volume_chain_int16 (GstPad * pad, GstData * _data)
   gint16 *data;
   gint i, num_samples;
 
+  g_return_if_fail (_data);
   g_return_if_fail (GST_IS_PAD (pad));
   g_return_if_fail (buf != NULL);
 
   filter = GST_VOLUME (GST_OBJECT_PARENT (pad));
   g_return_if_fail (GST_IS_VOLUME (filter));
 
+  GST_LOG_OBJECT (filter, "processing incoming buffer with refcount %d",
+      GST_BUFFER_REFCOUNT_VALUE (buf));
   out_buf = gst_buffer_copy_on_write (buf);
 
   data = (gint16 *) GST_BUFFER_DATA (out_buf);
@@ -484,7 +487,6 @@ volume_chain_int16 (GstPad * pad, GstData * _data)
   }
 
   gst_pad_push (filter->srcpad, GST_DATA (out_buf));
-
 }
 
 static void