Merge "audio_channel_in/out_mask_from_count"
This commit is contained in:
@ -583,8 +583,7 @@ status_t SimplePlayer::onOutputFormatChanged(
|
||||
AUDIO_STREAM_MUSIC,
|
||||
sampleRate,
|
||||
AUDIO_FORMAT_PCM_16_BIT,
|
||||
(channelCount == 1)
|
||||
? AUDIO_CHANNEL_OUT_MONO : AUDIO_CHANNEL_OUT_STEREO,
|
||||
audio_channel_out_mask_from_count(channelCount),
|
||||
0);
|
||||
|
||||
state->mNumFramesWritten = 0;
|
||||
|
@ -32,9 +32,7 @@ int main() {
|
||||
sp<MediaSource> source = new AudioSource(
|
||||
AUDIO_SOURCE_DEFAULT,
|
||||
kSampleRate,
|
||||
kNumChannels == 1
|
||||
? AUDIO_CHANNEL_IN_MONO
|
||||
: AUDIO_CHANNEL_IN_STEREO);
|
||||
audio_channel_in_mask_from_count(kNumChannels));
|
||||
#endif
|
||||
|
||||
sp<MetaData> meta = new MetaData;
|
||||
|
@ -105,9 +105,8 @@ void AAH_DecoderPump::queueToRenderer(MediaBuffer* decoded_sample) {
|
||||
AudioTrack::getMinFrameCount(&frameCount,
|
||||
AUDIO_STREAM_DEFAULT,
|
||||
static_cast<int>(format_sample_rate_));
|
||||
int ch_format = (format_channels_ == 1)
|
||||
? AUDIO_CHANNEL_OUT_MONO
|
||||
: AUDIO_CHANNEL_OUT_STEREO;
|
||||
audio_channel_mask_t ch_format =
|
||||
audio_channel_out_mask_from_count(format_channels_);
|
||||
|
||||
res = renderer_->set(AUDIO_STREAM_DEFAULT,
|
||||
format_sample_rate_,
|
||||
|
@ -75,7 +75,7 @@ class AAH_DecoderPump : public MediaSource {
|
||||
void stopAndCleanupRenderer();
|
||||
|
||||
sp<MetaData> format_;
|
||||
int32_t format_channels_;
|
||||
int32_t format_channels_; // channel count, not channel mask
|
||||
int32_t format_sample_rate_;
|
||||
|
||||
sp<MediaSource> decoder_;
|
||||
|
@ -956,10 +956,9 @@ void Session_GetConfig(preproc_session_t *session, effect_config_t *config)
|
||||
memset(config, 0, sizeof(effect_config_t));
|
||||
config->inputCfg.samplingRate = config->outputCfg.samplingRate = session->samplingRate;
|
||||
config->inputCfg.format = config->outputCfg.format = AUDIO_FORMAT_PCM_16_BIT;
|
||||
config->inputCfg.channels = session->inChannelCount == 1 ?
|
||||
AUDIO_CHANNEL_IN_MONO : AUDIO_CHANNEL_IN_STEREO;
|
||||
config->outputCfg.channels = session->outChannelCount == 1 ?
|
||||
AUDIO_CHANNEL_IN_MONO : AUDIO_CHANNEL_IN_STEREO;
|
||||
config->inputCfg.channels = audio_channel_in_mask_from_count(session->inChannelCount);
|
||||
// "out" doesn't mean output device, so this is the correct API to convert channel count to mask
|
||||
config->outputCfg.channels = audio_channel_in_mask_from_count(session->outChannelCount);
|
||||
config->inputCfg.mask = config->outputCfg.mask =
|
||||
(EFFECT_CONFIG_SMP_RATE | EFFECT_CONFIG_CHANNELS | EFFECT_CONFIG_FORMAT);
|
||||
}
|
||||
@ -999,7 +998,7 @@ void Session_GetReverseConfig(preproc_session_t *session, effect_config_t *confi
|
||||
config->inputCfg.samplingRate = config->outputCfg.samplingRate = session->samplingRate;
|
||||
config->inputCfg.format = config->outputCfg.format = AUDIO_FORMAT_PCM_16_BIT;
|
||||
config->inputCfg.channels = config->outputCfg.channels =
|
||||
session->revChannelCount == 1 ? AUDIO_CHANNEL_IN_MONO : AUDIO_CHANNEL_IN_STEREO;
|
||||
audio_channel_in_mask_from_count(session->revChannelCount);
|
||||
config->inputCfg.mask = config->outputCfg.mask =
|
||||
(EFFECT_CONFIG_SMP_RATE | EFFECT_CONFIG_CHANNELS | EFFECT_CONFIG_FORMAT);
|
||||
}
|
||||
|
@ -92,7 +92,7 @@ int JetPlayer::init()
|
||||
mAudioTrack->set(AUDIO_STREAM_MUSIC, //TODO parametrize this
|
||||
pLibConfig->sampleRate,
|
||||
AUDIO_FORMAT_PCM_16_BIT,
|
||||
(pLibConfig->numChannels == 2) ? AUDIO_CHANNEL_OUT_STEREO : AUDIO_CHANNEL_OUT_MONO,
|
||||
audio_channel_out_mask_from_count(pLibConfig->numChannels),
|
||||
mTrackBufferSize,
|
||||
AUDIO_POLICY_OUTPUT_FLAG_NONE);
|
||||
|
||||
|
@ -1514,7 +1514,7 @@ status_t MediaPlayerService::AudioOutput::open(
|
||||
frameCount = (sampleRate*afFrameCount*bufferCount)/afSampleRate;
|
||||
|
||||
if (channelMask == CHANNEL_MASK_USE_CHANNEL_ORDER) {
|
||||
channelMask = audio_channel_mask_from_count(channelCount);
|
||||
channelMask = audio_channel_out_mask_from_count(channelCount);
|
||||
if (0 == channelMask) {
|
||||
ALOGE("open() error, can\'t derive mask for %d audio channels", channelCount);
|
||||
return NO_INIT;
|
||||
|
@ -144,7 +144,7 @@ status_t AudioPlayer::start(bool sourceAlreadyStarted) {
|
||||
} else {
|
||||
// playing to an AudioTrack, set up mask if necessary
|
||||
audio_channel_mask_t audioMask = channelMask == CHANNEL_MASK_USE_CHANNEL_ORDER ?
|
||||
audio_channel_mask_from_count(numChannels) : channelMask;
|
||||
audio_channel_out_mask_from_count(numChannels) : channelMask;
|
||||
if (0 == audioMask) {
|
||||
return BAD_VALUE;
|
||||
}
|
||||
|
@ -47,22 +47,22 @@ static void AudioRecordCallbackFunction(int event, void *user, void *info) {
|
||||
}
|
||||
|
||||
AudioSource::AudioSource(
|
||||
audio_source_t inputSource, uint32_t sampleRate, uint32_t channels)
|
||||
audio_source_t inputSource, uint32_t sampleRate, uint32_t channelCount)
|
||||
: mStarted(false),
|
||||
mSampleRate(sampleRate),
|
||||
mPrevSampleTimeUs(0),
|
||||
mNumFramesReceived(0),
|
||||
mNumClientOwnedBuffers(0) {
|
||||
|
||||
ALOGV("sampleRate: %d, channels: %d", sampleRate, channels);
|
||||
CHECK(channels == 1 || channels == 2);
|
||||
ALOGV("sampleRate: %d, channelCount: %d", sampleRate, channelCount);
|
||||
CHECK(channelCount == 1 || channelCount == 2);
|
||||
AudioRecord::record_flags flags = (AudioRecord::record_flags)
|
||||
(AudioRecord::RECORD_AGC_ENABLE |
|
||||
AudioRecord::RECORD_NS_ENABLE |
|
||||
AudioRecord::RECORD_IIR_ENABLE);
|
||||
mRecord = new AudioRecord(
|
||||
inputSource, sampleRate, AUDIO_FORMAT_PCM_16_BIT,
|
||||
channels > 1? AUDIO_CHANNEL_IN_STEREO: AUDIO_CHANNEL_IN_MONO,
|
||||
audio_channel_in_mask_from_count(channelCount),
|
||||
4 * kMaxBufferSize / sizeof(int16_t), /* Enable ping-pong buffers */
|
||||
flags,
|
||||
AudioRecordCallbackFunction,
|
||||
|
Reference in New Issue
Block a user