summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcodeworkx <daniel.hillenbrand@codeworkx.de>2011-12-30 15:59:44 +0100
committercodeworkx <daniel.hillenbrand@codeworkx.de>2011-12-30 15:59:44 +0100
commitaa585a5d49347e43d90aa27515457f507504cbcf (patch)
tree26c184d483926463d890666c68a7171d6aaf6a9e
parentd56520a3d738340248d2c8c4fb1f565ac3075f8f (diff)
downloadframeworks_base-aa585a5d49347e43d90aa27515457f507504cbcf.zip
frameworks_base-aa585a5d49347e43d90aa27515457f507504cbcf.tar.gz
frameworks_base-aa585a5d49347e43d90aa27515457f507504cbcf.tar.bz2
samsung: add support for tvout and yamahaplayer services
Change-Id: I653f9876b7fb83734abf3a0b9b9b5af1920b8112
-rw-r--r--cmds/servicemanager/Android.mk6
-rw-r--r--cmds/servicemanager/service_manager.c6
-rw-r--r--media/libmedia/Android.mk4
-rw-r--r--media/libmedia/AudioSystem.cpp20
-rw-r--r--media/mediaserver/Android.mk10
-rw-r--r--media/mediaserver/main_mediaserver.cpp18
6 files changed, 64 insertions, 0 deletions
diff --git a/cmds/servicemanager/Android.mk b/cmds/servicemanager/Android.mk
index ea80c7d..11916a7 100644
--- a/cmds/servicemanager/Android.mk
+++ b/cmds/servicemanager/Android.mk
@@ -12,4 +12,10 @@ LOCAL_MODULE := servicemanager
ifeq ($(BOARD_USE_LVMX),true)
LOCAL_CFLAGS += -DLVMX
endif
+ifeq ($(BOARD_USE_YAMAHAPLAYER),true)
+ LOCAL_CFLAGS += -DYAMAHAPLAYER
+endif
+ifeq ($(BOARD_USE_SECTVOUT),true)
+ LOCAL_CFLAGS += -DSECTVOUT
+endif
include $(BUILD_EXECUTABLE)
diff --git a/cmds/servicemanager/service_manager.c b/cmds/servicemanager/service_manager.c
index 2df450f..5c9a8b3 100644
--- a/cmds/servicemanager/service_manager.c
+++ b/cmds/servicemanager/service_manager.c
@@ -34,6 +34,12 @@ static struct {
{ AID_MEDIA, "media.player" },
{ AID_MEDIA, "media.camera" },
{ AID_MEDIA, "media.audio_policy" },
+#ifdef YAMAHAPLAYER
+ { AID_MEDIA, "media.yamahaplayer" },
+#endif
+#ifdef SECTVOUT
+ { AID_MEDIA, "SecTVOutService" },
+#endif
{ AID_DRM, "drm.drmManager" },
{ AID_NFC, "nfc" },
{ AID_RADIO, "radio.phone" },
diff --git a/media/libmedia/Android.mk b/media/libmedia/Android.mk
index 9ca1a24..4383ff4 100644
--- a/media/libmedia/Android.mk
+++ b/media/libmedia/Android.mk
@@ -56,6 +56,10 @@ ifeq ($(BOARD_USES_AUDIO_LEGACY),true)
endif
endif
+ifeq ($(BOARD_USE_YAMAHAPLAYER),true)
+ LOCAL_CFLAGS += -DYAMAHAPLAYER
+endif
+
LOCAL_SHARED_LIBRARIES := \
libui libcutils libutils libbinder libsonivox libicuuc libexpat \
libcamera_client libstagefright_foundation \
diff --git a/media/libmedia/AudioSystem.cpp b/media/libmedia/AudioSystem.cpp
index 7d28b6f..99cc4e0 100644
--- a/media/libmedia/AudioSystem.cpp
+++ b/media/libmedia/AudioSystem.cpp
@@ -810,5 +810,25 @@ extern "C" bool _ZN7android11AudioSystem15isLowVisibilityENS0_11stream_typeE(aud
#endif // AUDIO_LEGACY
+#ifdef YAMAHAPLAYER
+extern "C" bool _ZN7android11AudioSystem17isSeparatedStreamE19audio_stream_type_t(audio_stream_type_t stream)
+{
+ LOGD("android::AudioSystem::isSeparatedStream(audio_stream_type_t) called!");
+ LOGD("audio_stream_type_t: %d", stream);
+
+/* this is the correct implementation, but breaks headset volume rocker.
+ if (stream == 3 || stream == 9 || stream == 10
+ || stream == 12 || stream == 13 || stream == 14)
+ {
+ LOGD("isSeparatedStream: true");
+ return true;
+ }
+*/
+
+ LOGD("isSeparatedStream: false");
+ return false;
+}
+#endif // YAMAHAPLAYER
+
}; // namespace android
diff --git a/media/mediaserver/Android.mk b/media/mediaserver/Android.mk
index 0559812..376fc52 100644
--- a/media/mediaserver/Android.mk
+++ b/media/mediaserver/Android.mk
@@ -11,6 +11,16 @@ LOCAL_SHARED_LIBRARIES := \
libutils \
libbinder
+ifeq ($(BOARD_USE_YAMAHAPLAYER),true)
+ LOCAL_CFLAGS += -DYAMAHAPLAYER
+ LOCAL_SHARED_LIBRARIES += libmediayamahaservice
+endif
+
+ifeq ($(BOARD_USE_SECTVOUT),true)
+ LOCAL_CFLAGS += -DSECTVOUT
+ LOCAL_SHARED_LIBRARIES += libTVOut
+endif
+
base := $(LOCAL_PATH)/../..
LOCAL_C_INCLUDES := \
diff --git a/media/mediaserver/main_mediaserver.cpp b/media/mediaserver/main_mediaserver.cpp
index 7094cfa..2adddf2 100644
--- a/media/mediaserver/main_mediaserver.cpp
+++ b/media/mediaserver/main_mediaserver.cpp
@@ -33,11 +33,29 @@
using namespace android;
+#ifdef YAMAHAPLAYER
+namespace android { namespace yamaha { namespace media {
+void InstantiateService(void);
+} } }
+#endif
+
+#ifdef SECTVOUT
+namespace android { namespace SecTVOutService {
+void instantiate(void);
+} }
+#endif
+
int main(int argc, char** argv)
{
sp<ProcessState> proc(ProcessState::self());
sp<IServiceManager> sm = defaultServiceManager();
LOGI("ServiceManager: %p", sm.get());
+#ifdef YAMAHAPLAYER
+ yamaha::media::InstantiateService();
+#endif
+#ifdef SECTVOUT
+ SecTVOutService::instantiate();
+#endif
AudioFlinger::instantiate();
MediaPlayerService::instantiate();
CameraService::instantiate();