VLC 4.0.0-dev
Loading...
Searching...
No Matches
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_subdec_desc
 
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.
 
void vlc_input_decoder_ChangePause (vlc_input_decoder_t *, bool b_paused, vlc_tick_t i_date)
 This function changes the pause state.
 
void vlc_input_decoder_ChangeRate (vlc_input_decoder_t *dec, float rate)
 Changes the decoder rate.
 
void vlc_input_decoder_StartWait (vlc_input_decoder_t *)
 This function makes the decoder start waiting for a valid data block from its fifo.
 
void vlc_input_decoder_Wait (vlc_input_decoder_t *)
 This function waits for the decoder to actually receive data.
 
void vlc_input_decoder_StopWait (vlc_input_decoder_t *)
 This function exits the waiting mode of the decoder.
 
bool vlc_input_decoder_IsEmpty (vlc_input_decoder_t *)
 This function returns true if the decoder fifo is empty and false otherwise.
 
vlc_input_decoder_tvlc_input_decoder_CreateSubDec (vlc_input_decoder_t *dec, const struct vlc_input_decoder_cfg *cfg)
 This function Creates and adds the requested SubDec.
 
void vlc_input_decoder_FrameNext (vlc_input_decoder_t *p_dec)
 This function forces the display of the next picture.
 
void vlc_subdec_desc_Clean (struct vlc_subdec_desc *desc)
 
void vlc_input_decoder_DecodeWithStatus (vlc_input_decoder_t *p_dec, vlc_frame_t *frame, bool do_pace, struct vlc_input_decoder_status *status)
 Get the last status of the decoder.
 
size_t vlc_input_decoder_GetFifoSize (vlc_input_decoder_t *p_dec)
 This function returns the current size in bytes of the decoder fifo.
 
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_CreateSubDec()

◆ vlc_input_decoder_DecodeWithStatus()

◆ vlc_input_decoder_DelVoutOverlay()

◆ vlc_input_decoder_FrameNext()

◆ 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_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
parentthe VLC object to inherit variable from
cfgthe input decoder configuration
Returns
the spawned decoder object

References decoder_New().

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

◆ 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()

◆ vlc_input_decoder_Wait()

◆ vlc_subdec_desc_Clean()

void vlc_subdec_desc_Clean ( struct vlc_subdec_desc desc)