diff --git a/gst/asfdemux/gstasfdemux.c b/gst/asfdemux/gstasfdemux.c index 80c4fa757f..795c82fa4a 100644 --- a/gst/asfdemux/gstasfdemux.c +++ b/gst/asfdemux/gstasfdemux.c @@ -732,15 +732,13 @@ gst_asf_demux_handle_seek_event (GstASFDemux * demux, GstEvent * event) * forever */ GST_PAD_STREAM_LOCK (demux->sinkpad); - /* we now can stop flushing, since we have the stream lock now */ - fevent = gst_event_new_flush_stop (TRUE); - gst_event_set_seqnum (fevent, seqnum); - gst_pad_push_event (demux->sinkpad, gst_event_ref (fevent)); - - if (G_LIKELY (flush)) + if (G_LIKELY (flush)) { + /* we now can stop flushing, since we have the stream lock now */ + fevent = gst_event_new_flush_stop (TRUE); + gst_event_set_seqnum (fevent, seqnum); + gst_pad_push_event (demux->sinkpad, gst_event_ref (fevent)); gst_asf_demux_send_event_unlocked (demux, fevent); - else - gst_event_unref (fevent); + } /* operating on copy of segment until we know the seek worked */ segment = demux->segment;