diff options
author | nicolasroard <nicolasroard@google.com> | 2013-07-02 11:00:01 -0700 |
---|---|---|
committer | nicolasroard <nicolasroard@google.com> | 2013-07-02 12:42:21 -0700 |
commit | f1f0d01da7742d46a546176081b441bdd23378f6 (patch) | |
tree | 3eef00dd8858bf7ac19ad4fbab8e1d14ade24126 /src/com/android/gallery3d/filtershow/pipeline/SharedBuffer.java | |
parent | a9be5b3d573b1b5511300272fca5b320bdc0aae0 (diff) | |
download | android_packages_apps_Snap-f1f0d01da7742d46a546176081b441bdd23378f6.tar.gz android_packages_apps_Snap-f1f0d01da7742d46a546176081b441bdd23378f6.tar.bz2 android_packages_apps_Snap-f1f0d01da7742d46a546176081b441bdd23378f6.zip |
Pipeline refactoring
Remove the temp representations and instead use a triple
buffer for ImagePresets.
Change-Id: I4cdcfbe4941af72b38fe42385085ff4a20eb78cc
Diffstat (limited to 'src/com/android/gallery3d/filtershow/pipeline/SharedBuffer.java')
-rw-r--r-- | src/com/android/gallery3d/filtershow/pipeline/SharedBuffer.java | 21 |
1 files changed, 7 insertions, 14 deletions
diff --git a/src/com/android/gallery3d/filtershow/pipeline/SharedBuffer.java b/src/com/android/gallery3d/filtershow/pipeline/SharedBuffer.java index 587174668..98e69f60e 100644 --- a/src/com/android/gallery3d/filtershow/pipeline/SharedBuffer.java +++ b/src/com/android/gallery3d/filtershow/pipeline/SharedBuffer.java @@ -17,7 +17,6 @@ package com.android.gallery3d.filtershow.pipeline; import android.graphics.Bitmap; -import android.util.Log; public class SharedBuffer { @@ -26,15 +25,15 @@ public class SharedBuffer { private volatile Buffer mProducer = null; private volatile Buffer mConsumer = null; private volatile Buffer mIntermediate = null; - private volatile boolean mNeedsSwap = false; + private volatile boolean mNeedsSwap = false; private volatile boolean mNeedsRepaint = true; - public SharedBuffer() { - } - - public synchronized void setProducer(Bitmap producer) { - mProducer = new Buffer(producer); + public void setProducer(Bitmap producer) { + Buffer buffer = new Buffer(producer); + synchronized (this) { + mProducer = buffer; + } } public synchronized Buffer getProducer() { @@ -46,22 +45,16 @@ public class SharedBuffer { } public synchronized void swapProducer() { - if (mProducer != null) { - mProducer.sync(); - } Buffer intermediate = mIntermediate; mIntermediate = mProducer; mProducer = intermediate; mNeedsSwap = true; } - public synchronized void swapConsumer() { + public synchronized void swapConsumerIfNeeded() { if (!mNeedsSwap) { return; } - if (mConsumer != null) { - mConsumer.sync(); - } Buffer intermediate = mIntermediate; mIntermediate = mConsumer; mConsumer = intermediate; |