Camera3StreamSplitter: Split out a refactorable file
Doing this so that I can easily flag guard the splitter and A/B test the
different implementations.
BYPASS_IGBP_IGBC_API_REASON=warren buffers
Bug: 340933206
Flag: com.android.graphics.libgui.flags.wb_stream_splitter
Test: atest cameraservice_test
Change-Id: Ie6769b1b2fba6d63fb054c815d19e2d78ea853e6
diff --git a/services/camera/libcameraservice/tests/Camera3StreamSplitterTest.cpp b/services/camera/libcameraservice/tests/Camera3StreamSplitterTest.cpp
index 3d49ae5..5e32482 100644
--- a/services/camera/libcameraservice/tests/Camera3StreamSplitterTest.cpp
+++ b/services/camera/libcameraservice/tests/Camera3StreamSplitterTest.cpp
@@ -17,10 +17,9 @@
#define LOG_TAG "Camera3StreamSplitterTest"
// #define LOG_NDEBUG 0
-#include "../device3/Camera3StreamSplitter.h"
-
#include <android/hardware_buffer.h>
#include <com_android_graphics_libgui_flags.h>
+#include <com_android_internal_camera_flags.h>
#include <gui/BufferItemConsumer.h>
#include <gui/IGraphicBufferConsumer.h>
#include <gui/IGraphicBufferProducer.h>
@@ -35,6 +34,14 @@
#include <gtest/gtest.h>
+#include "../device3/Flags.h"
+
+#if USE_NEW_STREAM_SPLITTER
+#include "../device3/Camera3StreamSplitter.h"
+#else
+#include "../device3/deprecated/DeprecatedCamera3StreamSplitter.h"
+#endif // USE_NEW_STREAM_SPLITTER
+
using namespace android;
namespace {
@@ -62,10 +69,20 @@
class Camera3StreamSplitterTest : public testing::Test {
public:
- void SetUp() override { mSplitter = sp<Camera3StreamSplitter>::make(); }
+ void SetUp() override {
+#if USE_NEW_STREAM_SPLITTER
+ mSplitter = sp<Camera3StreamSplitter>::make();
+#else
+ mSplitter = sp<DeprecatedCamera3StreamSplitter>::make();
+#endif // USE_NEW_STREAM_SPLITTER
+ }
protected:
+#if USE_NEW_STREAM_SPLITTER
sp<Camera3StreamSplitter> mSplitter;
+#else
+ sp<DeprecatedCamera3StreamSplitter> mSplitter;
+#endif // USE_NEW_STREAM_SPLITTER
};
class TestSurfaceListener : public SurfaceListener {
@@ -102,7 +119,7 @@
} // namespace
-TEST_F(Camera3StreamSplitterTest, TestWithoutSurfaces_NoBuffersConsumed) {
+TEST_F(Camera3StreamSplitterTest, WithoutSurfaces_NoBuffersConsumed) {
sp<Surface> consumer;
EXPECT_EQ(OK, mSplitter->connect({}, kConsumerUsage, kProducerUsage, kHalMaxBuffers, kWidth,
kHeight, kFormat, &consumer, kDynamicRangeProfile));