gst/matroska/matroska-mux.c: Update the counter for the number of streams when pads are added or removed. This will m...

Original commit message from CVS:
* gst/matroska/matroska-mux.c: (gst_matroska_mux_request_new_pad),
(gst_matroska_mux_release_pad), (gst_matroska_mux_write_data):
Update the counter for the number of streams when pads are added or
removed. This will make sure that a seek table is generated for
files with just one audio stream.
This commit is contained in:
Sebastian Dröge 2008-06-11 11:27:46 +00:00
parent 4c46ceb4cb
commit 1ad81019a2
2 changed files with 11 additions and 0 deletions

View file

@ -1,3 +1,11 @@
2008-06-11 Sebastian Dröge <slomo@circular-chaos.org>
* gst/matroska/matroska-mux.c: (gst_matroska_mux_request_new_pad),
(gst_matroska_mux_release_pad), (gst_matroska_mux_write_data):
Update the counter for the number of streams when pads are added or
removed. This will make sure that a seek table is generated for
files with just one audio stream.
2008-06-11 Sebastian Dröge <slomo@circular-chaos.org> 2008-06-11 Sebastian Dröge <slomo@circular-chaos.org>
* gst/matroska/matroska-demux.c: * gst/matroska/matroska-demux.c:

View file

@ -1219,6 +1219,7 @@ gst_matroska_mux_request_new_pad (GstElement * element,
gst_pad_set_setcaps_function (newpad, setcapsfunc); gst_pad_set_setcaps_function (newpad, setcapsfunc);
gst_pad_set_active (newpad, TRUE); gst_pad_set_active (newpad, TRUE);
gst_element_add_pad (element, newpad); gst_element_add_pad (element, newpad);
mux->num_streams++;
return newpad; return newpad;
} }
@ -1261,6 +1262,7 @@ gst_matroska_mux_release_pad (GstElement * element, GstPad * pad)
gst_matroska_pad_free (collect_pad); gst_matroska_pad_free (collect_pad);
gst_collect_pads_remove_pad (mux->collect, pad); gst_collect_pads_remove_pad (mux->collect, pad);
gst_element_remove_pad (element, pad); gst_element_remove_pad (element, pad);
mux->num_streams--;
return; return;
} }
} }
@ -1950,6 +1952,7 @@ gst_matroska_mux_write_data (GstMatroskaMux * mux, GstMatroskaPad * collect_pad)
* for audio only files. This can be largely improved, such as doing * for audio only files. This can be largely improved, such as doing
* one for each keyframe or each second (for all-keyframe * one for each keyframe or each second (for all-keyframe
* streams), only the *first* video track. But that'll come later... */ * streams), only the *first* video track. But that'll come later... */
if (is_video_keyframe) { if (is_video_keyframe) {
GstMatroskaIndex *idx; GstMatroskaIndex *idx;