Merge "Starhub RTSP apparently does not establish time on all tracks"
diff --git a/include/media/AudioSystem.h b/include/media/AudioSystem.h
index 4415d33..49e5690 100644
--- a/include/media/AudioSystem.h
+++ b/include/media/AudioSystem.h
@@ -149,7 +149,6 @@
static status_t setDeviceConnectionState(audio_devices_t device, audio_policy_dev_state_t state, const char *device_address);
static audio_policy_dev_state_t getDeviceConnectionState(audio_devices_t device, const char *device_address);
static status_t setPhoneState(audio_mode_t state);
- static status_t setRingerMode(uint32_t mode, uint32_t mask);
static status_t setForceUse(audio_policy_force_use_t usage, audio_policy_forced_cfg_t config);
static audio_policy_forced_cfg_t getForceUse(audio_policy_force_use_t usage);
static audio_io_handle_t getOutput(audio_stream_type_t stream,
diff --git a/include/media/IAudioPolicyService.h b/include/media/IAudioPolicyService.h
index a83d806..8ddbe0a 100644
--- a/include/media/IAudioPolicyService.h
+++ b/include/media/IAudioPolicyService.h
@@ -46,7 +46,6 @@
virtual audio_policy_dev_state_t getDeviceConnectionState(audio_devices_t device,
const char *device_address) = 0;
virtual status_t setPhoneState(audio_mode_t state) = 0;
- virtual status_t setRingerMode(uint32_t mode, uint32_t mask) = 0;
virtual status_t setForceUse(audio_policy_force_use_t usage, audio_policy_forced_cfg_t config) = 0;
virtual audio_policy_forced_cfg_t getForceUse(audio_policy_force_use_t usage) = 0;
virtual audio_io_handle_t getOutput(audio_stream_type_t stream,
diff --git a/include/media/thread_init.h b/include/media/thread_init.h
deleted file mode 100644
index 2feac86..0000000
--- a/include/media/thread_init.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/*
- * Copyright (C) 2008 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-#ifndef THREAD_INIT_H
-#define THREAD_INIT_H
-
-bool InitializeForThread();
-void UninitializeForThread();
-
-#endif /* THREAD_INIT_H*/
-
diff --git a/media/libmedia/AudioSystem.cpp b/media/libmedia/AudioSystem.cpp
index 7379d68..5ca868a 100644
--- a/media/libmedia/AudioSystem.cpp
+++ b/media/libmedia/AudioSystem.cpp
@@ -49,7 +49,7 @@
const sp<IAudioFlinger>& AudioSystem::get_audio_flinger()
{
Mutex::Autolock _l(gLock);
- if (gAudioFlinger.get() == 0) {
+ if (gAudioFlinger == 0) {
sp<IServiceManager> sm = defaultServiceManager();
sp<IBinder> binder;
do {
@@ -499,7 +499,7 @@
const sp<IAudioPolicyService>& AudioSystem::get_audio_policy_service()
{
gLock.lock();
- if (gAudioPolicyService.get() == 0) {
+ if (gAudioPolicyService == 0) {
sp<IServiceManager> sm = defaultServiceManager();
sp<IBinder> binder;
do {
@@ -555,13 +555,6 @@
return aps->setPhoneState(state);
}
-status_t AudioSystem::setRingerMode(uint32_t mode, uint32_t mask)
-{
- const sp<IAudioPolicyService>& aps = AudioSystem::get_audio_policy_service();
- if (aps == 0) return PERMISSION_DENIED;
- return aps->setRingerMode(mode, mask);
-}
-
status_t AudioSystem::setForceUse(audio_policy_force_use_t usage, audio_policy_forced_cfg_t config)
{
const sp<IAudioPolicyService>& aps = AudioSystem::get_audio_policy_service();
diff --git a/media/libmedia/AudioTrack.cpp b/media/libmedia/AudioTrack.cpp
index 837fcc3..17e3d4b 100644
--- a/media/libmedia/AudioTrack.cpp
+++ b/media/libmedia/AudioTrack.cpp
@@ -43,6 +43,8 @@
#include <system/audio.h>
#include <system/audio_policy.h>
+#include <audio_utils/primitives.h>
+
namespace android {
// ---------------------------------------------------------------------------
@@ -1017,12 +1019,7 @@
if (mFormat == AUDIO_FORMAT_PCM_8_BIT && !(mFlags & AUDIO_POLICY_OUTPUT_FLAG_DIRECT)) {
// Divide capacity by 2 to take expansion into account
toWrite = audioBuffer.size>>1;
- // 8 to 16 bit conversion
- int count = toWrite;
- int16_t *dst = (int16_t *)(audioBuffer.i8);
- while(count--) {
- *dst++ = (int16_t)(*src++^0x80) << 8;
- }
+ memcpy_to_i16_from_u8(audioBuffer.i16, (const uint8_t *) src, toWrite);
} else {
toWrite = audioBuffer.size;
memcpy(audioBuffer.i8, src, toWrite);
@@ -1143,13 +1140,8 @@
if (writtenSize > reqSize) writtenSize = reqSize;
if (mFormat == AUDIO_FORMAT_PCM_8_BIT && !(mFlags & AUDIO_POLICY_OUTPUT_FLAG_DIRECT)) {
- // 8 to 16 bit conversion
- const int8_t *src = audioBuffer.i8 + writtenSize-1;
- int count = writtenSize;
- int16_t *dst = audioBuffer.i16 + writtenSize-1;
- while(count--) {
- *dst-- = (int16_t)(*src--^0x80) << 8;
- }
+ // 8 to 16 bit conversion, note that source and destination are the same address
+ memcpy_to_i16_from_u8(audioBuffer.i16, (const uint8_t *) audioBuffer.i8, writtenSize);
writtenSize <<= 1;
}
diff --git a/media/libmedia/IAudioPolicyService.cpp b/media/libmedia/IAudioPolicyService.cpp
index 6205ebd..e363101 100644
--- a/media/libmedia/IAudioPolicyService.cpp
+++ b/media/libmedia/IAudioPolicyService.cpp
@@ -33,7 +33,7 @@
SET_DEVICE_CONNECTION_STATE = IBinder::FIRST_CALL_TRANSACTION,
GET_DEVICE_CONNECTION_STATE,
SET_PHONE_STATE,
- SET_RINGER_MODE,
+ SET_RINGER_MODE, // reserved, no longer used
SET_FORCE_USE,
GET_FORCE_USE,
GET_OUTPUT,
@@ -100,16 +100,6 @@
return static_cast <status_t> (reply.readInt32());
}
- virtual status_t setRingerMode(uint32_t mode, uint32_t mask)
- {
- Parcel data, reply;
- data.writeInterfaceToken(IAudioPolicyService::getInterfaceDescriptor());
- data.writeInt32(mode);
- data.writeInt32(mask);
- remote()->transact(SET_RINGER_MODE, data, &reply);
- return static_cast <status_t> (reply.readInt32());
- }
-
virtual status_t setForceUse(audio_policy_force_use_t usage, audio_policy_forced_cfg_t config)
{
Parcel data, reply;
@@ -405,14 +395,6 @@
return NO_ERROR;
} break;
- case SET_RINGER_MODE: {
- CHECK_INTERFACE(IAudioPolicyService, data, reply);
- uint32_t mode = data.readInt32();
- uint32_t mask = data.readInt32();
- reply->writeInt32(static_cast <uint32_t>(setRingerMode(mode, mask)));
- return NO_ERROR;
- } break;
-
case SET_FORCE_USE: {
CHECK_INTERFACE(IAudioPolicyService, data, reply);
audio_policy_force_use_t usage = static_cast <audio_policy_force_use_t>(data.readInt32());
diff --git a/media/libmedia/IMediaDeathNotifier.cpp b/media/libmedia/IMediaDeathNotifier.cpp
index 8525482..aeb35a5 100644
--- a/media/libmedia/IMediaDeathNotifier.cpp
+++ b/media/libmedia/IMediaDeathNotifier.cpp
@@ -36,7 +36,7 @@
{
ALOGV("getMediaPlayerService");
Mutex::Autolock _l(sServiceLock);
- if (sMediaPlayerService.get() == 0) {
+ if (sMediaPlayerService == 0) {
sp<IServiceManager> sm = defaultServiceManager();
sp<IBinder> binder;
do {
diff --git a/media/libmedia/Visualizer.cpp b/media/libmedia/Visualizer.cpp
index 478654a..13b64e9 100644
--- a/media/libmedia/Visualizer.cpp
+++ b/media/libmedia/Visualizer.cpp
@@ -73,7 +73,7 @@
if (status == NO_ERROR) {
if (t != 0) {
if (enabled) {
- t->run("AudioTrackThread");
+ t->run("Visualizer");
} else {
t->requestExit();
}
diff --git a/media/libmedia/mediametadataretriever.cpp b/media/libmedia/mediametadataretriever.cpp
index 88e269f..8d53357 100644
--- a/media/libmedia/mediametadataretriever.cpp
+++ b/media/libmedia/mediametadataretriever.cpp
@@ -35,7 +35,7 @@
const sp<IMediaPlayerService>& MediaMetadataRetriever::getService()
{
Mutex::Autolock lock(sServiceLock);
- if (sService.get() == 0) {
+ if (sService == 0) {
sp<IServiceManager> sm = defaultServiceManager();
sp<IBinder> binder;
do {
diff --git a/services/audioflinger/AudioFlinger.cpp b/services/audioflinger/AudioFlinger.cpp
index e2e5214..53b13f7 100644
--- a/services/audioflinger/AudioFlinger.cpp
+++ b/services/audioflinger/AudioFlinger.cpp
@@ -801,7 +801,7 @@
thread = checkPlaybackThread_l(ioHandle);
if (thread == NULL) {
thread = checkRecordThread_l(ioHandle);
- } else if (thread.get() == primaryPlaybackThread_l()) {
+ } else if (thread == primaryPlaybackThread_l()) {
// indicate output device change to all input threads for pre processing
AudioParameter param = AudioParameter(keyValuePairs);
int value;
@@ -5760,7 +5760,7 @@
effect = chain->getEffectFromDesc_l(desc);
}
- ALOGV("createEffect_l() got effect %p on chain %p", effect == 0 ? 0 : effect.get(), chain.get());
+ ALOGV("createEffect_l() got effect %p on chain %p", effect.get(), chain.get());
if (effect == 0) {
int id = mAudioFlinger->nextUniqueId();
diff --git a/services/audioflinger/AudioPolicyService.cpp b/services/audioflinger/AudioPolicyService.cpp
index ba9f8b0..7a408bc 100644
--- a/services/audioflinger/AudioPolicyService.cpp
+++ b/services/audioflinger/AudioPolicyService.cpp
@@ -207,19 +207,6 @@
return NO_ERROR;
}
-status_t AudioPolicyService::setRingerMode(uint32_t mode, uint32_t mask)
-{
- if (mpAudioPolicy == NULL) {
- return NO_INIT;
- }
- if (!checkPermission()) {
- return PERMISSION_DENIED;
- }
-
- mpAudioPolicy->set_ringer_mode(mpAudioPolicy, mode, mask);
- return NO_ERROR;
-}
-
status_t AudioPolicyService::setForceUse(audio_policy_force_use_t usage,
audio_policy_forced_cfg_t config)
{
diff --git a/services/audioflinger/AudioPolicyService.h b/services/audioflinger/AudioPolicyService.h
index cb8c33f..3693cef 100644
--- a/services/audioflinger/AudioPolicyService.h
+++ b/services/audioflinger/AudioPolicyService.h
@@ -59,7 +59,6 @@
audio_devices_t device,
const char *device_address);
virtual status_t setPhoneState(audio_mode_t state);
- virtual status_t setRingerMode(uint32_t mode, uint32_t mask);
virtual status_t setForceUse(audio_policy_force_use_t usage, audio_policy_forced_cfg_t config);
virtual audio_policy_forced_cfg_t getForceUse(audio_policy_force_use_t usage);
virtual audio_io_handle_t getOutput(audio_stream_type_t stream,