Upstream patch to fix contrast/brightness in video playback, needed for OLPC
This commit is contained in:
parent
264a725c41
commit
b54755bc54
@ -0,0 +1,52 @@
|
||||
From 2731012d832b593c54a50492a27d328f2de9b596 Mon Sep 17 00:00:00 2001
|
||||
From: Daniel Drake <dsd@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,
|
@ -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@laptop.org> - 1.0.7-2
|
||||
- Upstream patch to fix contrast/brightness in video playback
|
||||
|
||||
* Fri Apr 26 2013 Brian Pepple <bpepple@fedoraproject.org> - 1.0.7-1
|
||||
- Update to 1.0.7.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user