Merge "Move TypeConverter into a shared library"
diff --git a/cmds/stagefright/Android.mk b/cmds/stagefright/Android.mk
index 40726a3..b28d509 100644
--- a/cmds/stagefright/Android.mk
+++ b/cmds/stagefright/Android.mk
@@ -129,7 +129,7 @@
LOCAL_SHARED_LIBRARIES := \
libstagefright liblog libutils libbinder libstagefright_foundation \
- libmedia libgui libcutils libui
+ libmedia libgui libcutils
LOCAL_C_INCLUDES:= \
frameworks/av/media/libstagefright \
@@ -153,7 +153,7 @@
LOCAL_SHARED_LIBRARIES := \
libstagefright liblog libutils libbinder libstagefright_foundation \
- libmedia libgui libcutils libui
+ libmedia libaudioclient libgui libcutils
LOCAL_C_INCLUDES:= \
frameworks/av/media/libstagefright \
@@ -186,7 +186,6 @@
libmedia \
libgui \
libcutils \
- libui \
libRScpp \
LOCAL_C_INCLUDES:= \
@@ -218,7 +217,7 @@
LOCAL_SHARED_LIBRARIES := \
libstagefright liblog libutils libbinder libstagefright_foundation \
- libmedia libgui libcutils libui libc
+ libcutils libc
LOCAL_C_INCLUDES:= \
frameworks/av/media/libstagefright \
diff --git a/media/libaudioclient/Android.mk b/media/libaudioclient/Android.mk
new file mode 100644
index 0000000..348ab50
--- /dev/null
+++ b/media/libaudioclient/Android.mk
@@ -0,0 +1,50 @@
+LOCAL_PATH:= $(call my-dir)
+
+include $(CLEAR_VARS)
+
+LOCAL_SRC_FILES += \
+ AudioEffect.cpp \
+ AudioPolicy.cpp \
+ AudioRecord.cpp \
+ AudioSystem.cpp \
+ AudioTrack.cpp \
+ AudioTrackShared.cpp \
+ IAudioFlinger.cpp \
+ IAudioFlingerClient.cpp \
+ IAudioPolicyService.cpp \
+ IAudioPolicyServiceClient.cpp \
+ IAudioRecord.cpp \
+ IAudioTrack.cpp \
+ IEffect.cpp \
+ IEffectClient.cpp \
+ ToneGenerator.cpp \
+
+LOCAL_SHARED_LIBRARIES := \
+ liblog libcutils libutils libbinder \
+ libdl libaudioutils \
+
+LOCAL_EXPORT_SHARED_LIBRARY_HEADERS := libbinder
+
+# for memory heap analysis
+LOCAL_STATIC_LIBRARIES := libc_malloc_debug_backtrace libc_logging
+
+LOCAL_MODULE:= libaudioclient
+
+LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
+
+LOCAL_C_INCLUDES := \
+ $(TOP)/frameworks/native/include/media/openmax \
+ $(TOP)/frameworks/av/include/media/ \
+ $(TOP)/frameworks/av/media/libstagefright \
+ $(TOP)/frameworks/av/media/libmedia/aidl \
+ $(call include-path-for, audio-utils)
+
+LOCAL_EXPORT_C_INCLUDE_DIRS := \
+ frameworks/av/include/media \
+ frameworks/av/media/libmedia/aidl
+
+LOCAL_CFLAGS += -Werror -Wno-error=deprecated-declarations -Wall
+LOCAL_SANITIZE := unsigned-integer-overflow signed-integer-overflow
+
+include $(BUILD_SHARED_LIBRARY)
+
diff --git a/media/libmedia/AudioEffect.cpp b/media/libaudioclient/AudioEffect.cpp
similarity index 100%
rename from media/libmedia/AudioEffect.cpp
rename to media/libaudioclient/AudioEffect.cpp
diff --git a/media/libmedia/AudioPolicy.cpp b/media/libaudioclient/AudioPolicy.cpp
similarity index 100%
rename from media/libmedia/AudioPolicy.cpp
rename to media/libaudioclient/AudioPolicy.cpp
diff --git a/media/libmedia/AudioRecord.cpp b/media/libaudioclient/AudioRecord.cpp
similarity index 100%
rename from media/libmedia/AudioRecord.cpp
rename to media/libaudioclient/AudioRecord.cpp
diff --git a/media/libmedia/AudioSystem.cpp b/media/libaudioclient/AudioSystem.cpp
similarity index 100%
rename from media/libmedia/AudioSystem.cpp
rename to media/libaudioclient/AudioSystem.cpp
diff --git a/media/libmedia/AudioTrack.cpp b/media/libaudioclient/AudioTrack.cpp
similarity index 100%
rename from media/libmedia/AudioTrack.cpp
rename to media/libaudioclient/AudioTrack.cpp
diff --git a/media/libmedia/AudioTrackShared.cpp b/media/libaudioclient/AudioTrackShared.cpp
similarity index 100%
rename from media/libmedia/AudioTrackShared.cpp
rename to media/libaudioclient/AudioTrackShared.cpp
diff --git a/media/libmedia/IAudioFlinger.cpp b/media/libaudioclient/IAudioFlinger.cpp
similarity index 100%
rename from media/libmedia/IAudioFlinger.cpp
rename to media/libaudioclient/IAudioFlinger.cpp
diff --git a/media/libmedia/IAudioFlingerClient.cpp b/media/libaudioclient/IAudioFlingerClient.cpp
similarity index 100%
rename from media/libmedia/IAudioFlingerClient.cpp
rename to media/libaudioclient/IAudioFlingerClient.cpp
diff --git a/media/libmedia/IAudioPolicyService.cpp b/media/libaudioclient/IAudioPolicyService.cpp
similarity index 100%
rename from media/libmedia/IAudioPolicyService.cpp
rename to media/libaudioclient/IAudioPolicyService.cpp
diff --git a/media/libmedia/IAudioPolicyServiceClient.cpp b/media/libaudioclient/IAudioPolicyServiceClient.cpp
similarity index 100%
rename from media/libmedia/IAudioPolicyServiceClient.cpp
rename to media/libaudioclient/IAudioPolicyServiceClient.cpp
diff --git a/media/libmedia/IAudioRecord.cpp b/media/libaudioclient/IAudioRecord.cpp
similarity index 100%
rename from media/libmedia/IAudioRecord.cpp
rename to media/libaudioclient/IAudioRecord.cpp
diff --git a/media/libmedia/IAudioTrack.cpp b/media/libaudioclient/IAudioTrack.cpp
similarity index 100%
rename from media/libmedia/IAudioTrack.cpp
rename to media/libaudioclient/IAudioTrack.cpp
diff --git a/media/libmedia/IEffect.cpp b/media/libaudioclient/IEffect.cpp
similarity index 100%
rename from media/libmedia/IEffect.cpp
rename to media/libaudioclient/IEffect.cpp
diff --git a/media/libmedia/IEffectClient.cpp b/media/libaudioclient/IEffectClient.cpp
similarity index 100%
rename from media/libmedia/IEffectClient.cpp
rename to media/libaudioclient/IEffectClient.cpp
diff --git a/media/libmedia/ToneGenerator.cpp b/media/libaudioclient/ToneGenerator.cpp
similarity index 100%
rename from media/libmedia/ToneGenerator.cpp
rename to media/libaudioclient/ToneGenerator.cpp
diff --git a/media/libeffects/proxy/EffectProxy.cpp b/media/libeffects/proxy/EffectProxy.cpp
index 7decaf6..14ded6a 100644
--- a/media/libeffects/proxy/EffectProxy.cpp
+++ b/media/libeffects/proxy/EffectProxy.cpp
@@ -236,6 +236,11 @@
// pCmdData points to a memory holding effect_offload_param_t structure
if (cmdCode == EFFECT_CMD_OFFLOAD) {
ALOGV("Effect_command() cmdCode = EFFECT_CMD_OFFLOAD");
+ if (replySize == NULL || *replySize < sizeof(int)) {
+ ALOGV("effectsOffload: Effect_command: CMD_OFFLOAD has no reply");
+ android_errorWriteLog(0x534e4554, "32448121");
+ return FAILED_TRANSACTION;
+ }
if (cmdSize == 0 || pCmdData == NULL) {
ALOGV("effectsOffload: Effect_command: CMD_OFFLOAD has no data");
*(int*)pReplyData = FAILED_TRANSACTION;
diff --git a/media/libmedia/Android.mk b/media/libmedia/Android.mk
index c9dc351..41e4792 100644
--- a/media/libmedia/Android.mk
+++ b/media/libmedia/Android.mk
@@ -10,19 +10,11 @@
aidl/android/IOMXBufferSource.aidl
LOCAL_SRC_FILES += \
- AudioTrack.cpp \
- AudioTrackShared.cpp \
- IAudioFlinger.cpp \
- IAudioFlingerClient.cpp \
- IAudioTrack.cpp \
- IAudioRecord.cpp \
ICrypto.cpp \
IDataSource.cpp \
IDrm.cpp \
IDrmClient.cpp \
IHDCP.cpp \
- AudioRecord.cpp \
- AudioSystem.cpp \
mediaplayer.cpp \
IMediaCodecList.cpp \
IMediaCodecService.cpp \
@@ -52,11 +44,8 @@
mediametadataretriever.cpp \
MidiDeviceInfo.cpp \
MidiIoWrapper.cpp \
- ToneGenerator.cpp \
JetPlayer.cpp \
IOMX.cpp \
- IAudioPolicyService.cpp \
- IAudioPolicyServiceClient.cpp \
MediaScanner.cpp \
MediaScannerClient.cpp \
CharacterEncodingDetector.cpp \
@@ -65,18 +54,13 @@
MediaResource.cpp \
MediaResourcePolicy.cpp \
OMXBuffer.cpp \
- IEffect.cpp \
- IEffectClient.cpp \
- AudioEffect.cpp \
Visualizer.cpp \
- MemoryLeakTrackUtil.cpp \
StringArray.cpp \
- AudioPolicy.cpp
LOCAL_SHARED_LIBRARIES := \
libui liblog libcutils libutils libbinder libsonivox libicuuc libicui18n libexpat \
libcamera_client libstagefright_foundation \
- libgui libdl libaudioutils
+ libgui libdl libaudioutils libaudioclient
LOCAL_EXPORT_SHARED_LIBRARY_HEADERS := libbinder
diff --git a/media/libmediaplayerservice/Android.mk b/media/libmediaplayerservice/Android.mk
index 97e7404..1786e6b 100644
--- a/media/libmediaplayerservice/Android.mk
+++ b/media/libmediaplayerservice/Android.mk
@@ -26,6 +26,7 @@
libdl \
libgui \
libmedia \
+ libaudioclient \
libmediautils \
libmemunreachable \
libstagefright \
diff --git a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp
index 6974207..d2452af 100644
--- a/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp
+++ b/media/libmediaplayerservice/nuplayer/NuPlayerDecoder.cpp
@@ -711,6 +711,10 @@
flags = AUDIO_OUTPUT_FLAG_NONE;
}
+ // TODO: This is a temporary fix to flush audio buffers in renderer. The real
+ // fix should be to wait for all buffers rendered normally, then open a new
+ // AudioSink.
+ mRenderer->flush(true /* audio */, false /* notifyComplete */);
status_t err = mRenderer->openAudioSink(
format, false /* offloadOnly */, hasVideo, flags, NULL /* isOffloaed */);
if (err != OK) {
diff --git a/media/libstagefright/Android.mk b/media/libstagefright/Android.mk
index 4eacff5..9207d05 100644
--- a/media/libstagefright/Android.mk
+++ b/media/libstagefright/Android.mk
@@ -88,6 +88,7 @@
libgui \
liblog \
libmedia \
+ libaudioclient \
libmediautils \
libnetd_client \
libsonivox \
diff --git a/media/utils/Android.mk b/media/utils/Android.mk
index 54d22b1..f482d1a 100644
--- a/media/utils/Android.mk
+++ b/media/utils/Android.mk
@@ -19,6 +19,7 @@
LOCAL_SRC_FILES := \
BatteryNotifier.cpp \
ISchedulingPolicyService.cpp \
+ MemoryLeakTrackUtil.cpp \
SchedulingPolicyService.cpp
LOCAL_SHARED_LIBRARIES := \
@@ -26,6 +27,7 @@
libcutils \
liblog \
libutils \
+ libmemunreachable \
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
diff --git a/media/libmedia/MemoryLeakTrackUtil.cpp b/media/utils/MemoryLeakTrackUtil.cpp
similarity index 100%
rename from media/libmedia/MemoryLeakTrackUtil.cpp
rename to media/utils/MemoryLeakTrackUtil.cpp
diff --git a/services/audioflinger/Android.mk b/services/audioflinger/Android.mk
index 7f22c91..e2a93ad 100644
--- a/services/audioflinger/Android.mk
+++ b/services/audioflinger/Android.mk
@@ -49,7 +49,7 @@
libutils \
liblog \
libbinder \
- libmedia \
+ libaudioclient \
libmedialogservice \
libmediautils \
libnbaio \
diff --git a/services/audiopolicy/Android.mk b/services/audiopolicy/Android.mk
index 932c2bb..3fb545d 100644
--- a/services/audiopolicy/Android.mk
+++ b/services/audiopolicy/Android.mk
@@ -30,7 +30,7 @@
libutils \
liblog \
libbinder \
- libmedia \
+ libaudioclient \
libhardware_legacy \
libserviceutility
diff --git a/services/radio/Android.mk b/services/radio/Android.mk
index 219c372..b4cda19 100644
--- a/services/radio/Android.mk
+++ b/services/radio/Android.mk
@@ -26,7 +26,7 @@
libutils \
libbinder \
libcutils \
- libmedia \
+ libaudioclient \
libhardware \
libradio \
libradio_metadata
diff --git a/services/soundtrigger/Android.mk b/services/soundtrigger/Android.mk
index 2533132..5d01999 100644
--- a/services/soundtrigger/Android.mk
+++ b/services/soundtrigger/Android.mk
@@ -30,7 +30,7 @@
libcutils \
libhardware \
libsoundtrigger \
- libmedia \
+ libaudioclient \
libserviceutility