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 +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 - 1.0.7-2 +- Upstream patch to fix contrast/brightness in video playback + * Fri Apr 26 2013 Brian Pepple - 1.0.7-1 - Update to 1.0.7.