wtaymans pushed to gstreamer1-plugins-bad-free (f22). "Fix preroll on some DVDs (#1196411)"

notifications at fedoraproject.org notifications at fedoraproject.org
Mon Jun 15 08:18:37 UTC 2015


From 49fd7f8681abae9c9d7a0d81b95d82cab978f59c Mon Sep 17 00:00:00 2001
From: Wim Taymans <wtaymans at redhat.com>
Date: Mon, 15 Jun 2015 10:10:43 +0200
Subject: Fix preroll on some DVDs (#1196411)


diff --git a/0001-resindvd-Don-t-send-meaningless-segment-position-dow.patch b/0001-resindvd-Don-t-send-meaningless-segment-position-dow.patch
new file mode 100644
index 0000000..5b28a51
--- /dev/null
+++ b/0001-resindvd-Don-t-send-meaningless-segment-position-dow.patch
@@ -0,0 +1,62 @@
+From 69e004344a74a7bd3ef7eac6812a696882d7af43 Mon Sep 17 00:00:00 2001
+From: Jan Schmidt <jan at centricular.com>
+Date: Sun, 8 Feb 2015 04:51:13 +1100
+Subject: [PATCH] resindvd: Don't send meaningless segment position downstream
+
+Don't place a meaningless value in the position field in
+outgoing segments - values have to be in the range start->stop.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=740558
+---
+ ext/resindvd/gstmpegdemux.c | 17 ++++++-----------
+ 1 file changed, 6 insertions(+), 11 deletions(-)
+
+diff --git a/ext/resindvd/gstmpegdemux.c b/ext/resindvd/gstmpegdemux.c
+index fcf9d75..7753514 100644
+--- a/ext/resindvd/gstmpegdemux.c
++++ b/ext/resindvd/gstmpegdemux.c
+@@ -942,22 +942,20 @@ gst_flups_demux_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
+       demux->bytes_since_scr = 0;
+ 
+       GST_DEBUG_OBJECT (demux,
+-          "demux: received new segment start %" G_GINT64_FORMAT " stop %"
+-          G_GINT64_FORMAT " time %" G_GINT64_FORMAT
+-          " base %" G_GINT64_FORMAT, start, stop, time, base);
++          "demux: received new segment %" GST_SEGMENT_FORMAT,
++          &demux->sink_segment);
+ #if 0
+       g_print ("demux: received new segment start %" G_GINT64_FORMAT " stop %"
+           G_GINT64_FORMAT " time %" G_GINT64_FORMAT
+           " base %" G_GINT64_FORMAT "\n", start, stop, time, base);
+ #endif
+-      position = base - start;
+-      adjust = position + SCR_MUNGE;
++      adjust = base - start + SCR_MUNGE;
+       if (adjust >= 0)
+         demux->scr_adjust = GSTTIME_TO_MPEGTIME (adjust);
+       else
+         demux->scr_adjust = -GSTTIME_TO_MPEGTIME (-adjust);
+ 
+-      start = SCR_MUNGE;
++      position = start = SCR_MUNGE;
+       base = 0;
+ 
+       if (stop != -1)
+@@ -973,12 +971,9 @@ gst_flups_demux_sink_event (GstPad * pad, GstObject * parent, GstEvent * event)
+       demux->src_segment.position = position;
+ 
+       GST_DEBUG_OBJECT (demux,
+-          "sending new segment: rate %g format %d, start: %"
+-          G_GINT64_FORMAT ", stop: %" G_GINT64_FORMAT ", time: %"
+-          G_GINT64_FORMAT ", base: %" G_GINT64_FORMAT
++          "sending new segment %" GST_SEGMENT_FORMAT
+           ", scr_adjust: %" G_GINT64_FORMAT "(%" GST_TIME_FORMAT ")",
+-          segment->rate, segment->format, start, stop, time, base,
+-          demux->scr_adjust,
++          &demux->src_segment, demux->scr_adjust,
+           GST_TIME_ARGS (MPEGTIME_TO_GSTTIME (demux->scr_adjust)));
+ #if 0
+       g_print ("sending new segment: rate %g format %d, start: %"
+-- 
+2.4.2
+
diff --git a/gstreamer1-plugins-bad-free.spec b/gstreamer1-plugins-bad-free.spec
index 9dd70b7..1f60945 100644
--- a/gstreamer1-plugins-bad-free.spec
+++ b/gstreamer1-plugins-bad-free.spec
@@ -10,7 +10,7 @@
 
 Name:           gstreamer1-plugins-bad-free
 Version:        1.4.5
-Release:        2%{?dist}
+Release:        3%{?dist}
 Summary:        GStreamer streaming media framework "bad" plugins
 
 License:        LGPLv2+ and LGPLv2
@@ -21,6 +21,7 @@ URL:            http://gstreamer.freedesktop.org/
 Source0:        gst-plugins-bad-free-%{version}.tar.xz
 Source1:        gst-p-bad-cleanup.sh
 Patch1:         0001-srtpdec-Add-support-for-RTP-RTCP-mixing-if-data-arri.patch
+Patch2:         0001-resindvd-Don-t-send-meaningless-segment-position-dow.patch
 
 BuildRequires:  gstreamer1-devel >= %{version}
 BuildRequires:  gstreamer1-plugins-base-devel >= %{version}
@@ -149,6 +150,7 @@ aren't tested well enough, or the code is not of good enough quality.
 %prep
 %setup -q -n gst-plugins-bad-%{version}
 %patch1 -p1
+%patch2 -p1
 
 
 %build
@@ -345,6 +347,9 @@ chrpath --delete $RPM_BUILD_ROOT%{_libdir}/gstreamer-%{majorminor}/libgstcamerab
 %{_libdir}/pkgconfig/gstreamer-plugins-bad-%{majorminor}.pc
 
 %changelog
+* Mon Jun 15 2015 Wim Taymans <wtaymans at redhat.com> - 1.4.5-3
+- Fix preroll on some DVDs (#1196411)
+
 * Fri Mar 06 2015 David Woodhouse <dwmw2 at infradead.org> - 1.4.5-2
 - Fix RTP/RTCP muxing (#1199578)
 
-- 
cgit v0.10.2


	http://pkgs.fedoraproject.org/cgit/gstreamer1-plugins-bad-free.git/commit/?h=f22&id=49fd7f8681abae9c9d7a0d81b95d82cab978f59c


More information about the scm-commits mailing list