diff options
Diffstat (limited to 'media/libmedia')
-rw-r--r-- | media/libmedia/AudioRecord.cpp | 32 | ||||
-rw-r--r-- | media/libmedia/AudioSystem.cpp | 7 | ||||
-rw-r--r-- | media/libmedia/AudioTrack.cpp | 43 | ||||
-rw-r--r-- | media/libmedia/IAudioFlinger.cpp | 14 | ||||
-rw-r--r-- | media/libmedia/IMediaMetadataRetriever.cpp | 26 | ||||
-rw-r--r-- | media/libmedia/JetPlayer.cpp | 9 |
6 files changed, 49 insertions, 82 deletions
diff --git a/media/libmedia/AudioRecord.cpp b/media/libmedia/AudioRecord.cpp index 446e3df..a41d7ab 100644 --- a/media/libmedia/AudioRecord.cpp +++ b/media/libmedia/AudioRecord.cpp @@ -88,7 +88,7 @@ AudioRecord::AudioRecord( int inputSource, uint32_t sampleRate, int format, - uint32_t channels, + uint32_t channelMask, int frameCount, uint32_t flags, callback_t cbf, @@ -97,7 +97,7 @@ AudioRecord::AudioRecord( int sessionId) : mStatus(NO_INIT), mSessionId(0) { - mStatus = set(inputSource, sampleRate, format, channels, + mStatus = set(inputSource, sampleRate, format, channelMask, frameCount, flags, cbf, user, notificationFrames, sessionId); } @@ -121,7 +121,7 @@ status_t AudioRecord::set( int inputSource, uint32_t sampleRate, int format, - uint32_t channels, + uint32_t channelMask, int frameCount, uint32_t flags, callback_t cbf, @@ -131,7 +131,7 @@ status_t AudioRecord::set( int sessionId) { - LOGV("set(): sampleRate %d, channels %d, frameCount %d",sampleRate, channels, frameCount); + LOGV("set(): sampleRate %d, channelMask %d, frameCount %d",sampleRate, channelMask, frameCount); AutoMutex lock(mLock); @@ -156,14 +156,14 @@ status_t AudioRecord::set( return BAD_VALUE; } - if (!audio_is_input_channel(channels)) { + if (!audio_is_input_channel(channelMask)) { return BAD_VALUE; } - int channelCount = popcount(channels); + int channelCount = popcount(channelMask); audio_io_handle_t input = AudioSystem::getInput(inputSource, - sampleRate, format, channels, (audio_in_acoustics_t)flags); + sampleRate, format, channelMask, (audio_in_acoustics_t)flags); if (input == 0) { LOGE("Could not get audio input for record source %d", inputSource); return BAD_VALUE; @@ -190,7 +190,7 @@ status_t AudioRecord::set( mSessionId = sessionId; // create the IAudioRecord - status = openRecord_l(sampleRate, format, channelCount, + status = openRecord_l(sampleRate, format, channelMask, frameCount, flags, input); if (status != NO_ERROR) { return status; @@ -209,7 +209,7 @@ status_t AudioRecord::set( // Update buffer size in case it has been limited by AudioFlinger during track creation mFrameCount = mCblk->frameCount; mChannelCount = (uint8_t)channelCount; - mChannels = channels; + mChannelMask = channelMask; mActive = 0; mCbf = cbf; mNotificationFrames = notificationFrames; @@ -315,9 +315,9 @@ status_t AudioRecord::start() cblk->bufferTimeoutMs = MAX_RUN_TIMEOUT_MS; cblk->waitTimeMs = 0; if (t != 0) { - t->run("ClientRecordThread", THREAD_PRIORITY_AUDIO_CLIENT); + t->run("ClientRecordThread", ANDROID_PRIORITY_AUDIO); } else { - setpriority(PRIO_PROCESS, 0, THREAD_PRIORITY_AUDIO_CLIENT); + setpriority(PRIO_PROCESS, 0, ANDROID_PRIORITY_AUDIO); } } else { mActive = 0; @@ -437,8 +437,8 @@ unsigned int AudioRecord::getInputFramesLost() // must be called with mLock held status_t AudioRecord::openRecord_l( uint32_t sampleRate, - int format, - int channelCount, + uint32_t format, + uint32_t channelMask, int frameCount, uint32_t flags, audio_io_handle_t input) @@ -451,7 +451,7 @@ status_t AudioRecord::openRecord_l( sp<IAudioRecord> record = audioFlinger->openRecord(getpid(), input, sampleRate, format, - channelCount, + channelMask, frameCount, ((uint16_t)flags) << 16, &mSessionId, @@ -589,7 +589,7 @@ audio_io_handle_t AudioRecord::getInput_l() { mInput = AudioSystem::getInput(mInputSource, mCblk->sampleRate, - mFormat, mChannels, + mFormat, mChannelMask, (audio_in_acoustics_t)mFlags); return mInput; } @@ -756,7 +756,7 @@ status_t AudioRecord::restoreRecord_l(audio_track_cblk_t*& cblk) // if the new IAudioRecord is created, openRecord_l() will modify the // following member variables: mAudioRecord, mCblkMemory and mCblk. // It will also delete the strong references on previous IAudioRecord and IMemory - result = openRecord_l(cblk->sampleRate, mFormat, mChannelCount, + result = openRecord_l(cblk->sampleRate, mFormat, mChannelMask, mFrameCount, mFlags, getInput_l()); if (result == NO_ERROR) { result = mAudioRecord->start(); diff --git a/media/libmedia/AudioSystem.cpp b/media/libmedia/AudioSystem.cpp index 8a180d8..6cb3847 100644 --- a/media/libmedia/AudioSystem.cpp +++ b/media/libmedia/AudioSystem.cpp @@ -26,13 +26,6 @@ #include <system/audio.h> // ---------------------------------------------------------------------------- -// the sim build doesn't have gettid - -#ifndef HAVE_GETTID -# define gettid getpid -#endif - -// ---------------------------------------------------------------------------- namespace android { diff --git a/media/libmedia/AudioTrack.cpp b/media/libmedia/AudioTrack.cpp index 7520ed9..6b4391b 100644 --- a/media/libmedia/AudioTrack.cpp +++ b/media/libmedia/AudioTrack.cpp @@ -87,7 +87,7 @@ AudioTrack::AudioTrack( int streamType, uint32_t sampleRate, int format, - int channels, + int channelMask, int frameCount, uint32_t flags, callback_t cbf, @@ -96,7 +96,7 @@ AudioTrack::AudioTrack( int sessionId) : mStatus(NO_INIT) { - mStatus = set(streamType, sampleRate, format, channels, + mStatus = set(streamType, sampleRate, format, channelMask, frameCount, flags, cbf, user, notificationFrames, 0, false, sessionId); } @@ -105,7 +105,7 @@ AudioTrack::AudioTrack( int streamType, uint32_t sampleRate, int format, - int channels, + int channelMask, const sp<IMemory>& sharedBuffer, uint32_t flags, callback_t cbf, @@ -114,7 +114,7 @@ AudioTrack::AudioTrack( int sessionId) : mStatus(NO_INIT) { - mStatus = set(streamType, sampleRate, format, channels, + mStatus = set(streamType, sampleRate, format, channelMask, 0, flags, cbf, user, notificationFrames, sharedBuffer, false, sessionId); } @@ -141,7 +141,7 @@ status_t AudioTrack::set( int streamType, uint32_t sampleRate, int format, - int channels, + int channelMask, int frameCount, uint32_t flags, callback_t cbf, @@ -180,8 +180,8 @@ status_t AudioTrack::set( if (format == 0) { format = AUDIO_FORMAT_PCM_16_BIT; } - if (channels == 0) { - channels = AUDIO_CHANNEL_OUT_STEREO; + if (channelMask == 0) { + channelMask = AUDIO_CHANNEL_OUT_STEREO; } // validate parameters @@ -195,15 +195,15 @@ status_t AudioTrack::set( flags |= AUDIO_POLICY_OUTPUT_FLAG_DIRECT; } - if (!audio_is_output_channel(channels)) { + if (!audio_is_output_channel(channelMask)) { LOGE("Invalid channel mask"); return BAD_VALUE; } - uint32_t channelCount = popcount(channels); + uint32_t channelCount = popcount(channelMask); audio_io_handle_t output = AudioSystem::getOutput( (audio_stream_type_t)streamType, - sampleRate,format, channels, + sampleRate,format, channelMask, (audio_policy_output_flags_t)flags); if (output == 0) { @@ -222,8 +222,8 @@ status_t AudioTrack::set( // create the IAudioTrack status_t status = createTrack_l(streamType, sampleRate, - format, - channelCount, + (uint32_t)format, + (uint32_t)channelMask, frameCount, flags, sharedBuffer, @@ -245,8 +245,8 @@ status_t AudioTrack::set( mStatus = NO_ERROR; mStreamType = streamType; - mFormat = format; - mChannels = channels; + mFormat = (uint32_t)format; + mChannelMask = (uint32_t)channelMask; mChannelCount = channelCount; mSharedBuffer = sharedBuffer; mMuted = false; @@ -342,9 +342,9 @@ void AudioTrack::start() cblk->waitTimeMs = 0; android_atomic_and(~CBLK_DISABLED_ON, &cblk->flags); if (t != 0) { - t->run("AudioTrackThread", THREAD_PRIORITY_AUDIO_CLIENT); + t->run("AudioTrackThread", ANDROID_PRIORITY_AUDIO); } else { - setpriority(PRIO_PROCESS, 0, THREAD_PRIORITY_AUDIO_CLIENT); + setpriority(PRIO_PROCESS, 0, ANDROID_PRIORITY_AUDIO); } LOGV("start %p before lock cblk %p", this, mCblk); @@ -681,7 +681,7 @@ audio_io_handle_t AudioTrack::getOutput() audio_io_handle_t AudioTrack::getOutput_l() { return AudioSystem::getOutput((audio_stream_type_t)mStreamType, - mCblk->sampleRate, mFormat, mChannels, (audio_policy_output_flags_t)mFlags); + mCblk->sampleRate, mFormat, mChannelMask, (audio_policy_output_flags_t)mFlags); } int AudioTrack::getSessionId() @@ -705,8 +705,8 @@ status_t AudioTrack::attachAuxEffect(int effectId) status_t AudioTrack::createTrack_l( int streamType, uint32_t sampleRate, - int format, - int channelCount, + uint32_t format, + uint32_t channelMask, int frameCount, uint32_t flags, const sp<IMemory>& sharedBuffer, @@ -767,6 +767,7 @@ status_t AudioTrack::createTrack_l( } } else { // Ensure that buffer alignment matches channelcount + int channelCount = popcount(channelMask); if (((uint32_t)sharedBuffer->pointer() & (channelCount | 1)) != 0) { LOGE("Invalid buffer alignement: address %p, channelCount %d", sharedBuffer->pointer(), channelCount); return BAD_VALUE; @@ -779,7 +780,7 @@ status_t AudioTrack::createTrack_l( streamType, sampleRate, format, - channelCount, + channelMask, frameCount, ((uint16_t)flags) << 16, sharedBuffer, @@ -1164,7 +1165,7 @@ status_t AudioTrack::restoreTrack_l(audio_track_cblk_t*& cblk, bool fromStart) result = createTrack_l(mStreamType, cblk->sampleRate, mFormat, - mChannelCount, + mChannelMask, mFrameCount, mFlags, mSharedBuffer, diff --git a/media/libmedia/IAudioFlinger.cpp b/media/libmedia/IAudioFlinger.cpp index 158d2f5..4a12962 100644 --- a/media/libmedia/IAudioFlinger.cpp +++ b/media/libmedia/IAudioFlinger.cpp @@ -82,8 +82,8 @@ public: pid_t pid, int streamType, uint32_t sampleRate, - int format, - int channelCount, + uint32_t format, + uint32_t channelMask, int frameCount, uint32_t flags, const sp<IMemory>& sharedBuffer, @@ -98,7 +98,7 @@ public: data.writeInt32(streamType); data.writeInt32(sampleRate); data.writeInt32(format); - data.writeInt32(channelCount); + data.writeInt32(channelMask); data.writeInt32(frameCount); data.writeInt32(flags); data.writeStrongBinder(sharedBuffer->asBinder()); @@ -129,8 +129,8 @@ public: pid_t pid, int input, uint32_t sampleRate, - int format, - int channelCount, + uint32_t format, + uint32_t channelMask, int frameCount, uint32_t flags, int *sessionId, @@ -143,7 +143,7 @@ public: data.writeInt32(input); data.writeInt32(sampleRate); data.writeInt32(format); - data.writeInt32(channelCount); + data.writeInt32(channelMask); data.writeInt32(frameCount); data.writeInt32(flags); int lSessionId = 0; @@ -186,7 +186,7 @@ public: return reply.readInt32(); } - virtual int format(int output) const + virtual uint32_t format(int output) const { Parcel data, reply; data.writeInterfaceToken(IAudioFlinger::getInterfaceDescriptor()); diff --git a/media/libmedia/IMediaMetadataRetriever.cpp b/media/libmedia/IMediaMetadataRetriever.cpp index ebe821f..07152d8 100644 --- a/media/libmedia/IMediaMetadataRetriever.cpp +++ b/media/libmedia/IMediaMetadataRetriever.cpp @@ -30,26 +30,6 @@ // foreground thread. #ifndef DISABLE_GROUP_SCHEDULE_HACK -/* desktop Linux needs a little help with gettid() */ -#if defined(HAVE_GETTID) && !defined(HAVE_ANDROID_OS) -#define __KERNEL__ -# include <linux/unistd.h> -#ifdef _syscall0 -_syscall0(pid_t,gettid) -#else -pid_t gettid() { return syscall(__NR_gettid);} -#endif -#undef __KERNEL__ -#endif - -static int myTid() { -#ifdef HAVE_GETTID - return gettid(); -#else - return getpid(); -#endif -} - #undef LOG_TAG #define LOG_TAG "IMediaMetadataRetriever" #include <utils/Log.h> @@ -60,18 +40,18 @@ namespace android { static void sendSchedPolicy(Parcel& data) { SchedPolicy policy; - get_sched_policy(myTid(), &policy); + get_sched_policy(gettid(), &policy); data.writeInt32(policy); } static void setSchedPolicy(const Parcel& data) { SchedPolicy policy = (SchedPolicy) data.readInt32(); - set_sched_policy(myTid(), policy); + set_sched_policy(gettid(), policy); } static void restoreSchedPolicy() { - set_sched_policy(myTid(), SP_FOREGROUND); + set_sched_policy(gettid(), SP_FOREGROUND); } }; // end namespace android #endif diff --git a/media/libmedia/JetPlayer.cpp b/media/libmedia/JetPlayer.cpp index 88157d2..8b953e0 100644 --- a/media/libmedia/JetPlayer.cpp +++ b/media/libmedia/JetPlayer.cpp @@ -23,13 +23,6 @@ #include <media/JetPlayer.h> -#ifdef HAVE_GETTID -static pid_t myTid() { return gettid(); } -#else -static pid_t myTid() { return getpid(); } -#endif - - namespace android { @@ -188,7 +181,7 @@ int JetPlayer::render() { // signal main thread that we started { Mutex::Autolock l(mMutex); - mTid = myTid(); + mTid = gettid(); LOGV("JetPlayer::render(): render thread(%d) signal", mTid); mCondition.signal(); } |