Shaka Player Embedded
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
shaka::media::AppleAudioRenderer::Impl Class Reference
Inheritance diagram for shaka::media::AppleAudioRenderer::Impl:
shaka::media::AudioRendererCommon shaka::media::AudioRenderer shaka::media::MediaPlayer::Client shaka::media::Renderer

Public Member Functions

 Impl ()
 
 ~Impl () override
 
bool InitDevice (std::shared_ptr< DecodedFrame > frame, double volume) override
 
bool AppendBuffer (const uint8_t *data, size_t size) override
 
void ClearBuffer () override
 
size_t GetBytesBuffered () const override
 
void SetDeviceState (bool is_playing) override
 
void UpdateVolume (double volume) override
 
- Public Member Functions inherited from shaka::media::AudioRendererCommon
 AudioRendererCommon ()
 
 ~AudioRendererCommon () override
 
void SetPlayer (const MediaPlayer *player) override
 
void Attach (const DecodedStream *stream) override
 
void Detach () override
 
double Volume () const override
 
void SetVolume (double volume) override
 
bool Muted () const override
 
void SetMuted (bool muted) override
 
- Public Member Functions inherited from shaka::media::Renderer
 Renderer ()
 
virtual ~ Renderer ()
 
 Renderer (const Renderer &)=delete
 
Rendereroperator= (const Renderer &)=delete
 
 Renderer (Renderer &&)=delete
 
Rendereroperator= (Renderer &&)=delete
 

Static Public Member Functions

static void OnAudioCallback (void *user_data, AudioQueueRef queue, AudioQueueBufferRef buffer)
 

Public Attributes

util::CFRef< AudioQueueRef > queue_
 
BufferList buffers_
 
std::atomic< size_t > queue_size_
 

Additional Inherited Members

- Protected Member Functions inherited from shaka::media::AudioRendererCommon
void Stop ()
 

Detailed Description

Definition at line 179 of file apple_audio_renderer.cc.

Constructor & Destructor Documentation

§ Impl()

shaka::media::AppleAudioRenderer::Impl::Impl ( )
inline

Definition at line 181 of file apple_audio_renderer.cc.

§ ~Impl()

shaka::media::AppleAudioRenderer::Impl::~Impl ( )
inlineoverride

Definition at line 183 of file apple_audio_renderer.cc.

Member Function Documentation

§ AppendBuffer()

bool shaka::media::AppleAudioRenderer::Impl::AppendBuffer ( const uint8_t *  data,
size_t  size 
)
inlineoverridevirtual

Appends the given data to the end of the audio buffer. It is assumed the data is copied into the buffer.

Parameters
dataThe data to buffer.
sizeThe number of bytes in data.
Returns
True on success, false on error.

Implements shaka::media::AudioRendererCommon.

Definition at line 224 of file apple_audio_renderer.cc.

§ ClearBuffer()

void shaka::media::AppleAudioRenderer::Impl::ClearBuffer ( )
inlineoverridevirtual

Clears any already-buffered audio data in the device.

Implements shaka::media::AudioRendererCommon.

Definition at line 239 of file apple_audio_renderer.cc.

§ GetBytesBuffered()

size_t shaka::media::AppleAudioRenderer::Impl::GetBytesBuffered ( ) const
inlineoverridevirtual

Returns the number of bytes that are currently buffered. It is preferred to return the exact value based on what the hardware is playing; but this may only return the amount internally buffered.

Implements shaka::media::AudioRendererCommon.

Definition at line 249 of file apple_audio_renderer.cc.

§ InitDevice()

bool shaka::media::AppleAudioRenderer::Impl::InitDevice ( std::shared_ptr< DecodedFrame frame,
double  volume 
)
inlineoverridevirtual

Initializes the audio device for playback of audio similar to the given frame. The device should start paused.

If the audio device is already initialized, this must reset it first. If there is any buffered audio, that should be dropped.

Parameters
frameThe frame to initialize for.
volumeThe current effective volume.
Returns
True on success, false on error. If this returns an error, it is assumed to be fatal and audio won't be played anymore.

Implements shaka::media::AudioRendererCommon.

Definition at line 191 of file apple_audio_renderer.cc.

§ OnAudioCallback()

static void shaka::media::AppleAudioRenderer::Impl::OnAudioCallback ( void *  user_data,
AudioQueueRef  queue,
AudioQueueBufferRef  buffer 
)
inlinestatic

Definition at line 276 of file apple_audio_renderer.cc.

§ SetDeviceState()

void shaka::media::AppleAudioRenderer::Impl::SetDeviceState ( bool  is_playing)
inlineoverridevirtual

Changes whether the device is playing or paused.

Implements shaka::media::AudioRendererCommon.

Definition at line 253 of file apple_audio_renderer.cc.

§ UpdateVolume()

void shaka::media::AppleAudioRenderer::Impl::UpdateVolume ( double  volume)
inlineoverridevirtual

Updates the volume of the audio device (0-1). This is called with the effective volume (i.e. this is 0 when muted). If there is no audio device, this does nothing.

Implements shaka::media::AudioRendererCommon.

Definition at line 266 of file apple_audio_renderer.cc.

Member Data Documentation

§ buffers_

BufferList shaka::media::AppleAudioRenderer::Impl::buffers_

Definition at line 292 of file apple_audio_renderer.cc.

§ queue_

util::CFRef<AudioQueueRef> shaka::media::AppleAudioRenderer::Impl::queue_

Definition at line 291 of file apple_audio_renderer.cc.

§ queue_size_

std::atomic<size_t> shaka::media::AppleAudioRenderer::Impl::queue_size_

Definition at line 294 of file apple_audio_renderer.cc.


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