[Pkg-gstreamer-commits] [gst-plugins-base0.10] 03/04: Cherry-pick from upstream to hopefully fix more mp3 to ogg transitions.
Iain Lane
laney at moszumanska.debian.org
Thu Sep 18 15:11:18 UTC 2014
This is an automated email from the git hooks/post-receive script.
laney pushed a commit to branch master
in repository gst-plugins-base0.10.
commit e7c565ab56b63fc1ac7fe65859bdd043b939adb2
Author: Iain Lane <laney at debian.org>
Date: Thu Sep 18 15:50:49 2014 +0100
Cherry-pick from upstream to hopefully fix more mp3 to ogg transitions.
---
debian/changelog | 8 +++
...r-don-t-discard-timestamps-when-consecuti.patch | 62 ++++++++++++++++++++++
debian/patches/series | 1 +
3 files changed, 71 insertions(+)
diff --git a/debian/changelog b/debian/changelog
index fdbe035..60bb5c7 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
+gst-plugins-base0.10 (0.10.36-2) UNRELEASED; urgency=medium
+
+ * Thanks for the NMUs
+ * 0001-audiodecoder-don-t-discard-timestamps-when-consecuti.patch:
+ Cherry-pick from upstream to hopefully fix more mp3 to ogg transitions.
+
+ -- Iain Lane <laney at debian.org> Thu, 18 Sep 2014 15:33:30 +0100
+
gst-plugins-base0.10 (0.10.36-1.3) unstable; urgency=medium
* Non-maintainer upload to fix the previous one.
diff --git a/debian/patches/0001-audiodecoder-don-t-discard-timestamps-when-consecuti.patch b/debian/patches/0001-audiodecoder-don-t-discard-timestamps-when-consecuti.patch
new file mode 100644
index 0000000..ad13345
--- /dev/null
+++ b/debian/patches/0001-audiodecoder-don-t-discard-timestamps-when-consecuti.patch
@@ -0,0 +1,62 @@
+From 38803239c026163589dde04259b00c5fe33ad706 Mon Sep 17 00:00:00 2001
+From: Alessandro Decina <alessandro.d at gmail.com>
+Date: Wed, 4 Apr 2012 20:43:23 +0200
+Subject: [PATCH] audiodecoder: don't discard timestamps when consecutive input
+ buffers have the same ts
+
+Avoid pushing out buffers with the same timestamp only if the out buffers are
+decoded from the same input buffer. Instead keep the timestamps when upstream
+pushes consecutive buffers with the same ts.
+---
+ gst-libs/gst/audio/gstaudiodecoder.c | 12 ++++++++----
+ 1 file changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/gst-libs/gst/audio/gstaudiodecoder.c b/gst-libs/gst/audio/gstaudiodecoder.c
+index 5dfd278..6bc054d 100644
+--- a/gst-libs/gst/audio/gstaudiodecoder.c
++++ b/gst-libs/gst/audio/gstaudiodecoder.c
+@@ -220,6 +220,7 @@ struct _GstAudioDecoderPrivate
+ GstAdapter *adapter;
+ /* tracking input ts for changes */
+ GstClockTime prev_ts;
++ guint64 prev_distance;
+ /* frames obtained from input */
+ GQueue frames;
+ /* collected output data */
+@@ -445,6 +446,7 @@ gst_audio_decoder_reset (GstAudioDecoder * dec, gboolean full)
+ dec->priv->out_ts = GST_CLOCK_TIME_NONE;
+ dec->priv->out_dur = 0;
+ dec->priv->prev_ts = GST_CLOCK_TIME_NONE;
++ dec->priv->prev_distance = 0;
+ dec->priv->drained = TRUE;
+ dec->priv->base_ts = GST_CLOCK_TIME_NONE;
+ dec->priv->samples = 0;
+@@ -977,6 +979,7 @@ gst_audio_decoder_push_buffers (GstAudioDecoder * dec, gboolean force)
+ if (G_LIKELY (av)) {
+ gint len;
+ GstClockTime ts;
++ guint64 distance;
+
+ /* parse if needed */
+ if (klass->parse) {
+@@ -1016,12 +1019,13 @@ gst_audio_decoder_push_buffers (GstAudioDecoder * dec, gboolean force)
+ len = av;
+ }
+ /* track upstream ts, but do not get stuck if nothing new upstream */
+- ts = gst_adapter_prev_timestamp (priv->adapter, NULL);
+- if (ts == priv->prev_ts) {
++ ts = gst_adapter_prev_timestamp (priv->adapter, &distance);
++ if (ts != priv->prev_ts || distance <= priv->prev_distance) {
++ priv->prev_ts = ts;
++ priv->prev_distance = distance;
++ } else {
+ GST_LOG_OBJECT (dec, "ts == prev_ts; discarding");
+ ts = GST_CLOCK_TIME_NONE;
+- } else {
+- priv->prev_ts = ts;
+ }
+ buffer = gst_adapter_take_buffer (priv->adapter, len);
+ buffer = gst_buffer_make_metadata_writable (buffer);
+--
+2.1.0
+
diff --git a/debian/patches/series b/debian/patches/series
index 63135c0..abae8a5 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1,4 @@
10_gnome-vfs-dav-url.patch
20_fix-speex-sse-gcc-4.9.patch
98_fix-ogg-flac-transition.patch
+0001-audiodecoder-don-t-discard-timestamps-when-consecuti.patch
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-gstreamer/gst-plugins-base0.10.git
More information about the Pkg-gstreamer-commits
mailing list