summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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. */