mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-01-02 13:38:48 +00:00
gst/matroska/matroska-mux.c: Don't try to ready buffer duration from buffer that we don't own any longer and that mi...
Original commit message from CVS: Reviewed by: Tim-Philipp Müller <tim at centricular dot net> * gst/matroska/matroska-mux.c: (gst_matroska_mux_write_data): Don't try to ready buffer duration from buffer that we don't own any longer and that might already have been unreffed. (#321136)
This commit is contained in:
parent
8a534978d4
commit
c16c22e4c1
2 changed files with 11 additions and 4 deletions
|
@ -1,3 +1,12 @@
|
||||||
|
2005-11-10 Josef Zlomek <josef dot zlomek at xeris dot cz>
|
||||||
|
|
||||||
|
Reviewed by: Tim-Philipp Müller <tim at centricular dot net>
|
||||||
|
|
||||||
|
* gst/matroska/matroska-mux.c: (gst_matroska_mux_write_data):
|
||||||
|
Don't try to ready buffer duration from buffer that we don't
|
||||||
|
own any longer and that might already have been unreffed.
|
||||||
|
(#321136)
|
||||||
|
|
||||||
2005-11-09 Zeeshan Ali <zeenix@gmail.com>
|
2005-11-09 Zeeshan Ali <zeenix@gmail.com>
|
||||||
|
|
||||||
* gst/flx/gstflxdec.c: (flx_decode_delta_fli),
|
* gst/flx/gstflxdec.c: (flx_decode_delta_fli),
|
||||||
|
|
|
@ -1324,6 +1324,7 @@ gst_matroska_mux_write_data (GstMatroskaMux * mux)
|
||||||
guint64 cluster, blockgroup;
|
guint64 cluster, blockgroup;
|
||||||
gboolean write_duration;
|
gboolean write_duration;
|
||||||
guint16 relative_timestamp;
|
guint16 relative_timestamp;
|
||||||
|
guint64 block_duration;
|
||||||
|
|
||||||
/* which stream to write from? */
|
/* which stream to write from? */
|
||||||
best = gst_matroska_mux_best_pad (mux);
|
best = gst_matroska_mux_best_pad (mux);
|
||||||
|
@ -1424,9 +1425,8 @@ gst_matroska_mux_write_data (GstMatroskaMux * mux)
|
||||||
|
|
||||||
/* Check if the duration differs from the default duration. */
|
/* Check if the duration differs from the default duration. */
|
||||||
write_duration = FALSE;
|
write_duration = FALSE;
|
||||||
|
block_duration = GST_BUFFER_DURATION (buf);
|
||||||
if (GST_BUFFER_DURATION_IS_VALID (buf)) {
|
if (GST_BUFFER_DURATION_IS_VALID (buf)) {
|
||||||
guint64 block_duration = GST_BUFFER_DURATION (buf);
|
|
||||||
|
|
||||||
if (block_duration != best->track->default_duration) {
|
if (block_duration != best->track->default_duration) {
|
||||||
write_duration = TRUE;
|
write_duration = TRUE;
|
||||||
}
|
}
|
||||||
|
@ -1460,8 +1460,6 @@ gst_matroska_mux_write_data (GstMatroskaMux * mux)
|
||||||
gst_ebml_write_buffer (ebml, hdr);
|
gst_ebml_write_buffer (ebml, hdr);
|
||||||
gst_ebml_write_buffer (ebml, buf);
|
gst_ebml_write_buffer (ebml, buf);
|
||||||
if (write_duration) {
|
if (write_duration) {
|
||||||
guint64 block_duration = GST_BUFFER_DURATION (buf);
|
|
||||||
|
|
||||||
gst_ebml_write_uint (ebml, GST_MATROSKA_ID_BLOCKDURATION,
|
gst_ebml_write_uint (ebml, GST_MATROSKA_ID_BLOCKDURATION,
|
||||||
block_duration / mux->time_scale);
|
block_duration / mux->time_scale);
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue