From 91a716f915e94b43ea4cb88a81b1308906940d45 Mon Sep 17 00:00:00 2001 From: Wim Taymans Date: Sun, 26 May 2002 21:59:22 +0000 Subject: - Changed plugins for new APIs Original commit message from CVS: - Changed plugins for new APIs - modularized audiofile. - added seeking, query and convert functions for mad, mpeg2dec, avidemux, mpegdemux, mpegparse - sync updates to oss. removed the ossclock for now --- gst/avi/gstavimux.c | 32 +++++++++++++++++++++----------- 1 file changed, 21 insertions(+), 11 deletions(-) (limited to 'gst/avi/gstavimux.c') diff --git a/gst/avi/gstavimux.c b/gst/avi/gstavimux.c index c334892e..c0b11342 100644 --- a/gst/avi/gstavimux.c +++ b/gst/avi/gstavimux.c @@ -789,16 +789,24 @@ gst_avimux_bigfile(GstAviMux *avimux, gboolean last) if (avimux->is_bigfile) { /* sarch back */ - event = gst_event_new_seek(GST_SEEK_BYTEOFFSET_SET, avimux->avix_start, TRUE); - gst_pad_send_event(avimux->srcpad, event); - - /* rewrite AVIX header */ - header = gst_avimux_riff_get_avix_header(avimux->datax_size); - gst_pad_push(avimux->srcpad, header); - - /* go back to current location */ - event = gst_event_new_seek(GST_SEEK_BYTEOFFSET_SET, avimux->total_data, TRUE); - gst_pad_send_event(avimux->srcpad, event); + event = gst_event_new_seek (GST_FORMAT_BYTES | + GST_SEEK_METHOD_SET | + GST_SEEK_FLAG_FLUSH, + avimux->avix_start); + /* if the event succeeds */ + if (gst_pad_send_event(avimux->srcpad, event)) { + + /* rewrite AVIX header */ + header = gst_avimux_riff_get_avix_header(avimux->datax_size); + gst_pad_push(avimux->srcpad, header); + + /* go back to current location */ + event = gst_event_new_seek (GST_FORMAT_BYTES | + GST_SEEK_METHOD_SET | + GST_SEEK_FLAG_FLUSH, + avimux->total_data); + gst_pad_send_event(avimux->srcpad, event); + } } avimux->avix_start = avimux->total_data; @@ -884,7 +892,9 @@ gst_avimux_stop_file (GstAviMux *avimux) /* seek and rewrite the header */ header = gst_avimux_riff_get_avi_header(avimux); - event = gst_event_new_seek(GST_SEEK_BYTEOFFSET_SET, 0, TRUE); + event = gst_event_new_seek (GST_FORMAT_BYTES | + GST_SEEK_METHOD_SET | + GST_SEEK_FLAG_FLUSH, 0); gst_pad_send_event(avimux->srcpad, event); gst_pad_push(avimux->srcpad, header); -- cgit