summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Smith <msmith@xiph.org>2008-06-20 17:02:48 +0000
committerMichael Smith <msmith@xiph.org>2008-06-20 17:02:48 +0000
commit23f5a075ab19a7e65a478269e3ee9a0db52c368e (patch)
tree916568f7d7d8b815d6283e10cc0857ca21d9c0f4
parent9d2564874a5bf4b47c80dbf086f52644afb83ffd (diff)
sys/xvimage/xvimagesink.c: Don't set colour balance values on the Xv port if the user hasn't changed them (via proper...
Original commit message from CVS: * sys/xvimage/xvimagesink.c: Don't set colour balance values on the Xv port if the user hasn't changed them (via properties or the interface). Avoids accumulating rounding errors for the common case. Partial fix for bug #537889.
-rw-r--r--ChangeLog8
-rw-r--r--sys/xvimage/xvimagesink.c5
2 files changed, 13 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 84b46363..b08110f3 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,13 @@
2008-06-20 Michael Smith <msmith@songbirdnest.com>
+ * sys/xvimage/xvimagesink.c:
+ Don't set colour balance values on the Xv port if the user hasn't
+ changed them (via properties or the interface). Avoids accumulating
+ rounding errors for the common case.
+ Partial fix for bug #537889.
+
+2008-06-20 Michael Smith <msmith@songbirdnest.com>
+
* gst/playback/gstdecodebin2.c:
Ensure decodebin2 emits 'drained' signal once, and only once, when all
pads are drained.
diff --git a/sys/xvimage/xvimagesink.c b/sys/xvimage/xvimagesink.c
index b96a2a90..135c1ff2 100644
--- a/sys/xvimage/xvimagesink.c
+++ b/sys/xvimage/xvimagesink.c
@@ -1027,6 +1027,11 @@ gst_xvimagesink_update_colorbalance (GstXvImageSink * xvimagesink)
if (xvimagesink->xcontext == NULL)
return;
+ /* Don't set the attributes if they haven't been changed, to avoid
+ * rounding errors changing the values */
+ if (!xvimagesink->cb_changed)
+ return;
+
/* For each channel of the colorbalance we calculate the correct value
doing range conversion and then set the Xv port attribute to match our
values. */