|
VLC
4.0.0-dev
|

Go to the source code of this file.
Data Structures | |
| struct | input_decoder_callbacks |
Functions | |
| decoder_t * | input_DecoderNew (vlc_object_t *parent, es_format_t *, vlc_clock_t *, input_resource_t *, sout_instance_t *, bool thumbnailing, const struct input_decoder_callbacks *cbs, void *userdata) |
| Spawns a new decoder thread from the input thread. More... | |
| void | input_DecoderChangePause (decoder_t *, bool b_paused, vlc_tick_t i_date) |
| This function changes the pause state. More... | |
| void | input_DecoderChangeRate (decoder_t *dec, float rate) |
| Changes the decoder rate. More... | |
| void | input_DecoderChangeDelay (decoder_t *, vlc_tick_t i_delay) |
| This function changes the delay. More... | |
| void | input_DecoderStartWait (decoder_t *) |
| This function makes the decoder start waiting for a valid data block from its fifo. More... | |
| void | input_DecoderWait (decoder_t *) |
| This function waits for the decoder to actually receive data. More... | |
| void | input_DecoderStopWait (decoder_t *) |
| This function exits the waiting mode of the decoder. More... | |
| bool | input_DecoderIsEmpty (decoder_t *) |
| This function returns true if the decoder fifo is empty and false otherwise. More... | |
| int | input_DecoderSetCcState (decoder_t *, vlc_fourcc_t, int i_channel, bool b_decode) |
| This function activates the request closed caption channel. More... | |
| int | input_DecoderGetCcState (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 | input_DecoderGetCcDesc (decoder_t *, decoder_cc_desc_t *) |
| This function get cc channels descriptions. More... | |
| void | input_DecoderFrameNext (decoder_t *p_dec, vlc_tick_t *pi_duration) |
| This function force the display of the next picture and fills the stream time consumed. More... | |
| bool | input_DecoderHasFormatChanged (decoder_t *p_dec, es_format_t *p_fmt, vlc_meta_t **pp_meta) |
| This function will return true if the ES format or meta data have changed since the last call. More... | |
| size_t | input_DecoderGetFifoSize (decoder_t *p_dec) |
| This function returns the current size in bytes of the decoder fifo. More... | |
| void | input_DecoderSetVoutMouseEvent (decoder_t *, vlc_mouse_event, void *) |
| int | input_DecoderAddVoutOverlay (decoder_t *, subpicture_t *, size_t *) |
| int | input_DecoderDelVoutOverlay (decoder_t *, size_t) |
| int input_DecoderAddVoutOverlay | ( | decoder_t * | , |
| subpicture_t * | , | ||
| size_t * | |||
| ) |
References subpicture_t::b_ephemer, dec_get_owner(), decoder_t::fmt_in, es_format_t::i_cat, subpicture_t::i_channel, subpicture_t::i_order, subpicture_t::i_start, subpicture_t::i_stop, decoder_owner::lock, decoder_owner::p_vout, VIDEO_ES, VLC_EGENERIC, vlc_mutex_lock(), vlc_mutex_unlock(), VLC_SUCCESS, vlc_tick_now(), vout_PutSubpicture(), and vout_RegisterSubpictureChannel().
Referenced by EsOutVaControlLocked().
| void input_DecoderChangeDelay | ( | decoder_t * | , |
| vlc_tick_t | i_delay | ||
| ) |
This function changes the delay.
References dec_get_owner(), decoder_owner::delay, decoder_owner::p_fifo, vlc_fifo_Lock(), and vlc_fifo_Unlock().
Referenced by EsOutDecoderChangeDelay().
| void input_DecoderChangePause | ( | decoder_t * | , |
| 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 dec_get_owner(), decoder_owner::frames_countdown, decoder_owner::p_fifo, decoder_owner::pause_date, decoder_owner::paused, vlc_fifo_Lock(), vlc_fifo_Signal(), and vlc_fifo_Unlock().
Referenced by EsOutDecodersChangePause().
| void input_DecoderChangeRate | ( | decoder_t * | dec, |
| float | rate | ||
| ) |
Changes the decoder rate.
This function changes rate of the intended playback speed to nominal speed.
| dec | decoder |
| rate | playback rate (default is 1) |
References dec_get_owner(), decoder_owner::p_fifo, decoder_owner::request_rate, vlc_fifo_Lock(), and vlc_fifo_Unlock().
Referenced by EsOutChangeRate(), and EsOutCreateDecoder().
| int input_DecoderDelVoutOverlay | ( | decoder_t * | , |
| size_t | |||
| ) |
| void input_DecoderFrameNext | ( | decoder_t * | p_dec, |
| vlc_tick_t * | pi_duration | ||
| ) |
This function force the display of the next picture and fills the stream time consumed.
References dec_get_owner(), decoder_owner::fmt, decoder_owner::frames_countdown, es_format_t::i_cat, decoder_owner::lock, decoder_owner::p_fifo, decoder_owner::p_vout, decoder_owner::paused, VIDEO_ES, vlc_fifo_Lock(), vlc_fifo_Signal(), vlc_fifo_Unlock(), vlc_mutex_lock(), vlc_mutex_unlock(), and vout_NextPicture().
Referenced by EsOutFrameNext().
| void input_DecoderGetCcDesc | ( | decoder_t * | , |
| decoder_cc_desc_t * | |||
| ) |
This function get cc channels descriptions.
References decoder_owner::cc, dec_get_owner(), decoder_owner::desc, decoder_owner::lock, vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by EsOutSend().
| int input_DecoderGetCcState | ( | 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.
References decoder_owner::cc, dec_get_owner(), input_DecoderHasCCChanFlag(), decoder_owner::lock, decoder_owner::pp_decoder, VLC_EGENERIC, vlc_mutex_lock(), vlc_mutex_unlock(), and VLC_SUCCESS.
Referenced by EsIsSelected().
| size_t input_DecoderGetFifoSize | ( | decoder_t * | p_dec | ) |
This function returns the current size in bytes of the decoder fifo.
References block_FifoSize(), dec_get_owner(), and decoder_owner::p_fifo.
Referenced by EsOutIsExtraBufferingAllowed().
| bool input_DecoderHasFormatChanged | ( | decoder_t * | p_dec, |
| es_format_t * | p_fmt, | ||
| vlc_meta_t ** | pp_meta | ||
| ) |
This function will return true if the ES format or meta data have changed since the last call.
In which case, it will do a copy of the current es_format_t if p_fmt is not NULL and will do a copy of the current description if pp_meta is non NULL. The es_format_t MUST be freed by es_format_Clean and *pp_meta MUST be freed by vlc_meta_Delete. Otherwise it will return false and will not initialize p_fmt and *pp_meta.
References decoder_owner::b_fmt_description, dec_get_owner(), es_format_Copy(), decoder_owner::fmt, decoder_owner::lock, decoder_owner::p_description, vlc_meta_Merge(), vlc_meta_New(), vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by EsOutSend().
| bool input_DecoderIsEmpty | ( | decoder_t * | ) |
This function returns true if the decoder fifo is empty and false otherwise.
References AUDIO_ES, decoder_owner::b_draining, decoder_owner::b_waiting, dec_get_owner(), decoder_owner::drained, decoder_owner::fmt, es_format_t::i_cat, decoder_owner::lock, decoder_owner::p_fifo, decoder_owner::p_sout_input, decoder_owner::p_vout, sout_InputIsEmpty(), VIDEO_ES, vlc_fifo_IsEmpty(), vlc_fifo_Lock(), vlc_fifo_Unlock(), vlc_mutex_lock(), vlc_mutex_unlock(), and vout_IsEmpty().
Referenced by EsOutDecodersIsEmpty(), and EsOutDrainDecoder().
| decoder_t* input_DecoderNew | ( | vlc_object_t * | parent, |
| es_format_t * | fmt, | ||
| vlc_clock_t * | p_clock, | ||
| input_resource_t * | resource, | ||
| sout_instance_t * | p_sout, | ||
| bool | thumbnailing, | ||
| const struct input_decoder_callbacks * | cbs, | ||
| void * | cbs_userdata | ||
| ) |
Spawns a new decoder thread from the input thread.
| p_input | the input thread |
| p_es | the es descriptor |
References decoder_New().
Referenced by EsOutCreateDecoder(), EsOutSetRecord(), and input_DecoderSetCcState().
| int input_DecoderSetCcState | ( | decoder_t * | , |
| vlc_fourcc_t | , | ||
| int | i_channel, | ||
| bool | b_decode | ||
| ) |
This function activates the request closed caption channel.
References _, decoder_owner::cc, subs_format_t::cc, dec_get_owner(), DecoderUnsupportedCodec(), decoder_owner::desc, es_format_Init(), decoder_owner::fmt, subs_format_t::i_channel, decoder_cc_desc_t::i_reorder_depth, subs_format_t::i_reorder_depth, input_DecoderDelete(), input_DecoderHasCCChanFlag(), input_DecoderNew(), decoder_owner::lock, msg_Err, decoder_owner::p_clock, decoder_t::p_module, decoder_owner::p_resource, decoder_owner::p_sout, decoder_owner::pp_decoder, SPU_ES, es_format_t::subs, vlc_dialog_display_error, VLC_EGENERIC, vlc_mutex_lock(), vlc_mutex_unlock(), VLC_OBJECT, and VLC_SUCCESS.
Referenced by EsOutSelectEs(), EsOutUnselectEs(), and input_DecoderDelete().
| void input_DecoderSetVoutMouseEvent | ( | decoder_t * | , |
| vlc_mouse_event | , | ||
| void * | |||
| ) |
References dec_get_owner(), decoder_t::fmt_in, es_format_t::i_cat, decoder_owner::mouse_event, decoder_owner::mouse_lock, decoder_owner::mouse_opaque, VIDEO_ES, vlc_mutex_lock(), and vlc_mutex_unlock().
Referenced by EsOutCreateDecoder(), and EsOutVaControlLocked().
| void input_DecoderStartWait | ( | decoder_t * | ) |
This function makes the decoder start waiting for a valid data block from its fifo.
References decoder_owner::b_first, decoder_owner::b_has_data, decoder_owner::b_waiting, dec_get_owner(), decoder_owner::lock, vlc_cond_signal(), vlc_mutex_lock(), vlc_mutex_unlock(), and decoder_owner::wait_request.
Referenced by EsOutChangePosition(), EsOutCreateDecoder(), and EsOutSetRecord().
| void input_DecoderStopWait | ( | decoder_t * | ) |
This function exits the waiting mode of the decoder.
References decoder_owner::b_waiting, dec_get_owner(), decoder_owner::lock, vlc_cond_signal(), vlc_mutex_lock(), vlc_mutex_unlock(), and decoder_owner::wait_request.
Referenced by EsOutDecodersStopBuffering().
| void input_DecoderWait | ( | decoder_t * | ) |
This function waits for the decoder to actually receive data.
References decoder_owner::b_has_data, decoder_owner::b_idle, decoder_owner::b_waiting, dec_get_owner(), decoder_owner::lock, msg_Err, decoder_owner::p_fifo, decoder_owner::paused, vlc_cond_wait(), vlc_fifo_IsEmpty(), vlc_fifo_Lock(), vlc_fifo_Unlock(), vlc_mutex_lock(), vlc_mutex_unlock(), and decoder_owner::wait_acknowledge.
Referenced by EsOutDecodersStopBuffering().
1.8.13