summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Dröge <sebastian@centricular.com>2016-11-22 16:42:55 +0200
committerSebastian Dröge <sebastian@centricular.com>2016-11-23 18:17:06 +0200
commit01682ae95bde92b6327f6b1eb1aa8abfb0670f59 (patch)
tree3f59c1e7393416ed21e16bed8f83722fa34693d6
parent01e45b25b75123e9fc311249964c11c6e08c6f71 (diff)
qtmux: Make sure to only change DTS of writable buffers
And trivial cleanup https://bugzilla.gnome.org/show_bug.cgi?id=774840
-rw-r--r--gst/isomp4/gstqtmux.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/gst/isomp4/gstqtmux.c b/gst/isomp4/gstqtmux.c
index a7ca37580..810c1dd92 100644
--- a/gst/isomp4/gstqtmux.c
+++ b/gst/isomp4/gstqtmux.c
@@ -3239,6 +3239,7 @@ gst_qt_mux_add_buffer (GstQTMux * qtmux, GstQTPad * pad, GstBuffer * buf)
GST_ERROR ("decreasing DTS value %" GST_TIME_FORMAT " < %" GST_TIME_FORMAT,
GST_TIME_ARGS (GST_BUFFER_DTS (buf)),
GST_TIME_ARGS (GST_BUFFER_DTS (last_buf)));
+ buf = gst_buffer_make_writable (buf);
GST_BUFFER_DTS (buf) = GST_BUFFER_DTS (last_buf);
}
@@ -3399,8 +3400,7 @@ gst_qt_mux_add_buffer (GstQTMux * qtmux, GstQTPad * pad, GstBuffer * buf)
if (pad->create_empty_buffer) {
GstBuffer *empty_buf;
gint64 empty_duration =
- GST_BUFFER_TIMESTAMP (buf) - (GST_BUFFER_TIMESTAMP (last_buf) +
- duration);
+ GST_BUFFER_PTS (buf) - (GST_BUFFER_PTS (last_buf) + duration);
gint64 empty_duration_scaled;
empty_buf = pad->create_empty_buffer (pad, empty_duration);