diff options
Diffstat (limited to 'media/libmediaplayerservice/MediaPlayerService.cpp')
-rw-r--r-- | media/libmediaplayerservice/MediaPlayerService.cpp | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/media/libmediaplayerservice/MediaPlayerService.cpp b/media/libmediaplayerservice/MediaPlayerService.cpp index 77f7434..1d960c5 100644 --- a/media/libmediaplayerservice/MediaPlayerService.cpp +++ b/media/libmediaplayerservice/MediaPlayerService.cpp @@ -1310,11 +1310,21 @@ status_t MediaPlayerService::AudioOutput::open( AudioTrack *t; if (mCallback != NULL) { t = new AudioTrack( - mStreamType, sampleRate, format, channelCount, frameCount, - 0 /* flags */, CallbackWrapper, this); + mStreamType, + sampleRate, + format, + (channelCount == 2) ? AudioSystem::CHANNEL_OUT_STEREO : AudioSystem::CHANNEL_OUT_MONO, + frameCount, + 0 /* flags */, + CallbackWrapper, + this); } else { t = new AudioTrack( - mStreamType, sampleRate, format, channelCount, frameCount); + mStreamType, + sampleRate, + format, + (channelCount == 2) ? AudioSystem::CHANNEL_OUT_STEREO : AudioSystem::CHANNEL_OUT_MONO, + frameCount); } if ((t == 0) || (t->initCheck() != NO_ERROR)) { |