summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gst/flv/gstflvdemux.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/gst/flv/gstflvdemux.c b/gst/flv/gstflvdemux.c
index 2ca73f53e..9a6928f02 100644
--- a/gst/flv/gstflvdemux.c
+++ b/gst/flv/gstflvdemux.c
@@ -1230,7 +1230,8 @@ gst_flv_demux_parse_tag_audio (GstFlvDemux * demux, GstBuffer * buffer)
goto beach;
}
- ret = gst_flow_combiner_update_flow (demux->flowcombiner, ret);
+ ret = gst_flow_combiner_update_pad_flow (demux->flowcombiner,
+ demux->audio_pad, ret);
beach:
gst_buffer_unmap (buffer, &map);
@@ -1651,7 +1652,8 @@ gst_flv_demux_parse_tag_video (GstFlvDemux * demux, GstBuffer * buffer)
goto beach;
}
- ret = gst_flow_combiner_update_flow (demux->flowcombiner, ret);
+ ret = gst_flow_combiner_update_pad_flow (demux->flowcombiner,
+ demux->video_pad, ret);
beach:
gst_buffer_unmap (buffer, &map);
@@ -2761,6 +2763,7 @@ flv_demux_handle_seek_push (GstFlvDemux * demux, GstEvent * event)
GST_WARNING_OBJECT (demux, "upstream seek failed");
}
+ gst_flow_combiner_reset (demux->flowcombiner);
/* Tell all the stream we moved to a different position (discont) */
demux->audio_need_discont = TRUE;
demux->video_need_discont = TRUE;
@@ -2972,6 +2975,7 @@ gst_flv_demux_handle_seek_pull (GstFlvDemux * demux, GstEvent * event,
demux->segment.format, demux->segment.position));
}
+ gst_flow_combiner_reset (demux->flowcombiner);
/* Tell all the stream a new segment is needed */
demux->audio_need_segment = TRUE;
demux->video_need_segment = TRUE;
@@ -3162,6 +3166,7 @@ gst_flv_demux_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
demux->new_seg_event = NULL;
}
}
+ gst_flow_combiner_reset (demux->flowcombiner);
break;
}
default: