? tests/examples/level/level-example
Index: gst/apetag/gsttagdemux.c
===================================================================
RCS file: /cvs/gstreamer/gst-plugins-good/gst/apetag/gsttagdemux.c,v
retrieving revision 1.4
diff -u -p -r1.4 gsttagdemux.c
--- gst/apetag/gsttagdemux.c	15 Mar 2006 16:21:37 -0000	1.4
+++ gst/apetag/gsttagdemux.c	19 Mar 2006 17:06:29 -0000
@@ -214,14 +214,17 @@ gst_tag_demux_class_init (gpointer klass
 static void
 gst_tag_demux_reset (GstTagDemux * tagdemux)
 {
+  GstBuffer **buffer_p = &tagdemux->priv->collect;
+  GstCaps **caps_p = &tagdemux->priv->src_caps;
+
   tagdemux->priv->strip_start = 0;
   tagdemux->priv->strip_end = 0;
   tagdemux->priv->upstream_size = -1;
   tagdemux->priv->state = GST_TAG_DEMUX_READ_START_TAG;
   tagdemux->priv->send_tag_event = FALSE;
 
-  gst_buffer_replace (&(tagdemux->priv->collect), NULL);
-  gst_caps_replace (&(tagdemux->priv->src_caps), NULL);
+  gst_buffer_replace (buffer_p, NULL);
+  gst_caps_replace (caps_p, NULL);
 
   gst_tag_demux_remove_srcpad (tagdemux);
 
Index: gst/id3demux/gstid3demux.c
===================================================================
RCS file: /cvs/gstreamer/gst-plugins-good/gst/id3demux/gstid3demux.c,v
retrieving revision 1.9
diff -u -p -r1.9 gstid3demux.c
--- gst/id3demux/gstid3demux.c	15 Mar 2006 16:21:38 -0000	1.9
+++ gst/id3demux/gstid3demux.c	19 Mar 2006 17:06:30 -0000
@@ -182,14 +182,17 @@ gst_id3demux_class_init (GstID3DemuxClas
 static void
 gst_id3demux_reset (GstID3Demux * id3demux)
 {
+	GstBuffer **buffer_p = &id3demux->collect;
+	GstCaps **caps_p = &id3demux->src_caps;
+
   id3demux->strip_start = 0;
   id3demux->strip_end = 0;
   id3demux->upstream_size = -1;
   id3demux->state = GST_ID3DEMUX_READID3V2;
   id3demux->send_tag_event = FALSE;
 
-  gst_buffer_replace (&(id3demux->collect), NULL);
-  gst_caps_replace (&(id3demux->src_caps), NULL);
+  gst_buffer_replace (buffer_p, NULL);
+  gst_caps_replace (caps_p, NULL);
 
   gst_id3demux_remove_srcpad (id3demux);
 
Index: gst/wavparse/gstwavparse.c
===================================================================
RCS file: /cvs/gstreamer/gst-plugins-good/gst/wavparse/gstwavparse.c,v
retrieving revision 1.106
diff -u -p -r1.106 gstwavparse.c
--- gst/wavparse/gstwavparse.c	15 Mar 2006 16:17:12 -0000	1.106
+++ gst/wavparse/gstwavparse.c	19 Mar 2006 17:06:30 -0000
@@ -871,6 +871,7 @@ gst_wavparse_stream_headers (GstWavParse
   GstCaps *caps;
   gint64 duration;
   gchar *codec_name = NULL;
+	GstEvent **event_p;
 
   /* The header start with a 'fmt ' tag */
   if ((res = gst_riff_read_chunk (GST_ELEMENT (wav), wav->sinkpad,
@@ -987,7 +988,8 @@ gst_wavparse_stream_headers (GstWavParse
    * the right newsegment event downstream. */
   gst_wavparse_perform_seek (wav, wav->seek_event);
   /* remove pending event */
-  gst_event_replace (&wav->seek_event, NULL);
+	event_p = &wav->seek_event;
+  gst_event_replace (event_p, NULL);
 
   return GST_FLOW_OK;
 
@@ -1066,6 +1068,7 @@ gst_wavparse_send_event (GstElement * el
 {
   GstWavParse *wav = GST_WAVPARSE (element);
   gboolean res = FALSE;
+	GstEvent **event_p;
 
   switch (GST_EVENT_TYPE (event)) {
     case GST_EVENT_SEEK:
@@ -1075,7 +1078,8 @@ gst_wavparse_send_event (GstElement * el
       } else {
         GST_DEBUG_OBJECT (wav, "queuing seek for later");
 
-        gst_event_replace (&wav->seek_event, event);
+				event_p = &wav->seek_event;
+        gst_event_replace (event_p, event);
 
         /* we always return true */
         res = TRUE;
@@ -1517,10 +1521,12 @@ gst_wavparse_change_state (GstElement * 
   switch (transition) {
     case GST_STATE_CHANGE_PLAYING_TO_PAUSED:
       break;
-    case GST_STATE_CHANGE_PAUSED_TO_READY:
+  	case GST_STATE_CHANGE_PAUSED_TO_READY: {
+			GstEvent **event_p = &wav->seek_event;
       gst_wavparse_destroy_sourcepad (wav);
-      gst_event_replace (&wav->seek_event, NULL);
+      gst_event_replace (event_p, NULL);
       gst_wavparse_reset (wav);
+		}
       break;
     case GST_STATE_CHANGE_READY_TO_NULL:
       break;
