summaryrefslogtreecommitdiff
path: root/gstreamer_ti_dm81xx/opensource_build/patchfiles/gst-plugins-bad-0.10.21/0002-fixes-to-mux-h264-stream-utilizing-ctts.patch
diff options
context:
space:
mode:
Diffstat (limited to 'gstreamer_ti_dm81xx/opensource_build/patchfiles/gst-plugins-bad-0.10.21/0002-fixes-to-mux-h264-stream-utilizing-ctts.patch')
-rw-r--r--gstreamer_ti_dm81xx/opensource_build/patchfiles/gst-plugins-bad-0.10.21/0002-fixes-to-mux-h264-stream-utilizing-ctts.patch38
1 files changed, 38 insertions, 0 deletions
diff --git a/gstreamer_ti_dm81xx/opensource_build/patchfiles/gst-plugins-bad-0.10.21/0002-fixes-to-mux-h264-stream-utilizing-ctts.patch b/gstreamer_ti_dm81xx/opensource_build/patchfiles/gst-plugins-bad-0.10.21/0002-fixes-to-mux-h264-stream-utilizing-ctts.patch
new file mode 100644
index 0000000..ec7171c
--- /dev/null
+++ b/gstreamer_ti_dm81xx/opensource_build/patchfiles/gst-plugins-bad-0.10.21/0002-fixes-to-mux-h264-stream-utilizing-ctts.patch
@@ -0,0 +1,38 @@
+From 89655fc3d8aa16d4caa7352e36d3f643090308f8 Mon Sep 17 00:00:00 2001
+From: Rob Clark <rob@ti.com>
+Date: Sun, 14 Feb 2010 16:11:25 -0600
+Subject: [PATCH 2/5] fixes to mux h264 stream utilizing ctts
+
+---
+ gst/qtmux/gstqtmux.c | 8 +++++++-
+ 1 files changed, 7 insertions(+), 1 deletions(-)
+
+diff --git a/gst/qtmux/gstqtmux.c b/gst/qtmux/gstqtmux.c
+index 1477db7..c6b164b 100644
+--- a/gst/qtmux/gstqtmux.c
++++ b/gst/qtmux/gstqtmux.c
+@@ -2221,7 +2221,12 @@ again:
+ } else {
+ nsamples = 1;
+ sample_size = GST_BUFFER_SIZE (last_buf);
+- if (pad->have_dts) {
++ /* note: by default offset_end will be 0, but qtdemux (and perhaps
++ * others) sets this to -1. So treat either as invalid values.
++ */
++ if (pad->have_dts &&
++ (GST_BUFFER_OFFSET_END (last_buf) != -1) &&
++ (GST_BUFFER_OFFSET_END (last_buf) != 0)) {
+ gint64 scaled_dts;
+ pad->last_dts = GST_BUFFER_OFFSET_END (last_buf);
+ if ((gint64) (pad->last_dts) < 0) {
+@@ -2939,6 +2944,7 @@ gst_qt_mux_video_sink_set_caps (GstPad * pad, GstCaps * caps)
+ }
+ } else if (strcmp (mimetype, "video/x-h264") == 0) {
+ entry.fourcc = FOURCC_avc1;
++ qtpad->have_dts = TRUE;
+ if (qtpad->avg_bitrate == 0) {
+ gint avg_bitrate = 0;
+ gst_structure_get_int (structure, "bitrate", &avg_bitrate);
+--
+1.7.0.4
+