VLC 4.0.0-dev
decoder.h File Reference
Include dependency graph for decoder.h:

Go to the source code of this file.

Data Structures

struct  vlc_input_decoder_callbacks
 
struct  vlc_input_decoder_cfg
 
struct  vlc_input_decoder_status
 

Functions

vlc_input_decoder_tvlc_input_decoder_New (vlc_object_t *parent, const struct vlc_input_decoder_cfg *cfg)
 Spawns a new decoder thread from the input thread. More...
 
void vlc_input_decoder_ChangePause (vlc_input_decoder_t *, bool b_paused, vlc_tick_t i_date)
 This function changes the pause state. More...
 
void vlc_input_decoder_ChangeRate (vlc_input_decoder_t *dec, float rate)
 Changes the decoder rate. More...
 
void vlc_input_decoder_StartWait (vlc_input_decoder_t *)
 This function makes the decoder start waiting for a valid data block from its fifo. More...
 
void vlc_input_decoder_Wait (vlc_input_decoder_t *)
 This function waits for the decoder to actually receive data. More...
 
void vlc_input_decoder_StopWait (vlc_input_decoder_t *)
 This function exits the waiting mode of the decoder. More...
 
bool vlc_input_decoder_IsEmpty (vlc_input_decoder_t *)
 This function returns true if the decoder fifo is empty and false otherwise. More...
 
int vlc_input_decoder_SetCcState (vlc_input_decoder_t *, vlc_fourcc_t, int i_channel, bool b_decode)
 This function activates the request closed caption channel. More...
 
int vlc_input_decoder_GetCcState (vlc_input_decoder_t *, vlc_fourcc_t, int i_channel, bool *pb_decode)
 This function returns an error if the requested channel does not exist and set pb_decode to the channel status(active or not) otherwise. More...
 
void vlc_input_decoder_GetCcDesc (vlc_input_decoder_t *, decoder_cc_desc_t *)
 This function get cc channels descriptions. More...
 
void vlc_input_decoder_FrameNext (vlc_input_decoder_t *p_dec)
 This function forces the display of the next picture. More...
 
void vlc_input_decoder_GetStatus (vlc_input_decoder_t *p_dec, struct vlc_input_decoder_status *status)
 Get the last status of the decoder. More...
 
size_t vlc_input_decoder_GetFifoSize (vlc_input_decoder_t *p_dec)
 This function returns the current size in bytes of the decoder fifo. More...
 
int vlc_input_decoder_GetVbiPage (vlc_input_decoder_t *, bool *opaque)
 
int vlc_input_decoder_SetVbiPage (vlc_input_decoder_t *, unsigned page)
 
int vlc_input_decoder_SetVbiOpaque (vlc_input_decoder_t *, bool opaque)
 
void vlc_input_decoder_SetVoutMouseEvent (vlc_input_decoder_t *, vlc_mouse_event, void *)
 
int vlc_input_decoder_AddVoutOverlay (vlc_input_decoder_t *, subpicture_t *, size_t *)
 
int vlc_input_decoder_DelVoutOverlay (vlc_input_decoder_t *, size_t)
 

Function Documentation

◆ vlc_input_decoder_AddVoutOverlay()

◆ vlc_input_decoder_ChangePause()

void vlc_input_decoder_ChangePause ( vlc_input_decoder_t p_owner,
bool  b_paused,
vlc_tick_t  i_date 
)

This function changes the pause state.

The date parameter MUST hold the exact date at which the change has been done for proper vout/aout pausing.

References vlc_input_decoder_t::frames_countdown, vlc_input_decoder_t::p_fifo, vlc_input_decoder_t::pause_date, vlc_input_decoder_t::paused, vlc_fifo_Lock(), vlc_fifo_Signal(), and vlc_fifo_Unlock().

Referenced by EsOutCreateDecoder(), and EsOutDecodersChangePause().

◆ vlc_input_decoder_ChangeRate()

void vlc_input_decoder_ChangeRate ( vlc_input_decoder_t dec,
float  rate 
)

Changes the decoder rate.

This function changes rate of the intended playback speed to nominal speed.

Parameters
decdecoder
rateplayback rate (default is 1)

References vlc_input_decoder_t::p_fifo, vlc_input_decoder_t::rate, vlc_fifo_Lock(), and vlc_fifo_Unlock().

Referenced by EsOutChangeRate(), and EsOutCreateDecoder().

◆ vlc_input_decoder_DelVoutOverlay()

◆ vlc_input_decoder_FrameNext()

◆ vlc_input_decoder_GetCcDesc()

void vlc_input_decoder_GetCcDesc ( vlc_input_decoder_t ,
decoder_cc_desc_t  
)

This function get cc channels descriptions.

◆ vlc_input_decoder_GetCcState()

int vlc_input_decoder_GetCcState ( vlc_input_decoder_t p_owner,
vlc_fourcc_t  codec,
int  i_channel,
bool *  pb_decode 
)

This function returns an error if the requested channel does not exist and set pb_decode to the channel status(active or not) otherwise.

References vlc_input_decoder_t::cc, vlc_input_decoder_t::lock, vlc_input_decoder_t::pp_decoder, VLC_EGENERIC, vlc_input_decoder_HasCCChanFlag(), vlc_mutex_lock(), vlc_mutex_unlock(), and VLC_SUCCESS.

Referenced by EsIsSelected().

◆ vlc_input_decoder_GetFifoSize()

size_t vlc_input_decoder_GetFifoSize ( vlc_input_decoder_t p_dec)

This function returns the current size in bytes of the decoder fifo.

References block_FifoSize, and vlc_input_decoder_t::p_fifo.

Referenced by EsOutIsExtraBufferingAllowed().

◆ vlc_input_decoder_GetStatus()

◆ vlc_input_decoder_GetVbiPage()

int vlc_input_decoder_GetVbiPage ( vlc_input_decoder_t owner,
bool *  opaque 
)

◆ vlc_input_decoder_IsEmpty()

◆ vlc_input_decoder_New()

vlc_input_decoder_t * vlc_input_decoder_New ( vlc_object_t parent,
const struct vlc_input_decoder_cfg cfg 
)

Spawns a new decoder thread from the input thread.

Parameters
p_inputthe input thread
p_esthe es descriptor
Returns
the spawned decoder object

References decoder_New().

Referenced by EsOutCreateDecoder(), EsOutSetRecord(), and vlc_input_decoder_SetCcState().

◆ vlc_input_decoder_SetCcState()

◆ vlc_input_decoder_SetVbiOpaque()

int vlc_input_decoder_SetVbiOpaque ( vlc_input_decoder_t owner,
bool  opaque 
)

◆ vlc_input_decoder_SetVbiPage()

int vlc_input_decoder_SetVbiPage ( vlc_input_decoder_t owner,
unsigned  page 
)

◆ vlc_input_decoder_SetVoutMouseEvent()

◆ vlc_input_decoder_StartWait()

◆ vlc_input_decoder_StopWait()

void vlc_input_decoder_StopWait ( vlc_input_decoder_t p_owner)

◆ vlc_input_decoder_Wait()