diff --git a/ChangeLog b/ChangeLog index 3feea0c03c..268671754b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2005-01-27 Edward Hervey + + Reviewed by: Ronald S. Bultje + + * ext/mad/gstmad.c: (gst_mad_src_event): + * gst/avi/gstavidemux.c: (gst_avi_demux_handle_src_event): + Allow seeks on audio pad, make mad forward those (#164826). + * gst/audioscale/gstaudioscale.c: (gst_audioscale_chain): + Set duration (#165335). + 2005-01-27 Ronald S. Bultje * gst/asfdemux/gstasfdemux.c: (gst_asf_demux_init), diff --git a/ext/mad/gstmad.c b/ext/mad/gstmad.c index eb9196f748..31678e7b92 100644 --- a/ext/mad/gstmad.c +++ b/ext/mad/gstmad.c @@ -752,10 +752,17 @@ gst_mad_src_event (GstPad * pad, GstEvent * event) break; /* the all-formats seek logic */ case GST_EVENT_SEEK: - if (mad->index) - res = index_seek (mad, pad, event); - else - res = normal_seek (mad, pad, event); + GST_DEBUG ("forwarding seek event to sink pad"); + gst_event_ref (event); + if (gst_pad_send_event (GST_PAD_PEER (mad->sinkpad), event)) { + /* seek worked, we're done, loop will exit */ + res = TRUE; + } else { + if (mad->index) + res = index_seek (mad, pad, event); + else + res = normal_seek (mad, pad, event); + } break; default: