GNOME Bugzilla – Bug 142268
avidemux forwards flush events event when not seeking
Last modified: 2004-12-22 21:47:04 UTC
On Fri, 2004-05-07 at 21:28, Sebastien Cote wrote: > When reading the avi, riff-read seeks in the input > file which causes the filesrc to send a FLUSHING > event. riff then does a gst_pad_event_default() on > the sinkpad of the avidemux which pushes it to the > next element in the pipeline. But this event > shouldn't leave the avidemux since we're not really > seeking in the media. If there's a queue in the > pipeline, it will empty itself when it receives this > event. > > So I intercepted the FLUSHING event in riff-read.c to > get rid of it. It works, but I think this could break > REAL seeking. > > Does anyone know what the correct fix is? Check avidemux->state (probably needs to be moved to riff->state), and don't forward flush events if we're != GST_AVI_DEMUX_MOVI (should be renamed GST_RIFF_READ_DATA).
Riff has no padding bytes (oi!) so I can't add this until 0.9.x. I'm sorry, you'll have to live with a local hack for now. :-(.
Do you mean that this would break ABI compatibility? If so, could it be done in the avidemux by adding a event handler on the sink pad?
Ronald, do you mean GstRiffRead? If it's really important, we can steal a field from the padding in GstElement to mean "oops, my subclass forgot to use padding".
Yes, GstRiffRead. Stealing from GstElement is an option... I guess using a GstElement field is an option. Better than a bug. What's the suggested field name? "subclass_forlorn_field"? :).
I just fixed this differently.