+2005-11-01 Josef Zlomek <josef dot zlomek at xeris dot cz>
+
+ Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
+
+ * gst/matroska/ebml-write.c: (gst_ebml_write_new),
+ (gst_ebml_write_reset), (gst_ebml_write_element_new):
+ * gst/matroska/ebml-write.h:
+ * gst/matroska/matroska-mux.c: (gst_matroska_mux_write_data):
+ Set timestamps on outgoing ebml headers as well, so that the
+ element after matroskamux can get the timestamp already when
+ reading the first ebml element and doesn't have to wait for
+ the actual data buffer for that (#320308).
+
2005-10-31 Andy Wingo <wingo@pobox.com>
* gst/videomixer/videomixer.c (gst_videomixer_pad_unlink)
GST_EBML_WRITE (g_object_new (GST_TYPE_EBML_WRITE, NULL));
ebml->srcpad = gst_object_ref (srcpad);
+ ebml->timestamp = GST_CLOCK_TIME_NONE;
gst_ebml_write_reset (ebml);
}
ebml->cache_size = 0;
ebml->last_write_result = GST_FLOW_OK;
+ ebml->timestamp = GST_CLOCK_TIME_NONE;
}
/* else, use a one-element buffer. This is slower */
buf = gst_buffer_new_and_alloc (size);
GST_BUFFER_SIZE (buf) = 0;
+ GST_BUFFER_TIMESTAMP (buf) = ebml->timestamp;
return buf;
}
buf = best->buffer;
best->buffer = NULL;
+ /* set the timestamp for outgoing buffers */
+ ebml->timestamp = GST_BUFFER_TIMESTAMP (buf);
+
if (mux->cluster) {
/* start a new cluster every two seconds */
if (mux->cluster_time + GST_SECOND * 2 < GST_BUFFER_TIMESTAMP (buf)) {