summaryrefslogtreecommitdiffstats
path: root/ext/resindvd/gstmpegdemux.c
diff options
context:
space:
mode:
authorJan Schmidt <thaytan@noraisin.net>2009-05-25 00:25:07 +0100
committerJan Schmidt <thaytan@noraisin.net>2009-05-26 15:31:53 +0100
commit19d450a16425ea7844c9970a9ca325236897780b (patch)
tree96f7eabff6a269c3584a19c48d03d57e300145d4 /ext/resindvd/gstmpegdemux.c
parent59a3abfdf346d2b428057d23fc69f5ef7c3b659f (diff)
downloadgst-plugins-bad-19d450a16425ea7844c9970a9ca325236897780b.tar.gz
gst-plugins-bad-19d450a16425ea7844c9970a9ca325236897780b.tar.bz2
gst-plugins-bad-19d450a16425ea7844c9970a9ca325236897780b.zip
resindvd: Fix subpicture timing in some cases
Make sure we send events to all pads. Unmark the notlinked flag on freshly selected pads to ensure they get data.
Diffstat (limited to 'ext/resindvd/gstmpegdemux.c')
-rw-r--r--ext/resindvd/gstmpegdemux.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/ext/resindvd/gstmpegdemux.c b/ext/resindvd/gstmpegdemux.c
index 8ea82b44..281b13f3 100644
--- a/ext/resindvd/gstmpegdemux.c
+++ b/ext/resindvd/gstmpegdemux.c
@@ -572,7 +572,7 @@ gst_flups_demux_send_event (GstFluPSDemux * demux, GstEvent * event)
for (id = 0; id < GST_FLUPS_DEMUX_MAX_STREAMS; id++) {
GstFluPSStream *stream = demux->streams[id];
- if (stream && !stream->notlinked) {
+ if (stream) {
(void) gst_event_ref (event);
if (!gst_pad_push_event (stream->pad, event)) {
@@ -739,6 +739,8 @@ gst_flups_demux_handle_dvd_event (GstFluPSDemux * demux, GstEvent * event)
"event", G_TYPE_STRING, "select-pad", NULL);
GstEvent *sel_event =
gst_event_new_custom (GST_EVENT_CUSTOM_DOWNSTREAM, s);
+
+ temp->notlinked = FALSE;
gst_pad_push_event (temp->pad, sel_event);
gst_event_ref (event);