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
prepare(AudioHardware::SamplingRate samplingRate,int volume,int mode)21 bool 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
AudioRemote(android::sp<RemoteAudio> & remote)33 AudioRemote::AudioRemote(android::sp<RemoteAudio>& remote)
34 : mRemote(remote)
35 {
36
37 }
38
AudioRemotePlayback(android::sp<RemoteAudio> & remote)39 AudioRemotePlayback::AudioRemotePlayback(android::sp<RemoteAudio>& remote)
40 : AudioRemote(remote)
41 {
42
43 }
44
startPlaybackOrRecord(android::sp<Buffer> & buffer,int numberRepetition)45 bool AudioRemotePlayback::startPlaybackOrRecord(android::sp<Buffer>& buffer, int numberRepetition)
46 {
47 //TODO not supported for the moment
48 return false;
49 }
50
waitForCompletion()51 bool AudioRemotePlayback::waitForCompletion()
52 {
53 return mRemote->waitForPlaybackCompletion();
54 }
55
stopPlaybackOrRecord()56 void AudioRemotePlayback::stopPlaybackOrRecord()
57 {
58 mRemote->stopPlayback();
59 }
60
startPlaybackForRemoteData(int id,bool stereo,int numberRepetition)61 bool AudioRemotePlayback::startPlaybackForRemoteData(int id, bool stereo, int numberRepetition)
62 {
63 return mRemote->startPlayback(stereo, mSamplingRate, mMode, mVolume, id, numberRepetition);
64 }
65
AudioRemoteRecording(android::sp<RemoteAudio> & remote)66 AudioRemoteRecording::AudioRemoteRecording(android::sp<RemoteAudio>& remote)
67 : AudioRemote(remote)
68 {
69
70 }
71
startPlaybackOrRecord(android::sp<Buffer> & buffer,int)72 bool 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
waitForCompletion()79 bool AudioRemoteRecording::waitForCompletion()
80 {
81 return mRemote->waitForRecordingCompletion();
82 }
83
stopPlaybackOrRecord()84 void AudioRemoteRecording::stopPlaybackOrRecord()
85 {
86 mRemote->stopRecording();
87 }
88
89
90
91