mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-02-20 13:06:23 +00:00
gst/matroska/matroska-demux.c: Signal no-more-pads (so it works in playbin).
Original commit message from CVS: * gst/matroska/matroska-demux.c: (gst_matroska_demux_loop_stream): Signal no-more-pads (so it works in playbin).
This commit is contained in:
parent
31d7cd659a
commit
780c4c1c86
2 changed files with 22 additions and 14 deletions
|
@ -1,3 +1,8 @@
|
|||
2004-11-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
|
||||
|
||||
* gst/matroska/matroska-demux.c: (gst_matroska_demux_loop_stream):
|
||||
Signal no-more-pads (so it works in playbin).
|
||||
|
||||
2004-11-11 Ronald S. Bultje <rbultje@ronald.bitfreak.net>
|
||||
|
||||
* ext/musepack/gstmusepackreader.cpp:
|
||||
|
|
|
@ -2328,23 +2328,26 @@ gst_matroska_demux_loop_stream (GstMatroskaDemux * demux)
|
|||
break;
|
||||
}
|
||||
|
||||
case GST_MATROSKA_ID_CLUSTER:{
|
||||
if (!gst_ebml_read_master (ebml, &id)) {
|
||||
case GST_MATROSKA_ID_CLUSTER:
|
||||
if (demux->state != GST_MATROSKA_DEMUX_STATE_DATA) {
|
||||
demux->state = GST_MATROSKA_DEMUX_STATE_DATA;
|
||||
gst_element_no_more_pads (GST_ELEMENT (demux));
|
||||
} else {
|
||||
if (!gst_ebml_read_master (ebml, &id)) {
|
||||
res = FALSE;
|
||||
break;
|
||||
}
|
||||
/* The idea is that we parse one cluster per loop and
|
||||
* then break out of the loop here. In the next call
|
||||
* of the loopfunc, we will get back here with the
|
||||
* next cluster. If an error occurs, we didn't
|
||||
* actually push a buffer, but we still want to break
|
||||
* out of the loop to handle a possible error. We'll
|
||||
* get back here if it's recoverable. */
|
||||
gst_matroska_demux_parse_cluster (demux);
|
||||
res = FALSE;
|
||||
break;
|
||||
}
|
||||
/* The idea is that we parse one cluster per loop and
|
||||
* then break out of the loop here. In the next call
|
||||
* of the loopfunc, we will get back here with the
|
||||
* next cluster. If an error occurs, we didn't
|
||||
* actually push a buffer, but we still want to break
|
||||
* out of the loop to handle a possible error. We'll
|
||||
* get back here if it's recoverable. */
|
||||
gst_matroska_demux_parse_cluster (demux);
|
||||
demux->state = GST_MATROSKA_DEMUX_STATE_DATA;
|
||||
res = FALSE;
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
GST_WARNING ("Unknown matroska file header ID 0x%x", id);
|
||||
|
|
Loading…
Reference in a new issue