summaryrefslogtreecommitdiffstats
path: root/ext/resindvd/rsnaudiomunge.c
diff options
context:
space:
mode:
authorJan Schmidt <thaytan@mad.scientist.com>2009-01-08 12:42:18 +0000
committerJan Schmidt <thaytan@mad.scientist.com>2009-01-08 12:42:18 +0000
commit672051c5eb79ca9acaa6f2d056322d2ad0f3ea31 (patch)
tree1555e14719db3e7ed20f54d7b428c53df8a572f1 /ext/resindvd/rsnaudiomunge.c
parentacd634eafa71e5688ba707962612357470f6c97c (diff)
downloadgst-plugins-bad-672051c5eb79ca9acaa6f2d056322d2ad0f3ea31.tar.gz
gst-plugins-bad-672051c5eb79ca9acaa6f2d056322d2ad0f3ea31.tar.bz2
gst-plugins-bad-672051c5eb79ca9acaa6f2d056322d2ad0f3ea31.zip
ext/resindvd/: Add support for time based seeking.
Original commit message from CVS: * ext/resindvd/resindvdbin.c: * ext/resindvd/resindvdsrc.c: * ext/resindvd/resindvdsrc.h: * ext/resindvd/rsnaudiomunge.c: Add support for time based seeking. Make setting dvd:// reset to the default device. Make the 'audiomunge' element send any new segment start before the 'gap filler' buffer it generates, and any segment closes after. Fixes: #566957
Diffstat (limited to 'ext/resindvd/rsnaudiomunge.c')
-rw-r--r--ext/resindvd/rsnaudiomunge.c22
1 files changed, 17 insertions, 5 deletions
diff --git a/ext/resindvd/rsnaudiomunge.c b/ext/resindvd/rsnaudiomunge.c
index 457be163..500671c8 100644
--- a/ext/resindvd/rsnaudiomunge.c
+++ b/ext/resindvd/rsnaudiomunge.c
@@ -311,6 +311,15 @@ rsn_audiomunge_sink_event (GstPad * pad, GstEvent * event)
* Otherwise, send the buffer before the newsegment, so that it appears
* in the closing segment.
*/
+ if (!update) {
+ GST_DEBUG_OBJECT (munge, "Sending newsegment: start %" GST_TIME_FORMAT
+ " stop %" GST_TIME_FORMAT " accum now %" GST_TIME_FORMAT,
+ GST_TIME_ARGS (start), GST_TIME_ARGS (stop),
+ GST_TIME_ARGS (segment->accum));
+
+ ret = gst_pad_push_event (munge->srcpad, event);
+ }
+
if (segment->accum >= AUDIO_FILL_THRESHOLD || munge->in_still) {
g_print ("*********** Sending audio fill: accum = %" GST_TIME_FORMAT
" still-state=%d\n", GST_TIME_ARGS (segment->accum),
@@ -326,12 +335,15 @@ rsn_audiomunge_sink_event (GstPad * pad, GstEvent * event)
GST_TIME_ARGS (segment->accum));
}
- GST_DEBUG_OBJECT (munge, "Sending newsegment: start %" GST_TIME_FORMAT
- " stop %" GST_TIME_FORMAT " accum now %" GST_TIME_FORMAT,
- GST_TIME_ARGS (start), GST_TIME_ARGS (stop),
- GST_TIME_ARGS (segment->accum));
+ if (update) {
+ GST_DEBUG_OBJECT (munge, "Sending newsegment: start %" GST_TIME_FORMAT
+ " stop %" GST_TIME_FORMAT " accum now %" GST_TIME_FORMAT,
+ GST_TIME_ARGS (start), GST_TIME_ARGS (stop),
+ GST_TIME_ARGS (segment->accum));
+
+ ret = gst_pad_push_event (munge->srcpad, event);
+ }
- ret = gst_pad_push_event (munge->srcpad, event);
break;
}
case GST_EVENT_CUSTOM_DOWNSTREAM: