summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog8
-rw-r--r--gst/matroska/matroska-mux.c3
2 files changed, 11 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 493dfeff..2a178624 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
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>
+
* gst/matroska/matroska-demux.c:
(gst_matroska_demux_parse_metadata_id_simple_tag):
* gst/matroska/matroska-ids.h:
diff --git a/gst/matroska/matroska-mux.c b/gst/matroska/matroska-mux.c
index 7715402f..1c83b5ae 100644
--- a/gst/matroska/matroska-mux.c
+++ b/gst/matroska/matroska-mux.c
@@ -1219,6 +1219,7 @@ gst_matroska_mux_request_new_pad (GstElement * element,
gst_pad_set_setcaps_function (newpad, setcapsfunc);
gst_pad_set_active (newpad, TRUE);
gst_element_add_pad (element, newpad);
+ mux->num_streams++;
return newpad;
}
@@ -1261,6 +1262,7 @@ gst_matroska_mux_release_pad (GstElement * element, GstPad * pad)
gst_matroska_pad_free (collect_pad);
gst_collect_pads_remove_pad (mux->collect, pad);
gst_element_remove_pad (element, pad);
+ mux->num_streams--;
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
* one for each keyframe or each second (for all-keyframe
* streams), only the *first* video track. But that'll come later... */
+
if (is_video_keyframe) {
GstMatroskaIndex *idx;