class ALSAStreamOps
{
- public:
+ protected:
+ friend class AudioStreamOutALSA;
+ friend class AudioStreamInALSA;
+
struct StreamDefaults
{
const char * devicePrefix;
virtual int format() const;
virtual int channelCount() const;
status_t channelCount(int channels);
- const char *streamName();
- virtual status_t setDevice(int mode, uint32_t device);
-
- const char *deviceName(int mode, uint32_t device);
-
- protected:
- friend class AudioStreamOutALSA;
- friend class AudioStreamInALSA;
status_t open(int mode, uint32_t device);
void close();
status_t setPCMFormat(snd_pcm_format_t format);
status_t setHardwareResample(bool resample);
+ status_t setDevice(int mode, uint32_t device);
+
+ const char *streamName();
+ const char *deviceName(int mode, uint32_t device);
+
void setStreamDefaults(StreamDefaults *dev) {
mDefaults = dev;
}
uint32_t mDevice;
StreamDefaults *mDefaults;
- };
+
+ Mutex mLock;
+ bool mPowerLock;
+};
// ----------------------------------------------------------------------------
virtual ssize_t write(const void *buffer, size_t bytes);
virtual status_t dump(int fd, const Vector<String16>& args);
- virtual status_t setDevice(int mode, uint32_t newDevice);
status_t setVolume(float volume);
- status_t standby();
- bool isStandby();
+ virtual status_t standby();
+
+ protected:
+ friend class AudioHardwareALSA;
+
+ status_t setDevice(int mode, uint32_t newDevice);
};
class AudioStreamInALSA : public AudioStreamIn, public ALSAStreamOps
virtual ssize_t read(void* buffer, ssize_t bytes);
virtual status_t dump(int fd, const Vector<String16>& args);
- virtual status_t setDevice(int mode, uint32_t newDevice);
virtual status_t setGain(float gain);
virtual status_t standby();
+ protected:
+ friend class AudioHardwareALSA;
+
+ status_t setDevice(int mode, uint32_t newDevice);
+
private:
AudioSystem::audio_in_acoustics mAcoustics;
};
*/
virtual status_t initCheck();
- /**
- * put the audio hardware into standby mode to conserve power. Returns
- * status based on include/utils/Errors.h
- */
- virtual status_t standby();
-
/** set the audio volume of a voice call. Range is between 0.0 and 1.0 */
virtual status_t setVoiceVolume(float volume);
acoustic_device_t *mAcousticDevice;
private:
- Mutex mLock;
- bool mPowerLock;
+ Mutex mLock;
};
// ----------------------------------------------------------------------------