diff options
-rw-r--r-- | ext/audiofile/gstafsrc.c | 4 | ||||
-rw-r--r-- | ext/sdl/sdlvideosink.c | 20 | ||||
-rw-r--r-- | gst/flx/gstflxdec.c | 1 | ||||
-rw-r--r-- | gst/mpeg1videoparse/gstmp1videoparse.c | 9 | ||||
-rw-r--r-- | gst/mpegaudioparse/gstmpegaudioparse.c | 10 | ||||
-rw-r--r-- | gst/speed/filter.func | 2 | ||||
-rw-r--r-- | sys/vcd/vcdsrc.c | 6 |
7 files changed, 21 insertions, 31 deletions
diff --git a/ext/audiofile/gstafsrc.c b/ext/audiofile/gstafsrc.c index b6538a6d..0d4e261f 100644 --- a/ext/audiofile/gstafsrc.c +++ b/ext/audiofile/gstafsrc.c @@ -215,8 +215,8 @@ gst_afsrc_get (GstPad *pad) frameCount); readbytes = readframes * (src->channels * src->width / 8); if (readbytes == 0) { - gst_element_signal_eos (GST_ELEMENT (src)); - return NULL; + gst_element_set_eos (GST_ELEMENT (src)); + return GST_BUFFER (gst_event_new (GST_EVENT_EOS)); } GST_BUFFER_SIZE (buf) = readbytes; diff --git a/ext/sdl/sdlvideosink.c b/ext/sdl/sdlvideosink.c index 10e1ca7d..bbc2f322 100644 --- a/ext/sdl/sdlvideosink.c +++ b/ext/sdl/sdlvideosink.c @@ -239,19 +239,17 @@ gst_sdlvideosink_chain (GstPad *pad, GstBuffer *buf) sdlvideosink = GST_SDLVIDEOSINK (gst_pad_get_parent (pad)); - if (!GST_BUFFER_FLAG_IS_SET(buf, GST_BUFFER_FLUSH)) { - GST_DEBUG (0,"videosink: clock wait: %llu\n", GST_BUFFER_TIMESTAMP(buf)); + GST_DEBUG (0,"videosink: clock wait: %llu\n", GST_BUFFER_TIMESTAMP(buf)); - jitter = gst_clock_current_diff(sdlvideosink->clock, GST_BUFFER_TIMESTAMP (buf)); + jitter = gst_clock_current_diff(sdlvideosink->clock, GST_BUFFER_TIMESTAMP (buf)); - if (jitter > 500000 || jitter < -500000) - { - GST_DEBUG (0, "jitter: %lld\n", jitter); - gst_clock_set (sdlvideosink->clock, GST_BUFFER_TIMESTAMP (buf)); - } - else { - gst_clock_wait(sdlvideosink->clock, GST_BUFFER_TIMESTAMP(buf), GST_OBJECT(sdlvideosink)); - } + if (jitter > 500000 || jitter < -500000) + { + GST_DEBUG (0, "jitter: %lld\n", jitter); + gst_clock_set (sdlvideosink->clock, GST_BUFFER_TIMESTAMP (buf)); + } + else { + gst_clock_wait(sdlvideosink->clock, GST_BUFFER_TIMESTAMP(buf), GST_OBJECT(sdlvideosink)); } /* Lock SDL/yuv-overlay */ diff --git a/gst/flx/gstflxdec.c b/gst/flx/gstflxdec.c index 211ab476..5fd5eb23 100644 --- a/gst/flx/gstflxdec.c +++ b/gst/flx/gstflxdec.c @@ -571,7 +571,6 @@ gst_flxdec_loop (GstElement *element) GST_BUFFER_DATA(flxdec->frame), GST_BUFFER_DATA(flxdec->out)); - //GST_BUFFER_FLAG_SET(flxdec->out, GST_BUFFER_FLUSH); gst_pad_push(flxdec->srcpad, flxdec->out); break; diff --git a/gst/mpeg1videoparse/gstmp1videoparse.c b/gst/mpeg1videoparse/gstmp1videoparse.c index 74d910e4..39fdfa29 100644 --- a/gst/mpeg1videoparse/gstmp1videoparse.c +++ b/gst/mpeg1videoparse/gstmp1videoparse.c @@ -252,10 +252,11 @@ gst_mp1videoparse_real_chain (Mp1VideoParse *mp1videoparse, GstBuffer *buf, GstP time_stamp = GST_BUFFER_TIMESTAMP(buf); - - if (GST_BUFFER_FLAG_IS_SET(buf, GST_BUFFER_FLUSH)) { + /* FIXME, handle events here */ + /* gst_mp1videoparse_flush(mp1videoparse); - } + */ + if (mp1videoparse->partialbuf) { offset = GST_BUFFER_SIZE(mp1videoparse->partialbuf); @@ -349,7 +350,7 @@ gst_mp1videoparse_real_chain (Mp1VideoParse *mp1videoparse, GstBuffer *buf, GstP GST_BUFFER_TIMESTAMP(outbuf) = mp1videoparse->last_pts; if (mp1videoparse->in_flush) { - GST_BUFFER_FLAG_SET(outbuf, GST_BUFFER_FLUSH); + /* FIXME, send a flush event here */ mp1videoparse->in_flush = FALSE; } diff --git a/gst/mpegaudioparse/gstmpegaudioparse.c b/gst/mpegaudioparse/gstmpegaudioparse.c index f8ece389..220d6dd2 100644 --- a/gst/mpegaudioparse/gstmpegaudioparse.c +++ b/gst/mpegaudioparse/gstmpegaudioparse.c @@ -247,13 +247,14 @@ gst_mp3parse_chain (GstPad *pad, GstBuffer *buf) last_ts = GST_BUFFER_TIMESTAMP(buf); - if (GST_BUFFER_FLAG_IS_SET(buf, GST_BUFFER_FLUSH)) { + /* FIXME, do flush */ + /* if (mp3parse->partialbuf) { gst_buffer_unref(mp3parse->partialbuf); mp3parse->partialbuf = NULL; } mp3parse->in_flush = TRUE; - } + */ // if we have something left from the previous frame if (mp3parse->partialbuf) { @@ -329,12 +330,9 @@ gst_mp3parse_chain (GstPad *pad, GstBuffer *buf) if (mp3parse->skip == 0) { GST_DEBUG (0,"mp3parse: pushing buffer of %d bytes\n",GST_BUFFER_SIZE(outbuf)); if (mp3parse->in_flush) { - GST_BUFFER_FLAG_SET(outbuf, GST_BUFFER_FLUSH); + /* FIXME do some sort of flush event */ mp3parse->in_flush = FALSE; } - else { - GST_BUFFER_FLAG_UNSET(outbuf, GST_BUFFER_FLUSH); - } GST_BUFFER_TIMESTAMP(outbuf) = last_ts; gst_pad_push(mp3parse->srcpad,outbuf); } diff --git a/gst/speed/filter.func b/gst/speed/filter.func index 8d8a911b..cf23725b 100644 --- a/gst/speed/filter.func +++ b/gst/speed/filter.func @@ -39,7 +39,7 @@ while (GST_IS_EVENT(in)) { switch (GST_EVENT_TYPE(in)) { case GST_EVENT_EOS: - gst_element_set_state((GstElement*)filter, GST_STATE_PAUSED); + gst_element_set_eos((GstElement*)filter); gst_pad_push(filter->srcpad, in); return; default: diff --git a/sys/vcd/vcdsrc.c b/sys/vcd/vcdsrc.c index e6fb2e90..47305878 100644 --- a/sys/vcd/vcdsrc.c +++ b/sys/vcd/vcdsrc.c @@ -262,12 +262,6 @@ vcdsrc_get (GstPad *pad) goto read_sector; } -/* if (readbytes == 0) { */ -/* gst_src_signal_eos(GST_SRC(vcdsrc)); */ -/* gst_element_set_state(GST_ELEMENT(vcdsrc),~GST_STATE_PLAYING); */ -/* gst_element_set_state(GST_ELEMENT(vcdsrc),~GST_STATE_RUNNING); */ -/* return; */ -/* } */ GST_BUFFER_OFFSET(buf) = vcdsrc->curoffset; GST_BUFFER_SIZE(buf) = vcdsrc->bytes_per_read; |