fix circular dependency libnativewindow <-> libui
Bug: 37647680, 37648355
Test: compile, manual
Change-Id: I9cb8a1320d7c73299fb2b081a054eafb8ef086c8
diff --git a/camera/Android.bp b/camera/Android.bp
index 7ff3e89..d49dd2c 100644
--- a/camera/Android.bp
+++ b/camera/Android.bp
@@ -61,6 +61,7 @@
"libbinder",
"libgui",
"libcamera_metadata",
+ "libnativewindow",
],
include_dirs: [
diff --git a/media/libmedia/Android.bp b/media/libmedia/Android.bp
index e9b99b4..4c292ed 100644
--- a/media/libmedia/Android.bp
+++ b/media/libmedia/Android.bp
@@ -14,7 +14,7 @@
"-Wall",
],
shared: {
- shared_libs: ["libutils", "liblog"],
+ shared_libs: ["libutils", "liblog", "libgui"],
},
clang: true,
}
diff --git a/media/libmedia/include/media/OMXBuffer.h b/media/libmedia/include/media/OMXBuffer.h
index 6f79182..3e84858 100644
--- a/media/libmedia/include/media/OMXBuffer.h
+++ b/media/libmedia/include/media/OMXBuffer.h
@@ -19,7 +19,6 @@
#include <cutils/native_handle.h>
#include <media/IOMX.h>
-#include <system/window.h>
#include <utils/StrongPointer.h>
#include <hidl/HidlSupport.h>
diff --git a/media/libstagefright/MediaSync.cpp b/media/libstagefright/MediaSync.cpp
index 0cf6fbf..9278381 100644
--- a/media/libstagefright/MediaSync.cpp
+++ b/media/libstagefright/MediaSync.cpp
@@ -32,6 +32,8 @@
#include <ui/GraphicBuffer.h>
+#include <system/window.h>
+
// Maximum late time allowed for a video frame to be rendered. When a video
// frame arrives later than this number, it will be discarded without rendering.
static const int64_t kMaxAllowedVideoLateTimeUs = 40000ll;
diff --git a/media/libstagefright/SimpleDecodingSource.cpp b/media/libstagefright/SimpleDecodingSource.cpp
index ea7d5af..90b8603 100644
--- a/media/libstagefright/SimpleDecodingSource.cpp
+++ b/media/libstagefright/SimpleDecodingSource.cpp
@@ -36,6 +36,12 @@
//static
sp<SimpleDecodingSource> SimpleDecodingSource::Create(
+ const sp<IMediaSource> &source, uint32_t flags) {
+ return SimpleDecodingSource::Create(source, flags, nullptr, nullptr);
+}
+
+//static
+sp<SimpleDecodingSource> SimpleDecodingSource::Create(
const sp<IMediaSource> &source, uint32_t flags, const sp<ANativeWindow> &nativeWindow,
const char *desiredCodec) {
sp<Surface> surface = static_cast<Surface*>(nativeWindow.get());
diff --git a/media/libstagefright/colorconversion/Android.bp b/media/libstagefright/colorconversion/Android.bp
index 11fe5eb..16e9ded 100644
--- a/media/libstagefright/colorconversion/Android.bp
+++ b/media/libstagefright/colorconversion/Android.bp
@@ -10,7 +10,10 @@
"frameworks/native/include/media/openmax",
],
- shared_libs: ["libui"],
+ shared_libs: [
+ "libui",
+ "libnativewindow",
+ ],
static_libs: ["libyuv_static"],
diff --git a/media/libstagefright/include/ACodec.h b/media/libstagefright/include/ACodec.h
index 22b8657..d049df5 100644
--- a/media/libstagefright/include/ACodec.h
+++ b/media/libstagefright/include/ACodec.h
@@ -15,7 +15,6 @@
*/
#ifndef A_CODEC_H_
-
#define A_CODEC_H_
#include <stdint.h>
@@ -30,6 +29,7 @@
#include <utils/NativeHandle.h>
#include <OMX_Audio.h>
#include <hardware/gralloc.h>
+#include <nativebase/nativebase.h>
#define TRACK_BUFFER_TIMING 0
diff --git a/media/libstagefright/include/FrameRenderTracker.h b/media/libstagefright/include/FrameRenderTracker.h
index 6cbf85d..044699c 100644
--- a/media/libstagefright/include/FrameRenderTracker.h
+++ b/media/libstagefright/include/FrameRenderTracker.h
@@ -20,13 +20,14 @@
#include <utils/RefBase.h>
#include <utils/Timers.h>
-#include <system/window.h>
#include <media/stagefright/foundation/ADebug.h>
#include <media/stagefright/foundation/AString.h>
#include <list>
+struct ANativeWindowBuffer;
+
namespace android {
class Fence;
diff --git a/media/libstagefright/include/SimpleDecodingSource.h b/media/libstagefright/include/SimpleDecodingSource.h
index e6aee6a..a000fde 100644
--- a/media/libstagefright/include/SimpleDecodingSource.h
+++ b/media/libstagefright/include/SimpleDecodingSource.h
@@ -17,8 +17,6 @@
#ifndef SIMPLE_DECODING_SOURCE_H_
#define SIMPLE_DECODING_SOURCE_H_
-#include <system/window.h>
-
#include <media/stagefright/MediaSource.h>
#include <media/stagefright/foundation/AString.h>
#include <media/stagefright/foundation/Mutexed.h>
@@ -26,6 +24,8 @@
#include <utils/Condition.h>
#include <utils/StrongPointer.h>
+struct ANativeWindow;
+
namespace android {
struct ALooper;
@@ -45,10 +45,13 @@
// does not support secure input or pausing.
// if |desiredCodec| is given, use this specific codec.
static sp<SimpleDecodingSource> Create(
- const sp<IMediaSource> &source, uint32_t flags = 0,
- const sp<ANativeWindow> &nativeWindow = NULL,
+ const sp<IMediaSource> &source, uint32_t flags,
+ const sp<ANativeWindow> &nativeWindow,
const char *desiredCodec = NULL);
+ static sp<SimpleDecodingSource> Create(
+ const sp<IMediaSource> &source, uint32_t flags = 0);
+
virtual ~SimpleDecodingSource();
// starts this source (and it's underlying source). |params| is ignored.
diff --git a/media/libstagefright/include/SoftVideoEncoderOMXComponent.h b/media/libstagefright/include/SoftVideoEncoderOMXComponent.h
index b43635d..db5496a 100644
--- a/media/libstagefright/include/SoftVideoEncoderOMXComponent.h
+++ b/media/libstagefright/include/SoftVideoEncoderOMXComponent.h
@@ -21,7 +21,6 @@
#include <media/IOMX.h>
#include "SimpleSoftOMXComponent.h"
-#include <system/window.h>
struct hw_module_t;
diff --git a/media/libstagefright/omx/1.0/WGraphicBufferProducer.cpp b/media/libstagefright/omx/1.0/WGraphicBufferProducer.cpp
index 36bd624..ebe60fd 100644
--- a/media/libstagefright/omx/1.0/WGraphicBufferProducer.cpp
+++ b/media/libstagefright/omx/1.0/WGraphicBufferProducer.cpp
@@ -21,6 +21,7 @@
#include "WGraphicBufferProducer.h"
#include "WProducerListener.h"
#include "Conversion.h"
+#include <system/window.h>
namespace android {
namespace hardware {
diff --git a/media/libstagefright/omx/OMXUtils.cpp b/media/libstagefright/omx/OMXUtils.cpp
index ee6d1d5..a66d565 100644
--- a/media/libstagefright/omx/OMXUtils.cpp
+++ b/media/libstagefright/omx/OMXUtils.cpp
@@ -24,6 +24,7 @@
#include <media/stagefright/foundation/AUtils.h>
#include <media/stagefright/MediaErrors.h>
#include <media/MediaDefs.h>
+#include <system/graphics-base.h>
#include "OMXUtils.h"
namespace android {
diff --git a/media/libstagefright/omx/SoftVideoEncoderOMXComponent.cpp b/media/libstagefright/omx/SoftVideoEncoderOMXComponent.cpp
index 9fe6018..4b83c23 100644
--- a/media/libstagefright/omx/SoftVideoEncoderOMXComponent.cpp
+++ b/media/libstagefright/omx/SoftVideoEncoderOMXComponent.cpp
@@ -36,6 +36,8 @@
#include <hardware/gralloc.h>
+#include <nativebase/nativebase.h>
+
#include <OMX_IndexExt.h>
namespace android {
diff --git a/media/libstagefright/omx/tests/Android.bp b/media/libstagefright/omx/tests/Android.bp
index 46428e3..8bcb99e 100644
--- a/media/libstagefright/omx/tests/Android.bp
+++ b/media/libstagefright/omx/tests/Android.bp
@@ -14,6 +14,7 @@
"libcutils",
"libhidlbase",
"libhidlmemory",
+ "libnativewindow",
"android.hidl.allocator@1.0",
"android.hidl.memory@1.0",
"android.hardware.media.omx@1.0",
diff --git a/media/libstagefright/omx/tests/OMXHarness.cpp b/media/libstagefright/omx/tests/OMXHarness.cpp
index fcc44d8..3266439 100644
--- a/media/libstagefright/omx/tests/OMXHarness.cpp
+++ b/media/libstagefright/omx/tests/OMXHarness.cpp
@@ -41,6 +41,7 @@
#include <media/OMXBuffer.h>
#include <android/hardware/media/omx/1.0/IOmx.h>
#include <media/omx/1.0/WOmx.h>
+#include <system/window.h>
#define DEFAULT_TIMEOUT 500000
diff --git a/media/libstagefright/wifi-display/Android.bp b/media/libstagefright/wifi-display/Android.bp
index be23359..fb08c5b 100644
--- a/media/libstagefright/wifi-display/Android.bp
+++ b/media/libstagefright/wifi-display/Android.bp
@@ -29,6 +29,7 @@
"libstagefright",
"libstagefright_foundation",
"libui",
+ "libgui",
"libutils",
],