1/* 2 * Copyright (C) 2012 The Android Open Source Project 3 * 4 * Licensed under the Apache License, Version 2.0 (the "License"); you may not 5 * use this file except in compliance with the License. You may obtain a copy of 6 * the License at 7 * 8 * http://www.apache.org/licenses/LICENSE-2.0 9 * 10 * Unless required by applicable law or agreed to in writing, software 11 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT 12 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the 13 * License for the specific language governing permissions and limitations under 14 * the License. 15 */ 16 17#include "Log.h" 18#include "audio/AudioRemote.h" 19#include "audio/RemoteAudio.h" 20 21bool AudioRemote::prepare(AudioHardware::SamplingRate samplingRate, int volume, int mode) 22{ 23 if (mRemote == NULL) { 24 LOGE("AudioRemote::prepare mRemote NULL"); 25 return false; 26 } 27 mSamplingRate = samplingRate; 28 mVolume = volume; 29 mMode = mode; 30 return true; 31} 32 33AudioRemote::AudioRemote(android::sp<RemoteAudio>& remote) 34 : mRemote(remote) 35{ 36 37} 38 39AudioRemotePlayback::AudioRemotePlayback(android::sp<RemoteAudio>& remote) 40 : AudioRemote(remote) 41{ 42 43} 44 45bool AudioRemotePlayback::startPlaybackOrRecord(android::sp<Buffer>& buffer, int numberRepetition) 46{ 47 //TODO not supported for the moment 48 return false; 49} 50 51bool AudioRemotePlayback::waitForCompletion() 52{ 53 return mRemote->waitForPlaybackCompletion(); 54} 55 56void AudioRemotePlayback::stopPlaybackOrRecord() 57{ 58 mRemote->stopPlayback(); 59} 60 61bool AudioRemotePlayback::startPlaybackForRemoteData(int id, bool stereo, int numberRepetition) 62{ 63 return mRemote->startPlayback(stereo, mSamplingRate, mMode, mVolume, id, numberRepetition); 64} 65 66AudioRemoteRecording::AudioRemoteRecording(android::sp<RemoteAudio>& remote) 67 : AudioRemote(remote) 68{ 69 70} 71 72bool AudioRemoteRecording::startPlaybackOrRecord(android::sp<Buffer>& buffer, 73 int /*numberRepetition*/) 74{ 75 bool stereo = buffer->isStereo(); 76 return mRemote->startRecording(stereo, mSamplingRate, mMode, mVolume, buffer); 77} 78 79bool AudioRemoteRecording::waitForCompletion() 80{ 81 return mRemote->waitForRecordingCompletion(); 82} 83 84void AudioRemoteRecording::stopPlaybackOrRecord() 85{ 86 mRemote->stopRecording(); 87} 88 89 90 91