MediaPlayer2: build static libs for some components
Test: compiles
Bug: 63934228
Change-Id: I1791b40a67c87ea3146825767699e5022444e433
diff --git a/media/libmedia/Android.bp b/media/libmedia/Android.bp
index fd7400a..28684da 100644
--- a/media/libmedia/Android.bp
+++ b/media/libmedia/Android.bp
@@ -146,7 +146,7 @@
],
}
-cc_library_shared {
+cc_library {
name: "libmedia",
srcs: [
@@ -249,7 +249,7 @@
},
}
-cc_library_shared {
+cc_library {
name: "libmedia_player2_util",
srcs: [
@@ -259,6 +259,7 @@
"IMediaExtractorService.cpp",
"IMediaSource.cpp",
"IStreamSource.cpp",
+ "MediaCodecBuffer.cpp",
"MediaUtils.cpp",
"Metadata.cpp",
"NdkWrapper.cpp",
@@ -267,7 +268,6 @@
shared_libs: [
"libbinder",
"libcutils",
- "libgui",
"liblog",
"libmediaextractor",
"libmediandk",
@@ -287,9 +287,6 @@
],
static_libs: [
- "libc_malloc_debug_backtrace", // for memory heap analysis
-
- "libstagefright_nuplayer2",
"libstagefright_rtsp",
"libstagefright_timedtext",
],
@@ -316,16 +313,14 @@
},
}
-cc_library_shared {
+cc_library {
name: "libmedia_player2",
srcs: [
- "AudioParameter.cpp",
"JAudioTrack.cpp",
"MediaPlayer2Factory.cpp",
"MediaPlayer2Manager.cpp",
"TestPlayerStub.cpp",
- "TypeConverter.cpp",
"mediaplayer2.cpp",
],
@@ -366,8 +361,7 @@
],
static_libs: [
- "libc_malloc_debug_backtrace", // for memory heap analysis
-
+ "libmedia_helper",
"libstagefright_nuplayer2",
"libstagefright_rtsp",
"libstagefright_timedtext",
diff --git a/media/libmedia/MediaPlayer2Factory.cpp b/media/libmedia/MediaPlayer2Factory.cpp
index d6aab70..df567ce 100644
--- a/media/libmedia/MediaPlayer2Factory.cpp
+++ b/media/libmedia/MediaPlayer2Factory.cpp
@@ -22,7 +22,6 @@
#include <cutils/properties.h>
#include <media/DataSource.h>
#include <media/MediaPlayer2Engine.h>
-#include <media/stagefright/FileSource.h>
#include <media/stagefright/foundation/ADebug.h>
#include <utils/Errors.h>
#include <utils/misc.h>
diff --git a/media/libmedia/MediaPlayer2Manager.cpp b/media/libmedia/MediaPlayer2Manager.cpp
index 720c1e3..c119750 100644
--- a/media/libmedia/MediaPlayer2Manager.cpp
+++ b/media/libmedia/MediaPlayer2Manager.cpp
@@ -64,6 +64,7 @@
#include <memunreachable/memunreachable.h>
#include <system/audio.h>
+#include <system/window.h>
#include <private/android_filesystem_config.h>
@@ -470,8 +471,9 @@
if (unreachableMemory) {
result.append("\nDumping unreachable memory:\n");
// TODO - should limit be an argument parameter?
- std::string s = GetUnreachableMemoryString(true /* contents */, 10000 /* limit */);
- result.append(s.c_str(), s.size());
+ // TODO: enable GetUnreachableMemoryString if it's part of stable API
+ //std::string s = GetUnreachableMemoryString(true /* contents */, 10000 /* limit */);
+ //result.append(s.c_str(), s.size());
}
}
write(fd, result.string(), result.size());
@@ -738,8 +740,8 @@
void MediaPlayer2Manager::Client::disconnectNativeWindow_l() {
if (mConnectedWindow != NULL && mConnectedWindow->getANativeWindow() != NULL) {
- status_t err = nativeWindowDisconnect(
- mConnectedWindow->getANativeWindow(), "disconnectNativeWindow");
+ status_t err = native_window_api_disconnect(
+ mConnectedWindow->getANativeWindow(), NATIVE_WINDOW_API_MEDIA);
if (err != OK) {
ALOGW("nativeWindowDisconnect returned an error: %s (%d)",
@@ -763,7 +765,8 @@
&& mConnectedWindow->getANativeWindow() == nww->getANativeWindow()) {
return OK;
}
- status_t err = nativeWindowConnect(nww->getANativeWindow(), "setVideoSurfaceTexture");
+ status_t err = native_window_api_connect(
+ nww->getANativeWindow(), NATIVE_WINDOW_API_MEDIA);
if (err != OK) {
ALOGE("setVideoSurfaceTexture failed: %d", err);
@@ -792,8 +795,8 @@
mLock.unlock();
} else if (nww != NULL) {
mLock.unlock();
- status_t err = nativeWindowDisconnect(
- nww->getANativeWindow(), "disconnectNativeWindow");
+ status_t err = native_window_api_disconnect(
+ nww->getANativeWindow(), NATIVE_WINDOW_API_MEDIA);
if (err != OK) {
ALOGW("nativeWindowDisconnect returned an error: %s (%d)",
diff --git a/media/libmedia/nuplayer2/GenericSource.cpp b/media/libmedia/nuplayer2/GenericSource.cpp
index 011691a..c0b81fb 100644
--- a/media/libmedia/nuplayer2/GenericSource.cpp
+++ b/media/libmedia/nuplayer2/GenericSource.cpp
@@ -33,7 +33,6 @@
#include <media/stagefright/foundation/ADebug.h>
#include <media/stagefright/foundation/AMessage.h>
#include <media/stagefright/DataSourceFactory.h>
-#include <media/stagefright/FileSource.h>
#include <media/stagefright/InterfaceUtils.h>
#include <media/stagefright/MediaBuffer.h>
#include <media/stagefright/MediaClock.h>
diff --git a/media/libmedia/nuplayer2/NuPlayer2Decoder.cpp b/media/libmedia/nuplayer2/NuPlayer2Decoder.cpp
index 25d41f3..715d6fc 100644
--- a/media/libmedia/nuplayer2/NuPlayer2Decoder.cpp
+++ b/media/libmedia/nuplayer2/NuPlayer2Decoder.cpp
@@ -40,6 +40,7 @@
#include <media/stagefright/MediaErrors.h>
#include <media/stagefright/SurfaceUtils.h>
+#include <system/window.h>
#include "ATSParser.h"
namespace android {
@@ -241,22 +242,25 @@
//
// at this point MediaPlayer2Manager::client has already connected to the
// surface, which MediaCodec does not expect
- err = nativeWindowDisconnect(nww->getANativeWindow(), "kWhatSetVideoSurface(nww)");
+ err = native_window_api_disconnect(nww->getANativeWindow(),
+ NATIVE_WINDOW_API_MEDIA);
if (err == OK) {
err = mCodec->setOutputSurface(nww);
ALOGI_IF(err, "codec setOutputSurface returned: %d", err);
if (err == OK) {
// reconnect to the old surface as MPS::Client will expect to
// be able to disconnect from it.
- (void)nativeWindowConnect(mNativeWindow->getANativeWindow(),
- "kWhatSetVideoSurface(mNativeWindow)");
+ (void)native_window_api_connect(mNativeWindow->getANativeWindow(),
+ NATIVE_WINDOW_API_MEDIA);
+
mNativeWindow = nww;
}
}
if (err != OK) {
// reconnect to the new surface on error as MPS::Client will expect to
// be able to disconnect from it.
- (void)nativeWindowConnect(nww->getANativeWindow(), "kWhatSetVideoSurface(err)");
+ (void)native_window_api_connect(nww->getANativeWindow(),
+ NATIVE_WINDOW_API_MEDIA);
}
}
@@ -326,7 +330,8 @@
status_t err;
if (mNativeWindow != NULL && mNativeWindow->getANativeWindow() != NULL) {
// disconnect from surface as MediaCodec will reconnect
- err = nativeWindowDisconnect(mNativeWindow->getANativeWindow(), "onConfigure");
+ err = native_window_api_disconnect(mNativeWindow->getANativeWindow(),
+ NATIVE_WINDOW_API_MEDIA);
// We treat this as a warning, as this is a preparatory step.
// Codec will try to connect to the surface, which is where
// any error signaling will occur.
@@ -540,7 +545,8 @@
if (mNativeWindow != NULL && mNativeWindow->getANativeWindow() != NULL) {
// reconnect to surface as MediaCodec disconnected from it
- status_t error = nativeWindowConnect(mNativeWindow->getANativeWindow(), "onShutdown");
+ status_t error = native_window_api_connect(mNativeWindow->getANativeWindow(),
+ NATIVE_WINDOW_API_MEDIA);
ALOGW_IF(error != NO_ERROR,
"[%s] failed to connect to native window, error=%d",
mComponentName.c_str(), error);