[gstreamer1-plugins-base] Upstream patch to fix contrast/brightness in video playback, needed for OLPC
Daniel Drake
dsd at fedoraproject.org
Wed May 29 19:12:29 UTC 2013
commit b54755bc548a54065e22e955d1165378a11f09c1
Author: Daniel Drake <dsd at laptop.org>
Date: Wed May 29 13:07:04 2013 -0600
Upstream patch to fix contrast/brightness in video playback, needed for OLPC
...-pass-translated-color-balance-value-to-c.patch | 52 ++++++++++++++++++++
gstreamer1-plugins-base.spec | 7 ++-
2 files changed, 58 insertions(+), 1 deletions(-)
---
diff --git a/0001-gstplaysink-pass-translated-color-balance-value-to-c.patch b/0001-gstplaysink-pass-translated-color-balance-value-to-c.patch
new file mode 100644
index 0000000..a236750
--- /dev/null
+++ b/0001-gstplaysink-pass-translated-color-balance-value-to-c.patch
@@ -0,0 +1,52 @@
+From 2731012d832b593c54a50492a27d328f2de9b596 Mon Sep 17 00:00:00 2001
+From: Daniel Drake <dsd at laptop.org>
+Date: Wed, 29 May 2013 10:33:48 -0600
+Subject: [PATCH] gstplaysink: pass translated color balance value to channel
+MIME-Version: 1.0
+Content-Type: text/plain; charset=UTF-8
+Content-Transfer-Encoding: 8bit
+
+We found a case where untranslated values were being passed from the
+proxy to the underlying channel, causing bad color balance values
+in some setups.
+
+Thanks to Sebastian Dröge for clarifying how the code works, and
+suggesting the fix.
+
+Fixes https://bugzilla.gnome.org/show_bug.cgi?id=701202
+---
+ gst/playback/gstplaysink.c | 13 ++++++++++++-
+ 1 file changed, 12 insertions(+), 1 deletion(-)
+
+Index: gst-plugins-base-1.0.7/gst/playback/gstplaysink.c
+===================================================================
+--- gst-plugins-base-1.0.7.orig/gst/playback/gstplaysink.c
++++ gst-plugins-base-1.0.7/gst/playback/gstplaysink.c
+@@ -1540,6 +1540,7 @@ update_colorbalance (GstPlaySink * plays
+ GstColorBalanceChannel *proxy = l->data;
+ GstColorBalanceChannel *channel = NULL;
+ const GList *channels, *k;
++ gdouble new_val;
+
+ channels = gst_color_balance_list_channels (balance);
+ for (k = channels; k; k = k->next) {
+@@ -1553,8 +1554,18 @@ update_colorbalance (GstPlaySink * plays
+
+ g_assert (channel);
+
++ /* Convert to [0, 1] range */
++ new_val =
++ ((gdouble) playsink->colorbalance_values[i] -
++ (gdouble) proxy->min_value) / ((gdouble) proxy->max_value -
++ (gdouble) proxy->min_value);
++ /* Convert to channel range */
++ new_val =
++ channel->min_value + new_val * ((gdouble) channel->max_value -
++ (gdouble) channel->min_value);
++
+ gst_color_balance_set_value (balance, channel,
+- playsink->colorbalance_values[i]);
++ (gint) (new_val + 0.5));
+ }
+
+ g_signal_handlers_unblock_by_func (balance,
diff --git a/gstreamer1-plugins-base.spec b/gstreamer1-plugins-base.spec
index bb4b201..c908ab3 100644
--- a/gstreamer1-plugins-base.spec
+++ b/gstreamer1-plugins-base.spec
@@ -2,13 +2,14 @@
Name: gstreamer1-plugins-base
Version: 1.0.7
-Release: 1%{?dist}
+Release: 2%{?dist}
Summary: GStreamer streaming media framework base plugins
License: LGPLv2+
URL: http://gstreamer.freedesktop.org/
Source0: http://gstreamer.freedesktop.org/src/gst-plugins-base/gst-plugins-base-%{version}.tar.xz
Patch0: 0001-missing-plugins-Remove-the-mpegaudioversion-field.patch
+Patch1: 0001-gstplaysink-pass-translated-color-balance-value-to-c.patch
BuildRequires: gstreamer1-devel >= %{version}
BuildRequires: gobject-introspection-devel >= 1.31.1
@@ -87,6 +88,7 @@ for the GStreamer Base Plugins library.
%prep
%setup -q -n gst-plugins-base-%{version}
%patch0 -p1
+%patch1 -p1
%build
@@ -331,6 +333,9 @@ chrpath --delete $RPM_BUILD_ROOT%{_bindir}/gst-discoverer-1.0
%changelog
+* Wed May 29 2013 Daniel Drake <dsd at laptop.org> - 1.0.7-2
+- Upstream patch to fix contrast/brightness in video playback
+
* Fri Apr 26 2013 Brian Pepple <bpepple at fedoraproject.org> - 1.0.7-1
- Update to 1.0.7.
More information about the scm-commits
mailing list