Commit ac2d29d1 authored by xians@chromium.org's avatar xians@chromium.org

On mono mode, SL_SPEAKER_FRONT_CENTER is the channel mask;

On Stereo mode, SL_SPEAKER_FRONT_LEFT | SL_SPEAKER_FRONT_RIGHT should be used.

For channel more than 2, we don't support it yet.


BUG=143352

Review URL: https://chromiumcodereview.appspot.com/10855218

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152313 0039d316-1c4b-4281-b951-d872f2087c98
parent d925f7cb
...@@ -24,8 +24,13 @@ OpenSLESInputStream::OpenSLESInputStream(AudioManagerAndroid* audio_manager, ...@@ -24,8 +24,13 @@ OpenSLESInputStream::OpenSLESInputStream(AudioManagerAndroid* audio_manager,
format_.samplesPerSec = static_cast<SLuint32>(params.sample_rate() * 1000); format_.samplesPerSec = static_cast<SLuint32>(params.sample_rate() * 1000);
format_.bitsPerSample = params.bits_per_sample(); format_.bitsPerSample = params.bits_per_sample();
format_.containerSize = params.bits_per_sample(); format_.containerSize = params.bits_per_sample();
format_.channelMask = SL_SPEAKER_FRONT_CENTER;
format_.endianness = SL_BYTEORDER_LITTLEENDIAN; format_.endianness = SL_BYTEORDER_LITTLEENDIAN;
if (format_.numChannels == 1)
format_.channelMask = SL_SPEAKER_FRONT_CENTER;
else if (format_.numChannels == 2)
format_.channelMask = SL_SPEAKER_FRONT_LEFT | SL_SPEAKER_FRONT_RIGHT;
else
NOTREACHED() << "Unsupported number of channels: " << format_.numChannels;
buffer_size_bytes_ = params.GetBytesPerBuffer(); buffer_size_bytes_ = params.GetBytesPerBuffer();
......
...@@ -26,8 +26,13 @@ OpenSLESOutputStream::OpenSLESOutputStream(AudioManagerAndroid* manager, ...@@ -26,8 +26,13 @@ OpenSLESOutputStream::OpenSLESOutputStream(AudioManagerAndroid* manager,
format_.samplesPerSec = static_cast<SLuint32>(params.sample_rate() * 1000); format_.samplesPerSec = static_cast<SLuint32>(params.sample_rate() * 1000);
format_.bitsPerSample = params.bits_per_sample(); format_.bitsPerSample = params.bits_per_sample();
format_.containerSize = params.bits_per_sample(); format_.containerSize = params.bits_per_sample();
format_.channelMask = SL_SPEAKER_FRONT_CENTER;
format_.endianness = SL_BYTEORDER_LITTLEENDIAN; format_.endianness = SL_BYTEORDER_LITTLEENDIAN;
if (format_.numChannels == 1)
format_.channelMask = SL_SPEAKER_FRONT_CENTER;
else if (format_.numChannels == 2)
format_.channelMask = SL_SPEAKER_FRONT_LEFT | SL_SPEAKER_FRONT_RIGHT;
else
NOTREACHED() << "Unsupported number of channels: " << format_.numChannels;
buffer_size_bytes_ = params.GetBytesPerBuffer(); buffer_size_bytes_ = params.GetBytesPerBuffer();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment