foobar2000 SDK  2015-08-03
Public Member Functions | Private Member Functions
outputabstract

#include <output.h>

+ Inheritance diagram for output:

Public Member Functions

virtual void flush ()=0
 
virtual void force_play ()=0
 
virtual double get_latency ()=0
 
virtual void pause (bool p_state)=0
 
virtual void process_samples (const audio_chunk &p_chunk)=0
 
virtual void update (bool &p_ready)=0
 
virtual void volume_set (double p_val)=0
 
- Public Member Functions inherited from service_base
template<typename outPtr_t >
bool cast (outPtr_t &outPtr)
 
virtual int service_add_ref ()=0 throw ()
 
virtual bool service_query (service_ptr_t< service_base > &p_out, const GUID &p_guid)
 
template<class T >
bool service_query_t (service_ptr_t< T > &p_out)
 
virtual int service_release ()=0 throw ()
 

Private Member Functions

 FB2K_MAKE_SERVICE_INTERFACE (output, service_base)
 

Additional Inherited Members

- Public Types inherited from service_base
typedef service_base t_interface
 
- Protected Member Functions inherited from service_base
 service_base ()
 
 ~service_base ()
 

Detailed Description

Definition at line 95 of file output.h.

Member Function Documentation

output::FB2K_MAKE_SERVICE_INTERFACE ( output  ,
service_base   
)
private
virtual void output::flush ( )
pure virtual

Flushes queued audio data. Called after seeking.

Implemented in output_impl.

virtual void output::force_play ( )
pure virtual

Forces playback of queued data. Called when there's no more data to send, to prevent infinite waiting if output implementation starts actually playing after amount of data in internal buffer reaches some level.

Implemented in output_impl.

virtual double output::get_latency ( )
pure virtual

Retrieves amount of audio data queued for playback, in seconds.

Implemented in output_impl.

virtual void output::pause ( bool  p_state)
pure virtual

Pauses/unpauses playback.

Implemented in output_impl.

virtual void output::process_samples ( const audio_chunk p_chunk)
pure virtual

Sends new samples to the device. Allowed to be called only when update() indicates that the device is ready.

Implemented in output_impl.

virtual void output::update ( bool &  p_ready)
pure virtual

Updates playback; queries whether the device is ready to receive new data.

Parameters
p_readyOn success, receives value indicating whether the device is ready for next process_samples() call.

Implemented in output_impl.

virtual void output::volume_set ( double  p_val)
pure virtual

Sets playback volume. Volume level in dB. Value of 0 indicates full ("100%") volume, negative values indciate different attenuation levels.

Implemented in output_impl.


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