Android-cuttlefish cvd tool
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
cuttlefish::AudioHandler Class Reference

#include <audio_handler.h>

Inheritance diagram for cuttlefish::AudioHandler:
Inheritance graph
[legend]
Collaboration diagram for cuttlefish::AudioHandler:
Collaboration graph
[legend]

Classes

struct  HoldingBuffer
 
struct  StreamDesc
 

Public Member Functions

 AudioHandler (std::unique_ptr< AudioServer > audio_server, std::vector< std::shared_ptr< webrtc_streaming::AudioSink > > audio_sinks, std::shared_ptr< webrtc_streaming::AudioSource > audio_source)
 
 ~AudioHandler () override=default
 
void Start ()
 
void StreamsInfo (StreamInfoCommand &cmd) override
 
void SetStreamParameters (StreamSetParamsCommand &cmd) override
 
void PrepareStream (StreamControlCommand &cmd) override
 
void ReleaseStream (StreamControlCommand &cmd) override
 
void StartStream (StreamControlCommand &cmd) override
 
void StopStream (StreamControlCommand &cmd) override
 
void ChmapsInfo (ChmapInfoCommand &cmd) override
 
void JacksInfo (JackInfoCommand &cmd) override
 
void OnPlaybackBuffer (TxBuffer buffer) override
 
void OnCaptureBuffer (RxBuffer buffer) override
 
- Public Member Functions inherited from cuttlefish::AudioServerExecutor
virtual ~AudioServerExecutor ()=default
 
virtual void StreamsInfo (StreamInfoCommand &cmd)=0
 
virtual void SetStreamParameters (StreamSetParamsCommand &cmd)=0
 
virtual void PrepareStream (StreamControlCommand &cmd)=0
 
virtual void ReleaseStream (StreamControlCommand &cmd)=0
 
virtual void StartStream (StreamControlCommand &cmd)=0
 
virtual void StopStream (StreamControlCommand &cmd)=0
 
virtual void ChmapsInfo (ChmapInfoCommand &cmd)=0
 
virtual void JacksInfo (JackInfoCommand &cmd)=0
 
virtual void OnPlaybackBuffer (TxBuffer buffer)=0
 
virtual void OnCaptureBuffer (RxBuffer buffer)=0
 

Private Member Functions

void Loop ()
 
bool IsCapture (uint32_t stream_id) const
 

Private Attributes

std::vector< std::shared_ptr< webrtc_streaming::AudioSink > > audio_sinks_
 
std::unique_ptr< AudioServeraudio_server_
 
std::thread server_thread_
 
std::vector< StreamDescstream_descs_ = {}
 
std::shared_ptr< webrtc_streaming::AudioSourceaudio_source_
 
std::vector< virtio_snd_pcm_infostreams_
 

Constructor & Destructor Documentation

◆ AudioHandler()

cuttlefish::AudioHandler::AudioHandler ( std::unique_ptr< AudioServer audio_server,
std::vector< std::shared_ptr< webrtc_streaming::AudioSink > >  audio_sinks,
std::shared_ptr< webrtc_streaming::AudioSource audio_source 
)

◆ ~AudioHandler()

cuttlefish::AudioHandler::~AudioHandler ( )
overridedefault

Member Function Documentation

◆ ChmapsInfo()

void cuttlefish::AudioHandler::ChmapsInfo ( ChmapInfoCommand cmd)
overridevirtual

◆ IsCapture()

bool cuttlefish::AudioHandler::IsCapture ( uint32_t  stream_id) const
private

◆ JacksInfo()

void cuttlefish::AudioHandler::JacksInfo ( JackInfoCommand cmd)
overridevirtual

◆ Loop()

void cuttlefish::AudioHandler::Loop ( )
private

◆ OnCaptureBuffer()

void cuttlefish::AudioHandler::OnCaptureBuffer ( RxBuffer  buffer)
overridevirtual

◆ OnPlaybackBuffer()

void cuttlefish::AudioHandler::OnPlaybackBuffer ( TxBuffer  buffer)
overridevirtual

◆ PrepareStream()

void cuttlefish::AudioHandler::PrepareStream ( StreamControlCommand cmd)
overridevirtual

◆ ReleaseStream()

void cuttlefish::AudioHandler::ReleaseStream ( StreamControlCommand cmd)
overridevirtual

◆ SetStreamParameters()

void cuttlefish::AudioHandler::SetStreamParameters ( StreamSetParamsCommand cmd)
overridevirtual

◆ Start()

void cuttlefish::AudioHandler::Start ( )

◆ StartStream()

void cuttlefish::AudioHandler::StartStream ( StreamControlCommand cmd)
overridevirtual

◆ StopStream()

void cuttlefish::AudioHandler::StopStream ( StreamControlCommand cmd)
overridevirtual

◆ StreamsInfo()

void cuttlefish::AudioHandler::StreamsInfo ( StreamInfoCommand cmd)
overridevirtual

Member Data Documentation

◆ audio_server_

std::unique_ptr<AudioServer> cuttlefish::AudioHandler::audio_server_
private

◆ audio_sinks_

std::vector<std::shared_ptr<webrtc_streaming::AudioSink> > cuttlefish::AudioHandler::audio_sinks_
private

◆ audio_source_

std::shared_ptr<webrtc_streaming::AudioSource> cuttlefish::AudioHandler::audio_source_
private

◆ server_thread_

std::thread cuttlefish::AudioHandler::server_thread_
private

◆ stream_descs_

std::vector<StreamDesc> cuttlefish::AudioHandler::stream_descs_ = {}
private

◆ streams_

std::vector<virtio_snd_pcm_info> cuttlefish::AudioHandler::streams_
private

The documentation for this class was generated from the following files: