VLC  4.0.0-dev
decoder.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * decoder.h: Input decoder functions
3  *****************************************************************************
4  * Copyright (C) 1998-2008 VLC authors and VideoLAN
5  * Copyright (C) 2008 Laurent Aimar
6  *
7  * Authors: Laurent Aimar <fenrir@via.ecp.fr>
8  *
9  * This program is free software; you can redistribute it and/or modify it
10  * under the terms of the GNU Lesser General Public License as published by
11  * the Free Software Foundation; either version 2.1 of the License, or
12  * (at your option) any later version.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  * GNU Lesser General Public License for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public License
20  * along with this program; if not, write to the Free Software Foundation,
21  * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
22  *****************************************************************************/
23 
24 #ifndef LIBVLC_INPUT_DECODER_H
25 #define LIBVLC_INPUT_DECODER_H 1
26 
27 #include <vlc_common.h>
28 #include <vlc_codec.h>
29 #include <vlc_mouse.h>
30 
32  /* notifications */
33  void (*on_vout_started)(vlc_input_decoder_t *decoder, vout_thread_t *vout,
34  enum vlc_vout_order vout_order,
35  void *userdata);
36  void (*on_vout_stopped)(vlc_input_decoder_t *decoder, vout_thread_t *vout,
37  void *userdata);
38  void (*on_thumbnail_ready)(vlc_input_decoder_t *decoder, picture_t *pic,
39  void *userdata);
40 
41  void (*on_new_video_stats)(vlc_input_decoder_t *decoder, unsigned decoded,
42  unsigned lost, unsigned displayed, unsigned late,
43  void *userdata);
44  void (*on_new_audio_stats)(vlc_input_decoder_t *decoder, unsigned decoded,
45  unsigned lost, unsigned played, void *userdata);
46 
47  /* requests */
48  int (*get_attachments)(vlc_input_decoder_t *decoder,
49  input_attachment_t ***ppp_attachment,
50  void *userdata);
51 };
52 
55  input_resource_t *, sout_instance_t *, bool thumbnailing,
56  const struct vlc_input_decoder_callbacks *cbs,
57  void *userdata ) VLC_USED;
58 
59 /**
60  * This function changes the pause state.
61  * The date parameter MUST hold the exact date at which the change has been
62  * done for proper vout/aout pausing.
63  */
64 void vlc_input_decoder_ChangePause( vlc_input_decoder_t *, bool b_paused, vlc_tick_t i_date );
65 
66 /**
67  * Changes the decoder rate.
68  *
69  * This function changes rate of the intended playback speed to nominal speed.
70  * \param dec decoder
71  * \param rate playback rate (default is 1)
72  */
73 void vlc_input_decoder_ChangeRate( vlc_input_decoder_t *dec, float rate );
74 
75 /**
76  * This function changes the delay.
77  */
79 
80 /**
81  * This function makes the decoder start waiting for a valid data block from its fifo.
82  */
84 
85 /**
86  * This function waits for the decoder to actually receive data.
87  */
89 
90 /**
91  * This function exits the waiting mode of the decoder.
92  */
94 
95 /**
96  * This function returns true if the decoder fifo is empty and false otherwise.
97  */
99 
100 /**
101  * This function activates the request closed caption channel.
102  */
103 int vlc_input_decoder_SetCcState( vlc_input_decoder_t *, vlc_fourcc_t, int i_channel, bool b_decode );
104 
105 /**
106  * This function returns an error if the requested channel does not exist and
107  * set pb_decode to the channel status(active or not) otherwise.
108  */
109 int vlc_input_decoder_GetCcState( vlc_input_decoder_t *, vlc_fourcc_t, int i_channel, bool *pb_decode );
110 
111 /**
112  * This function get cc channels descriptions
113  */
115 
116 /**
117  * This function force the display of the next picture and fills the stream
118  * time consumed.
119  */
120 void vlc_input_decoder_FrameNext( vlc_input_decoder_t *p_dec, vlc_tick_t *pi_duration );
121 
122 /**
123  * This function will return true if the ES format or meta data have changed since
124  * the last call. In which case, it will do a copy of the current es_format_t if p_fmt
125  * is not NULL and will do a copy of the current description if pp_meta is non NULL.
126  * The es_format_t MUST be freed by es_format_Clean and *pp_meta MUST be freed by
127  * vlc_meta_Delete.
128  * Otherwise it will return false and will not initialize p_fmt and *pp_meta.
129  */
131 
132 /**
133  * This function returns the current size in bytes of the decoder fifo
134  */
136 
138 int vlc_input_decoder_SetVbiPage( vlc_input_decoder_t *, unsigned page );
140 
144 
145 #endif
vlc_credential::psz_password
const char * psz_password
valid only if vlc_credential_get() returned true
Definition: vlc_keystore.h:177
vlc_fifo_DequeueAllUnlocked
block_t * vlc_fifo_DequeueAllUnlocked(block_fifo_t *fifo)
Dequeues the all blocks from a locked FIFO.
Definition: fifo.c:83
STREAM_CAN_PAUSE
@ STREAM_CAN_PAUSE
arg1= bool * res=cannot fail
Definition: vlc_stream.h:149
vlc_input_decoder_callbacks::on_new_audio_stats
void(* on_new_audio_stats)(vlc_input_decoder_t *decoder, unsigned decoded, unsigned lost, unsigned played, void *userdata)
Definition: decoder.h:65
vlc_module_begin
#define vlc_module_begin()
Definition: vlc_plugin.h:267
decoder_Destroy
void decoder_Destroy(decoder_t *p_dec)
Destroy a decoder and reset the structure.
Definition: decoder_helpers.c:70
VLC_CODEC_UNKNOWN
#define VLC_CODEC_UNKNOWN
Definition: vlc_fourcc.h:27
vlc_mutex_init
void vlc_mutex_init(vlc_mutex_t *mtx)
Initializes a fast mutex.
Definition: threads.c:123
vlc_stream_vaControl
int vlc_stream_vaControl(stream_t *s, int cmd, va_list args)
Use to control the "stream_t *".
Definition: stream.c:687
vlc_mouse_t
Mouse state.
Definition: vlc_mouse.h:45
vlc_spu.h
DecoderHasVbi
static bool DecoderHasVbi(decoder_t *dec)
Definition: decoder.c:2582
VLC_SYSDATA_DIR
@ VLC_SYSDATA_DIR
Global architecture-independent read-only data directory (e.g.
Definition: vlc_configuration.h:280
AOUT_CHAN_RIGHT
#define AOUT_CHAN_RIGHT
Definition: vlc_es.h:119
vlc_input_decoder_t::fmt
es_format_t fmt
Definition: decoder.c:88
input_attachment_priv::rc
vlc_atomic_rc_t rc
Definition: attachment.c:50
vlc_input_decoder_Wait
void vlc_input_decoder_Wait(vlc_input_decoder_t *)
This function waits for the decoder to actually receive data.
Definition: decoder.c:2500
stream_CommonDelete
void stream_CommonDelete(stream_t *s)
Definition: stream.c:114
vlc_input_decoder_t::b_draining
bool b_draining
Definition: decoder.c:158
vlc_input_decoder_t::pause_date
vlc_tick_t pause_date
Definition: decoder.c:143
vlc_fifo_QueueUnlocked
void vlc_fifo_QueueUnlocked(block_fifo_t *fifo, block_t *block)
Queues a linked-list of blocks into a locked FIFO.
Definition: fifo.c:59
vlc_input_decoder_t::flushing
bool flushing
Definition: decoder.c:157
VLC_THREAD_PRIORITY_AUDIO
#define VLC_THREAD_PRIORITY_AUDIO
Definition: vlc_threads.h:209
VIDEO_ES
@ VIDEO_ES
Definition: vlc_es.h:603
aout_DecChangeDelay
void aout_DecChangeDelay(audio_output_t *aout, vlc_tick_t delay)
Definition: dec.c:551
vlc_input_decoder_t::b_has_data
bool b_has_data
Definition: decoder.c:154
input_attachment_t
Definition: vlc_input.h:159
block_ChainRelease
static void block_ChainRelease(block_t *p_block)
Definition: vlc_block.h:358
Close
static void Close(vlc_object_t *obj)
Definition: access.c:273
access_sys_t::resource
struct vlc_http_resource * resource
Definition: access.c:47
decoder_Init
void decoder_Init(decoder_t *p_dec, const es_format_t *restrict p_fmt)
Definition: decoder_helpers.c:37
es_format_t::video
video_format_t video
description of video format
Definition: vlc_es.h:646
AUDIO_REPLAY_GAIN_MAX
#define AUDIO_REPLAY_GAIN_MAX
audio replay gain description
Definition: vlc_es.h:52
var_InheritBool
static bool var_InheritBool(vlc_object_t *obj, const char *name)
Definition: vlc_variables.h:675
vlc_input_decoder_t::delay
vlc_tick_t delay
Definition: decoder.c:144
decoder_NewAudioBuffer
block_t * decoder_NewAudioBuffer(decoder_t *dec, int samples)
This function will return a new audio buffer usable by a decoder as an output buffer.
Definition: decoder.c:790
VLC_CACHE_DIR
@ VLC_CACHE_DIR
Definition: vlc_configuration.h:310
VLC_VIDEOS_DIR
@ VLC_VIDEOS_DIR
Definition: vlc_configuration.h:319
vlc_http_file_can_seek
bool vlc_http_file_can_seek(struct vlc_http_resource *res)
Checks seeking support.
Definition: file.c:196
vlc_fifo_DequeueUnlocked
block_t * vlc_fifo_DequeueUnlocked(block_fifo_t *fifo)
Dequeues the first block from a locked FIFO, if any.
Definition: fifo.c:69
vlc_fifo_Wait
static void vlc_fifo_Wait(vlc_fifo_t *fifo)
Waits on the FIFO.
Definition: vlc_block.h:546
ModuleThread_UpdateStatAudio
static void ModuleThread_UpdateStatAudio(vlc_input_decoder_t *p_owner, bool lost)
Definition: decoder.c:1240
psz_name
const char * psz_name
Definition: text_style.c:53
VLC_ACCESS_REDIRECT
#define VLC_ACCESS_REDIRECT
Special redirection error code.
Definition: vlc_access.h:45
vlc_fifo_GetCount
size_t vlc_fifo_GetCount(const vlc_fifo_t *fifo)
Counts blocks in a FIFO.
Definition: fifo.c:47
ModuleThread_GetDisplayRate
static float ModuleThread_GetDisplayRate(decoder_t *p_dec)
Definition: decoder.c:775
vlc_input_decoder_GetVbiPage
int vlc_input_decoder_GetVbiPage(vlc_input_decoder_t *owner, bool *opaque)
Definition: decoder.c:2588
vlc_input_decoder_IsEmpty
bool vlc_input_decoder_IsEmpty(vlc_input_decoder_t *p_owner)
This function returns true if the decoder fifo is empty and false otherwise.
Definition: decoder.c:2247
vlc_input_attachment_Hold
input_attachment_t * vlc_input_attachment_Hold(input_attachment_t *a)
Definition: attachment.c:85
DecoderThread_DecodeBlock
static void DecoderThread_DecodeBlock(vlc_input_decoder_t *p_owner, block_t *p_block)
Definition: decoder.c:1322
live.h
RELOAD_DECODER
@ RELOAD_DECODER
Definition: decoder.c:86
stream_output.h
vlc_input_decoder_StopWait
void vlc_input_decoder_StopWait(vlc_input_decoder_t *)
This function exits the waiting mode of the decoder.
Definition: decoder.c:2490
vlc_meta_Merge
void vlc_meta_Merge(vlc_meta_t *dst, const vlc_meta_t *src)
Merging meta.
Definition: meta.c:175
vlc_spu_highlight_t
Definition: vlc_subpicture.h:85
video_format_t::MaxFALL
uint16_t MaxFALL
Definition: vlc_es.h:393
vlc_http_live_read
block_t * vlc_http_live_read(struct vlc_http_resource *res)
Definition: live.c:75
VLC_PKG_LIB_DIR
@ VLC_PKG_LIB_DIR
Package-specific architecture-dependent read-only data directory (e.g.
Definition: vlc_configuration.h:275
vlc_input_decoder_GetCcState
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 chann...
Definition: decoder.c:2438
vlc_input_decoder_GetCcDesc
void vlc_input_decoder_GetCcDesc(vlc_input_decoder_t *p_owner, decoder_cc_desc_t *p_desc)
This function get cc channels descriptions.
Definition: decoder.c:2354
thumbnailer_buffer_new
static picture_t * thumbnailer_buffer_new(decoder_t *p_dec)
Definition: decoder.c:1138
unlikely
#define unlikely(p)
Predicted false condition.
Definition: vlc_common.h:227
DecoderThread_ChangeDelay
static void DecoderThread_ChangeDelay(vlc_input_decoder_t *p_owner, vlc_tick_t delay)
Definition: decoder.c:1573
vlc_common.h
VLC_DESKTOP_DIR
@ VLC_DESKTOP_DIR
Definition: vlc_configuration.h:312
subpicture_updater_t
Definition: vlc_subpicture.h:135
decoder_cc_desc_t::i_608_channels
uint8_t i_608_channels
Definition: vlc_codec.h:207
vlc_input_decoder_ChangeRate
void vlc_input_decoder_ChangeRate(vlc_input_decoder_t *owner, float rate)
Changes the decoder rate.
Definition: decoder.c:2464
vlc_http_res_get_redirect
char * vlc_http_res_get_redirect(struct vlc_http_resource *restrict res)
Definition: resource.c:236
vlc_input_decoder_t::b_idle
bool b_idle
Definition: decoder.c:160
stream_t::b_preparsing
bool b_preparsing
True if this access is used to preparse.
Definition: vlc_stream.h:54
BLOCK_FLAG_CORRUPTED
#define BLOCK_FLAG_CORRUPTED
This block is corrupted and/or there is data loss
Definition: vlc_block.h:87
vlc_input_decoder_Decode
void vlc_input_decoder_Decode(vlc_input_decoder_t *p_owner, block_t *p_block, bool b_do_pace)
Put a block_t in the decoder's fifo.
Definition: decoder.c:2217
VLC_CODEC_H264
#define VLC_CODEC_H264
Definition: vlc_fourcc.h:37
AOUT_DEC_CHANGED
#define AOUT_DEC_CHANGED
Definition: aout_internal.h:155
vlc_input_decoder_t::b_fmt_description
atomic_bool b_fmt_description
Definition: decoder.c:92
stream_t::pf_block
block_t *(* pf_block)(stream_t *, bool *eof)
Read data block.
Definition: vlc_stream.h:103
video_format_t::i_y_offset
unsigned int i_y_offset
start offset of visible area
Definition: vlc_es.h:357
vlc_input_decoder_t::p_vout
vout_thread_t * p_vout
Definition: decoder.c:130
sout_InputDelete
int sout_InputDelete(sout_instance_t *p_sout, sout_packetizer_input_t *p_input)
Definition: stream_output.c:195
vlc_input_decoder_SetVbiOpaque
int vlc_input_decoder_SetVbiOpaque(vlc_input_decoder_t *, bool opaque)
Definition: decoder.c:2605
vlc_vout.h
vlc_keystore.h
vlc_mutex_assert
#define vlc_mutex_assert(m)
Asserts that a mutex is locked by the calling thread.
Definition: vlc_threads.h:328
vlc_input_decoder_ChangePause
void vlc_input_decoder_ChangePause(vlc_input_decoder_t *, bool b_paused, vlc_tick_t i_date)
This function changes the pause state.
Definition: decoder.c:2450
BLOCK_FLAG_PREROLL
#define BLOCK_FLAG_PREROLL
This block has to be decoded but not be displayed.
Definition: vlc_block.h:85
vlc_input_decoder_SetVoutMouseEvent
void vlc_input_decoder_SetVoutMouseEvent(vlc_input_decoder_t *, vlc_mouse_event, void *)
Definition: decoder.c:2613
audio_replay_gain_t
Definition: vlc_es.h:55
video_format_t::i_sar_num
unsigned int i_sar_num
sample/pixel aspect ratio
Definition: vlc_es.h:363
block_t::i_buffer
size_t i_buffer
Payload length.
Definition: vlc_block.h:122
vlc_input_decoder_SetVbiOpaque
int vlc_input_decoder_SetVbiOpaque(vlc_input_decoder_t *owner, bool opaque)
Definition: decoder.c:2605
block_FifoPut
static void block_FifoPut(block_fifo_t *fifo, block_t *block)
Immediately queue one block at the end of a FIFO.
Definition: vlc_block.h:660
reload
reload
Definition: decoder.c:59
vlc_interrupt.h
vlc_http_live_get_type
#define vlc_http_live_get_type
Definition: live.h:38
module_need_var
#define module_need_var(a, b, c)
Definition: vlc_modules.h:123
vlc_input_decoder_t::reload
atomic_int reload
Definition: decoder.c:94
set_callbacks
#define set_callbacks(activate, deactivate)
Definition: vlc_plugin.h:320
config_getLibraryDirReal
static char * config_getLibraryDirReal(const char *fallback)
Definition: dirs.m:46
vlc_access.h
decoder_cc_desc_t
Definition: vlc_codec.h:205
es_format_IsSimilar
bool es_format_IsSimilar(const es_format_t *p_fmt1, const es_format_t *p_fmt2)
This function will check if the first ES format is similar to the second one.
Definition: es_format.c:532
decoder_t::cbs
const struct decoder_owner_callbacks * cbs
Definition: vlc_codec.h:200
vlc_input_decoder_SetCcState
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.
Definition: decoder.c:2383
vout_ChangeSpuRate
void vout_ChangeSpuRate(vout_thread_t *vout, size_t channel_id, float rate)
This function will change the rate of the spu channel It is thread safe.
Definition: video_output.c:1602
VLC_CODEC_HEVC
#define VLC_CODEC_HEVC
Definition: vlc_fourcc.h:141
es_format_t::i_id
int i_id
es identifier, where means -1: let the core mark the right id >=0: valid id
Definition: vlc_es.h:623
access_vaDirectoryControlHelper
int access_vaDirectoryControlHelper(stream_t *p_access, int i_query, va_list args)
Default pf_control callback for directory accesses.
Definition: access.c:196
DATA_ES
@ DATA_ES
Definition: vlc_es.h:606
audio_format_t::i_chan_mode
uint16_t i_chan_mode
Definition: vlc_es.h:93
vlc_input_decoder_IsEmpty
bool vlc_input_decoder_IsEmpty(vlc_input_decoder_t *)
This function returns true if the decoder fifo is empty and false otherwise.
Definition: decoder.c:2247
vlc_input_attachment_Release
void vlc_input_attachment_Release(input_attachment_t *a)
Definition: attachment.c:40
VLC_CODEC_VP6F
#define VLC_CODEC_VP6F
Definition: vlc_fourcc.h:68
vlc_input_decoder_t::p_clock
vlc_clock_t * p_clock
Definition: decoder.c:70
input_resource_RequestVout
vout_thread_t * input_resource_RequestVout(input_resource_t *p_resource, vlc_video_context *vctx, const vout_configuration_t *cfg, enum vlc_vout_order *order, bool *has_started)
Definition: resource.c:431
vlc_atomic_rc_dec
static bool vlc_atomic_rc_dec(vlc_atomic_rc_t *rc)
Decrement the RC and return true if it reaches 0.
Definition: vlc_atomic.h:61
vout_ChangeDelay
void vout_ChangeDelay(vout_thread_t *vout, vlc_tick_t delay)
This function will change the delay of the vout It is thread safe.
Definition: video_output.c:1571
VLCDEC_ECRITICAL
#define VLCDEC_ECRITICAL
Definition: vlc_codec.h:127
decoder_cc_desc_t::i_reorder_depth
int i_reorder_depth
Definition: vlc_codec.h:209
vlc_input_decoder_t::pp_decoder
vlc_input_decoder_t * pp_decoder[64]
Definition: decoder.c:169
vlc_network.h
picture_Release
static void picture_Release(picture_t *picture)
Decrements the picture reference count.
Definition: vlc_picture.h:368
dec_audio_cbs
static const struct decoder_owner_callbacks dec_audio_cbs
Definition: decoder.c:1764
resource.h
ModuleThread_QueueCc
static void ModuleThread_QueueCc(decoder_t *p_videodec, block_t *p_cc, const decoder_cc_desc_t *p_desc)
Definition: decoder.c:1013
vlc_http_mgr
Definition: connmgr.c:99
input_resource_GetAout
audio_output_t * input_resource_GetAout(input_resource_t *p_resource)
This function creates or recycles an audio output.
Definition: resource.c:206
dec_video_cbs
static const struct decoder_owner_callbacks dec_video_cbs
Definition: decoder.c:1742
decoder_t::pf_decode
int(* pf_decode)(decoder_t *, block_t *p_block)
Definition: vlc_codec.h:150
vlc_http_mgr_create
struct vlc_http_mgr * vlc_http_mgr_create(vlc_object_t *obj, struct vlc_http_cookie_jar_t *jar)
Creates an HTTP connection manager.
Definition: connmgr.c:290
accessNewAttachment
static stream_t * accessNewAttachment(vlc_object_t *parent, input_thread_t *input, const char *mrl)
Definition: access.c:77
vlc_input_decoder_t::p_sout_input
sout_packetizer_input_t * p_sout_input
Definition: decoder.c:79
vlc_charset.h
vlc_input_decoder_Create
vlc_input_decoder_t * vlc_input_decoder_Create(vlc_object_t *p_parent, const es_format_t *fmt, input_resource_t *p_resource)
Spawn a decoder thread outside of the input thread.
Definition: decoder.c:2136
vlc_fourcc_GetDescription
const char * vlc_fourcc_GetDescription(int cat, vlc_fourcc_t fourcc)
It returns the description of the given fourcc or NULL if not found.
Definition: fourcc.c:197
vlc_input_decoder_GetCcDesc
void vlc_input_decoder_GetCcDesc(vlc_input_decoder_t *, decoder_cc_desc_t *)
This function get cc channels descriptions.
Definition: decoder.c:2354
video_format_t::mastering
struct video_format_t::@196 mastering
vlc_input_decoder_HasFormatChanged
bool vlc_input_decoder_HasFormatChanged(vlc_input_decoder_t *p_owner, 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.
Definition: decoder.c:2544
vlc_input_decoder_callbacks::on_vout_started
void(* on_vout_started)(vlc_input_decoder_t *decoder, vout_thread_t *vout, enum vlc_vout_order vout_order, void *userdata)
Definition: decoder.h:54
vlc_cond_wait
void vlc_cond_wait(vlc_cond_t *cond, vlc_mutex_t *mutex)
Waits on a condition variable.
Definition: threads.c:340
vlc_input_decoder_ChangeDelay
void vlc_input_decoder_ChangeDelay(vlc_input_decoder_t *owner, vlc_tick_t delay)
This function changes the delay.
Definition: decoder.c:2471
vlc_input_decoder_SetVoutMouseEvent
void vlc_input_decoder_SetVoutMouseEvent(vlc_input_decoder_t *owner, vlc_mouse_event mouse_event, void *user_data)
Definition: decoder.c:2613
vlc_input_decoder_t::vout_started
bool vout_started
Definition: decoder.c:131
get_path
char * get_path(const char *location)
Definition: access.c:51
stream_FilterChainNew
stream_t * stream_FilterChainNew(stream_t *source, const char *list)
Builds an explicit chain of stream filters.
Definition: stream_filter.c:109
vlc_UrlClean
void vlc_UrlClean(vlc_url_t *restrict url)
Definition: url.c:598
vlc_http_res_destroy
void vlc_http_res_destroy(struct vlc_http_resource *res)
Destroys an HTTP resource.
Definition: resource.c:162
aout_DecFlush
void aout_DecFlush(audio_output_t *)
Definition: dec.c:558
ModuleThread_NewVideoBuffer
static picture_t * ModuleThread_NewVideoBuffer(decoder_t *p_dec)
Definition: decoder.c:638
vout_Release
void vout_Release(vout_thread_t *vout)
Definition: video_output.c:1906
audio_replay_gain_t::pf_peak
float pf_peak[(2)]
Definition: vlc_es.h:60
msg_Dbg
#define msg_Dbg(p_this,...)
Definition: vlc_messages.h:106
set_shortname
#define set_shortname(shortname)
Definition: vlc_plugin.h:299
vlc_access_Destroy
static void vlc_access_Destroy(stream_t *access)
Definition: access.c:66
es_format_Clean
void es_format_Clean(es_format_t *fmt)
This function will clean up a es_format_t and release all associated resources.
Definition: es_format.c:509
vout_configuration_t::vout
vout_thread_t * vout
Definition: vout_internal.h:44
vlc_http_file_get_size
uintmax_t vlc_http_file_get_size(struct vlc_http_resource *res)
Gets file size.
Definition: file.c:178
vlc_getProxyUrl
char * vlc_getProxyUrl(const char *url)
Determines the network proxy server to use (if any).
Definition: netconf.m:44
decoder_t
Definition: vlc_codec.h:101
vlc_tick_sleep
#define vlc_tick_sleep(d)
Definition: vlc_threads.h:902
_
#define _(str)
Definition: vlc_fixups.h:374
vlc_stream_AttachmentNew
stream_t * vlc_stream_AttachmentNew(vlc_object_t *p_this, input_attachment_t *attachement)
Definition: stream_memory.c:90
vout_ChangePause
void vout_ChangePause(vout_thread_t *vout, bool is_paused, vlc_tick_t date)
This function will (un)pause the display of pictures.
Definition: video_output.c:1478
var_InheritString
static char * var_InheritString(vlc_object_t *obj, const char *name)
Definition: vlc_variables.h:705
FileSeek
static int FileSeek(stream_t *access, uint64_t pos)
Definition: access.c:60
sout_packetizer_input_t
Definition: stream_output.c:158
picture_t::date
vlc_tick_t date
display date
Definition: vlc_picture.h:134
vlc_input_decoder_DelVoutOverlay
int vlc_input_decoder_DelVoutOverlay(vlc_input_decoder_t *owner, size_t channel)
Definition: decoder.c:2657
block_fifo_t
Internal state for block queues.
Definition: fifo.c:38
decoder_t::pf_flush
void(* pf_flush)(decoder_t *)
Definition: vlc_codec.h:183
MAX_CC_DECODERS
#define MAX_CC_DECODERS
Definition: decoder.c:164
vlc_input_decoder_t::mouse_lock
vlc_mutex_t mouse_lock
Definition: decoder.c:175
input_thread_private_t::stats
struct input_stats * stats
Definition: input_internal.h:525
picture_pool_Release
void picture_pool_Release(picture_pool_t *pool)
Releases a pool created by picture_pool_New() or picture_pool_NewFromFormat().
Definition: picture_pool.c:61
VLC_EGENERIC
#define VLC_EGENERIC
Unspecified error.
Definition: vlc_common.h:474
vlc_picture_pool.h
STREAM_SET_PAUSE_STATE
@ STREAM_SET_PAUSE_STATE
arg1= bool res=can fail
Definition: vlc_stream.h:165
dec_get_owner
static vlc_input_decoder_t * dec_get_owner(decoder_t *p_dec)
Definition: decoder.c:193
vlc_input_decoder_t::i_preroll_end
vlc_tick_t i_preroll_end
Definition: decoder.c:136
VLC_LIB_DIR
@ VLC_LIB_DIR
Global architecture-dependent read-only directory (e.g.
Definition: vlc_configuration.h:283
vlc_input_decoder_t::b_waiting
bool b_waiting
Definition: decoder.c:152
vlc_fifo_Lock
static void vlc_fifo_Lock(vlc_fifo_t *fifo)
Locks a block FIFO.
Definition: vlc_block.h:504
es_format_Init
void es_format_Init(es_format_t *fmt, int i_cat, vlc_fourcc_t i_codec)
This function will initialize a es_format_t structure.
Definition: es_format.c:409
vlc_input_decoder_t::cc
struct vlc_input_decoder_t::@11 cc
vlc_dialog_display_error
#define vlc_dialog_display_error(a, b, c,...)
Definition: vlc_dialog.h:73
VLC_CODEC_AV1
#define VLC_CODEC_AV1
Definition: vlc_fourcc.h:125
VLC_VAR_INTEGER
#define VLC_VAR_INTEGER
Definition: vlc_variables.h:50
picture_Reset
void picture_Reset(picture_t *p_picture)
This function will reset a picture information (properties and quantizers).
Definition: picture.c:91
AOUT_DEC_FAILED
#define AOUT_DEC_FAILED
Definition: aout_internal.h:156
subpicture_t::i_start
vlc_tick_t i_start
beginning of display date
Definition: vlc_subpicture.h:184
sout_InputSendBuffer
int sout_InputSendBuffer(sout_instance_t *p_sout, sout_packetizer_input_t *p_input, block_t *p_buffer)
Definition: stream_output.c:242
getenv
static char * getenv(const char *name)
Definition: vlc_fixups.h:292
vlc_input.h
FileRead
static block_t * FileRead(stream_t *access, bool *restrict eof)
Definition: access.c:50
block_t::i_length
vlc_tick_t i_length
Definition: vlc_block.h:131
input_attachment_t::p_data
void * p_data
Definition: vlc_input.h:168
input_attachment_t::psz_mime
char * psz_mime
Definition: vlc_input.h:164
vlc_input_decoder_callbacks
Definition: decoder.h:31
vlc_input_decoder_t::frames_countdown
unsigned frames_countdown
Definition: decoder.c:146
vlc_video_context_Hold
vlc_video_context * vlc_video_context_Hold(vlc_video_context *vctx)
Definition: decoder_helpers.c:269
vlc_http_res_set_login
int vlc_http_res_set_login(struct vlc_http_resource *res, const char *username, const char *password)
Definition: resource.c:319
vlc_input_decoder_t::p_resource
input_resource_t * p_resource
Definition: decoder.c:69
VLC_CODEC_MP4V
#define VLC_CODEC_MP4V
Definition: vlc_fourcc.h:31
vlc_input_decoder_t::desc
decoder_cc_desc_t desc
Definition: decoder.c:168
block_FifoSize
static size_t block_FifoSize(block_fifo_t *fifo)
Definition: vlc_block.h:669
resource.h
vlc_gettext
const char * vlc_gettext(const char *msgid)
In-tree plugins share their gettext domain with LibVLC.
Definition: textdomain.c:79
thumbnailer_get_device
static vlc_decoder_device * thumbnailer_get_device(decoder_t *p_dec)
Definition: decoder.c:1129
audio_format_t::i_physical_channels
uint16_t i_physical_channels
Definition: vlc_es.h:88
audio_format_t
audio format description
Definition: vlc_es.h:81
input_stats
Definition: input_internal.h:730
vlc_input_decoder_t::b_packetizer
bool b_packetizer
Definition: decoder.c:85
set_category
#define set_category(i_id)
Definition: vlc_plugin.h:368
vout_PutPicture
void vout_PutPicture(vout_thread_t *vout, picture_t *picture)
It gives to the vout a picture to be displayed.
Definition: video_output.c:470
picture_t
Video picture.
Definition: vlc_picture.h:120
ModuleThread_PlayVideo
static int ModuleThread_PlayVideo(vlc_input_decoder_t *p_owner, picture_t *p_picture)
Definition: decoder.c:1028
change_safe
#define change_safe()
Definition: vlc_plugin.h:500
asprintf
int asprintf(char **, const char *,...)
VLC_HOME_DIR
@ VLC_HOME_DIR
Definition: vlc_configuration.h:307
vlc_cond_signal
void vlc_cond_signal(vlc_cond_t *cond)
Wakes up one thread waiting on a condition variable.
Definition: threads.c:253
vlc_fifo_IsEmpty
static bool vlc_fifo_IsEmpty(const vlc_fifo_t *fifo)
Definition: vlc_block.h:630
access_sys_t::manager
struct vlc_http_mgr * manager
Definition: access.c:46
aout_DecGetResetStats
void aout_DecGetResetStats(audio_output_t *, unsigned *, unsigned *)
set_description
#define set_description(desc)
Definition: vlc_plugin.h:303
vlc_mutex_t
Mutex.
Definition: vlc_threads.h:225
sout_instance_t::b_wants_substreams
bool b_wants_substreams
Definition: stream_output.h:60
VLCDEC_SUCCESS
#define VLCDEC_SUCCESS
Definition: vlc_codec.h:126
stream_t::out
es_out_t * out
Definition: vlc_stream.h:68
vout_SetSpuHighlight
void vout_SetSpuHighlight(vout_thread_t *vout, const vlc_spu_highlight_t *spu_hl)
Definition: video_output.c:432
stream_t::psz_location
const char * psz_location
Location (URL with the scheme stripped)
Definition: vlc_stream.h:52
strndup
char * strndup(const char *, size_t)
AStreamReadStream
static ssize_t AStreamReadStream(stream_t *s, void *buf, size_t len)
Definition: access.c:246
decoder_t::pf_get_cc
block_t *(* pf_get_cc)(decoder_t *, decoder_cc_desc_t *)
Definition: vlc_codec.h:191
VOUT_SPU_CHANNEL_INVALID
#define VOUT_SPU_CHANNEL_INVALID
Definition: vlc_vout.h:127
PREROLL_NONE
#define PREROLL_NONE
Definition: decoder.c:138
picture_pool_Wait
picture_t * picture_pool_Wait(picture_pool_t *pool)
Obtains a picture from a pool.
Definition: picture_pool.c:201
vlc_input_decoder_t::error
bool error
Definition: decoder.c:149
vlc_fifo_Signal
static void vlc_fifo_Signal(vlc_fifo_t *fifo)
Wakes up one thread waiting on the FIFO, if any.
Definition: vlc_block.h:530
vlc_meta_t
Definition: meta.c:39
vlc_input_decoder_AddVoutOverlay
int vlc_input_decoder_AddVoutOverlay(vlc_input_decoder_t *owner, subpicture_t *sub, size_t *channel)
Definition: decoder.c:2627
ModuleThread_GetDecoderDevice
static vlc_decoder_device * ModuleThread_GetDecoderDevice(decoder_t *p_dec)
Definition: decoder.c:594
STREAM_CAN_SEEK
@ STREAM_CAN_SEEK
arg1= bool * res=cannot fail
Definition: vlc_stream.h:147
vlc_input_decoder_New
vlc_input_decoder_t * vlc_input_decoder_New(vlc_object_t *parent, es_format_t *, vlc_clock_t *, input_resource_t *, sout_instance_t *, bool thumbnailing, const struct vlc_input_decoder_callbacks *cbs, void *userdata)
Spawns a new decoder thread from the input thread.
Definition: decoder.c:2122
var_TriggerCallback
void() var_TriggerCallback(vlc_object_t *p_this, const char *psz_name)
Triggers callbacks on a variable.
Definition: variables.c:864
vout_NextPicture
void vout_NextPicture(vout_thread_t *vout, vlc_tick_t *duration)
This function will force to display the next picture while paused.
Definition: video_output.c:1548
vlc_module_end
#define vlc_module_end()
Definition: vlc_plugin.h:278
aout_DecChangeRate
void aout_DecChangeRate(audio_output_t *aout, float rate)
Definition: dec.c:544
vout_configuration_t
Vout configuration.
Definition: vout_internal.h:43
es_format_category_e
es_format_category_e
ES Categories.
Definition: vlc_es.h:600
vlc_clone
int vlc_clone(vlc_thread_t *th, void *(*entry)(void *), void *data, int priority)
Creates and starts a new thread.
Definition: thread.c:144
VLC_CODEC_VP5
#define VLC_CODEC_VP5
Definition: vlc_fourcc.h:66
vlc_input_decoder_t::lock
vlc_mutex_t lock
Definition: decoder.c:100
VLC_VOUT_ORDER_NONE
@ VLC_VOUT_ORDER_NONE
Definition: vlc_vout.h:72
stream_t::psz_name
char * psz_name
Definition: vlc_stream.h:50
vlc_input_decoder_t::wait_acknowledge
vlc_cond_t wait_acknowledge
Definition: decoder.c:102
MAX_REDIR
#define MAX_REDIR
Definition: access.c:75
ModuleThread_QueueSpu
static void ModuleThread_QueueSpu(decoder_t *p_dec, subpicture_t *p_spu)
Definition: decoder.c:1297
msg_Warn
#define msg_Warn(p_this,...)
Definition: vlc_messages.h:104
DeleteDecoder
static void DeleteDecoder(vlc_input_decoder_t *p_owner)
Destroys a decoder object.
Definition: decoder.c:1942
audio_output
Audio output object.
Definition: vlc_aout.h:141
access_sys_t
Definition: access.c:44
es_out_t
Definition: vlc_es_out.h:143
vlc_input_decoder_HasCCChanFlag
static bool vlc_input_decoder_HasCCChanFlag(vlc_input_decoder_t *p_owner, vlc_fourcc_t codec, int i_channel)
Definition: decoder.c:2362
decoder_t::p_module
module_t * p_module
Definition: vlc_codec.h:106
config_getDataDirReal
static char * config_getDataDirReal(const char *fallback)
Definition: dirs.m:68
vlc_assert_unreachable
#define vlc_assert_unreachable()
Impossible branch assertion.
Definition: vlc_common.h:253
picture_NewFromFormat
picture_t * picture_NewFromFormat(const video_format_t *restrict fmt)
Definition: picture.c:259
vlc_access_private
Definition: access.c:40
vlc_input_decoder_FrameNext
void vlc_input_decoder_FrameNext(vlc_input_decoder_t *p_dec, vlc_tick_t *pi_duration)
This function force the display of the next picture and fills the stream time consumed.
Definition: decoder.c:2524
config_GetUserDir
char * config_GetUserDir(vlc_userdir_t type)
Definition: dirs.m:191
getAppDependentDir
static char * getAppDependentDir(vlc_userdir_t type)
Definition: dirs.m:157
vout_PutSubpicture
void vout_PutSubpicture(vout_thread_t *vout, subpicture_t *subpic)
Definition: video_output.c:379
block_t::p_next
block_t * p_next
Definition: vlc_block.h:119
vlc_access_stream_private
Definition: access.c:45
decoder_owner_callbacks
Definition: vlc_codec.h:47
DecoderThread_ProcessInput
static void DecoderThread_ProcessInput(vlc_input_decoder_t *p_owner, block_t *p_block)
Decode a block.
Definition: decoder.c:1357
video_format_t::i_width
unsigned int i_width
picture width
Definition: vlc_es.h:354
aout_DecChangePause
void aout_DecChangePause(audio_output_t *, bool b_paused, vlc_tick_t i_date)
Definition: dec.c:531
subpicture_t::i_channel
ssize_t i_channel
subpicture channel ID
Definition: vlc_subpicture.h:170
AOUT_FMTS_IDENTICAL
#define AOUT_FMTS_IDENTICAL(p_first, p_second)
Definition: vlc_aout.h:64
block_FifoRelease
void block_FifoRelease(block_fifo_t *p_fifo)
Destroys a FIFO created by block_FifoNew().
Definition: fifo.c:103
input_rate_Add
void input_rate_Add(input_rate_t *, uintmax_t)
Update a counter element with new values.
Definition: stats.c:121
VLC_LOCALE_DIR
@ VLC_LOCALE_DIR
Base directory for package read-only locale data.
Definition: vlc_configuration.h:288
picture_pool_t
Definition: picture_pool.c:42
vlc_tick_now
vlc_tick_t vlc_tick_now(void)
Precision monotonic clock.
Definition: thread.c:261
audio_format_t::i_bytes_per_frame
unsigned int i_bytes_per_frame
Definition: vlc_es.h:100
VLC_DOCUMENTS_DIR
@ VLC_DOCUMENTS_DIR
Definition: vlc_configuration.h:316
decoder_Notify
#define decoder_Notify(decoder_priv, event,...)
Definition: decoder.c:188
es_format_t::audio_replay_gain
audio_replay_gain_t audio_replay_gain
Definition: vlc_es.h:644
audio_format_t::i_format
vlc_fourcc_t i_format
audio format fourcc
Definition: vlc_es.h:83
vlc_input_decoder_GetVbiPage
int vlc_input_decoder_GetVbiPage(vlc_input_decoder_t *, bool *opaque)
Definition: decoder.c:2588
AOUT_CHANMODE_DOLBYSTEREO
#define AOUT_CHANMODE_DOLBYSTEREO
Definition: vlc_es.h:173
block_Duplicate
static block_t * block_Duplicate(const block_t *p_block)
Duplicates a block.
Definition: vlc_block.h:223
dec_thumbnailer_cbs
static const struct decoder_owner_callbacks dec_thumbnailer_cbs
Definition: decoder.c:1755
vlc_input_decoder_t::wait_request
vlc_cond_t wait_request
Definition: decoder.c:101
vlc_UrlParse
int vlc_UrlParse(vlc_url_t *url, const char *str)
Parses an URI or IRI.
Definition: url.c:558
module_t
Internal module descriptor.
Definition: modules.h:78
video_format_t::i_x_offset
unsigned int i_x_offset
start offset of visible area
Definition: vlc_es.h:356
vlc_input_decoder_t::wait_fifo
vlc_cond_t wait_fifo
Definition: decoder.c:103
vlc_atomic_rc_inc
static void vlc_atomic_rc_inc(vlc_atomic_rc_t *rc)
Increment the RC.
Definition: vlc_atomic.h:52
DecoderThread
static void * DecoderThread(void *p_data)
The decoding main loop.
Definition: decoder.c:1613
vlc_fifo_Unlock
static void vlc_fifo_Unlock(vlc_fifo_t *fifo)
Unlocks a block FIFO.
Definition: vlc_block.h:517
InputThread_GetInputAttachments
static int InputThread_GetInputAttachments(decoder_t *p_dec, input_attachment_t ***ppp_attachment, int *pi_attachment)
Definition: decoder.c:742
es_format_t
Definition: vlc_es.h:617
vlc_atomic.h
aout_internal.h
vlc_tick_t
int64_t vlc_tick_t
High precision date or time interval.
Definition: vlc_tick.h:45
RELOAD_NO_REQUEST
@ RELOAD_NO_REQUEST
Definition: decoder.c:85
audio_replay_gain_t::pb_peak
bool pb_peak[(2)]
Definition: vlc_es.h:58
VLC_PICTURES_DIR
@ VLC_PICTURES_DIR
Definition: vlc_configuration.h:318
block_Alloc
block_t * block_Alloc(size_t size)
Allocates a block.
Definition: block.c:108
input_stats::input_bitrate
input_rate_t input_bitrate
Definition: input_internal.h:731
block_t::i_flags
uint32_t i_flags
Definition: vlc_block.h:126
subpicture_t
Video subtitle.
Definition: vlc_subpicture.h:166
vlc_input_decoder_t::p_sout
sout_instance_t * p_sout
Definition: decoder.c:78
vlc_http_file_read
block_t * vlc_http_file_read(struct vlc_http_resource *res)
Reads data.
Definition: file.c:232
stream_t::pf_seek
int(* pf_seek)(stream_t *, uint64_t)
Seek.
Definition: vlc_stream.h:124
VLC_CODEC_VP6
#define VLC_CODEC_VP6
Definition: vlc_fourcc.h:67
ModuleThread_UpdateStatVideo
static void ModuleThread_UpdateStatVideo(vlc_input_decoder_t *p_owner, bool lost)
Definition: decoder.c:1104
decoder_New
static vlc_input_decoder_t * decoder_New(vlc_object_t *p_parent, const es_format_t *fmt, vlc_clock_t *p_clock, input_resource_t *p_resource, sout_instance_t *p_sout, bool thumbnailing, const struct vlc_input_decoder_callbacks *cbs, void *userdata)
Definition: decoder.c:2049
vlc_stream_CustomNew
stream_t * vlc_stream_CustomNew(vlc_object_t *parent, void(*destroy)(stream_t *), size_t size, const char *type_name)
Allocates a VLC stream object.
Definition: stream.c:68
vlc_access_private::module
module_t * module
Definition: access.c:62
stream_t::psz_url
char * psz_url
Full URL or MRL (can be NULL)
Definition: vlc_stream.h:51
DecoderThread_Reload
static int DecoderThread_Reload(vlc_input_decoder_t *p_owner, const es_format_t *restrict p_fmt, enum reload reload)
Definition: decoder.c:230
vlc_uri2path
char * vlc_uri2path(const char *url)
Converts a URI to a local path.
Definition: url.c:247
DecoderUpdatePreroll
static void DecoderUpdatePreroll(vlc_tick_t *pi_preroll, const block_t *p)
Definition: decoder.c:825
PacketizerGetCc
static void PacketizerGetCc(vlc_input_decoder_t *p_owner, decoder_t *p_dec_cc)
Definition: decoder.c:996
es_format_t::i_cat
enum es_format_category_e i_cat
ES category.
Definition: vlc_es.h:619
vlc_input_decoder_callbacks::on_thumbnail_ready
void(* on_thumbnail_ready)(vlc_input_decoder_t *decoder, picture_t *pic, void *userdata)
Definition: decoder.h:59
VLC_CONFIG_DIR
@ VLC_CONFIG_DIR
Definition: vlc_configuration.h:308
vout_RegisterSubpictureChannel
ssize_t vout_RegisterSubpictureChannel(vout_thread_t *vout)
Definition: video_output.c:390
vlc_decoder_device
Decoder context struct.
Definition: vlc_codec.h:566
vlc_decoder.h
vlc_input_decoder_t::thread
vlc_thread_t thread
Definition: decoder.c:81
aout_DecDrain
void aout_DecDrain(audio_output_t *)
Definition: dec.c:593
DecoderThread_ChangeRate
static void DecoderThread_ChangeRate(vlc_input_decoder_t *p_owner, float rate)
Definition: decoder.c:1542
decoder_t::fmt_in
es_format_t fmt_in
Definition: vlc_codec.h:110
vlc_meta_Delete
void vlc_meta_Delete(vlc_meta_t *m)
Definition: meta.c:108
block_t::i_nb_samples
unsigned i_nb_samples
Definition: vlc_block.h:127
vout_GetDevice
vlc_decoder_device * vout_GetDevice(vout_thread_t *vout)
Setup the vout for the given configuration and get an associated decoder device.
Definition: video_output.c:2186
vlc_input_attachment_New
input_attachment_t * vlc_input_attachment_New(const char *psz_name, const char *psz_mime, const char *psz_description, const void *p_data, size_t i_data)
Definition: attachment.c:57
vout_Hold
vout_thread_t * vout_Hold(vout_thread_t *vout)
Definition: video_output.c:2047
VLC_TICK_INVALID
#define VLC_TICK_INVALID
Definition: vlc_config.h:44
vlc_plugin.h
vlc_access_NewMRL
stream_t * vlc_access_NewMRL(vlc_object_t *parent, const char *mrl)
Opens a new read-only byte stream.
Definition: access.c:188
vlc_input_decoder_t::vctx
vlc_video_context * vctx
Definition: decoder.c:89
es_format_t::i_group
int i_group
group identifier, where means: -1 : standalone >= 0 then a "group" (program) is created for each valu...
Definition: vlc_es.h:626
stream.h
ModuleThread_PlaySpu
static void ModuleThread_PlaySpu(vlc_input_decoder_t *p_owner, subpicture_t *p_subpic)
Definition: decoder.c:1263
vout_ChangeRate
void vout_ChangeRate(vout_thread_t *vout, float rate)
This function will change the rate of the vout It is thread safe.
Definition: video_output.c:1583
vlc_input_decoder_SetVbiPage
int vlc_input_decoder_SetVbiPage(vlc_input_decoder_t *, unsigned page)
Definition: decoder.c:2597
vlc_http_resource
Definition: resource.h:43
vlc_input_decoder_StartWait
void vlc_input_decoder_StartWait(vlc_input_decoder_t *p_owner)
This function makes the decoder start waiting for a valid data block from its fifo.
Definition: decoder.c:2478
decoder_owner_callbacks::video
struct decoder_owner_callbacks::@182::@184 video
input_attachment_priv
Definition: attachment.c:29
picture_t::b_force
bool b_force
Definition: vlc_picture.h:135
vlc_http_mgr_destroy
void vlc_http_mgr_destroy(struct vlc_http_mgr *mgr)
Destroys an HTTP connection manager.
Definition: connmgr.c:305
vlc_meta_New
vlc_meta_t * vlc_meta_New(void)
vlc_meta contructor.
Definition: meta.c:90
DecoderUpdateFormatLocked
static void DecoderUpdateFormatLocked(vlc_input_decoder_t *p_owner)
Definition: decoder.c:270
vlc_thread_t
Thread handle.
Definition: vlc_threads.h:180
var_SetBool
static int var_SetBool(vlc_object_t *p_obj, const char *psz_name, bool b)
Set the value of an boolean variable.
Definition: vlc_variables.h:308
aout_DecPlay
int aout_DecPlay(audio_output_t *aout, block_t *block)
Definition: dec.c:429
vlc_input_decoder_t::reset_out_state
bool reset_out_state
Definition: decoder.c:142
VLC_LIBEXEC_DIR
@ VLC_LIBEXEC_DIR
Global executable read-only directory (e.g.
Definition: vlc_configuration.h:285
vlc_fifo_GetBytes
size_t vlc_fifo_GetBytes(const vlc_fifo_t *fifo)
Counts bytes in a FIFO.
Definition: fifo.c:53
audio_replay_gain_t::pf_gain
float pf_gain[(2)]
Definition: vlc_es.h:65
picture_pool_Cancel
void picture_pool_Cancel(picture_pool_t *pool, bool canceled)
Cancel the picture pool.
Definition: picture_pool.c:223
DECODER_SPU_VOUT_WAIT_DURATION
#define DECODER_SPU_VOUT_WAIT_DURATION
Definition: decoder.c:185
stream_t
stream_t definition
Definition: vlc_stream.h:46
block_FifoNew
block_fifo_t * block_FifoNew(void)
Creates a thread-safe FIFO queue of blocks.
Definition: fifo.c:90
vlc_killed
bool vlc_killed(void)
Checks if the interruption context was "killed".
Definition: interrupt.c:185
vlc_input_decoder_Flush
void vlc_input_decoder_Flush(vlc_input_decoder_t *p_owner)
Requests that the decoder immediately discard all pending buffers.
Definition: decoder.c:2298
sout_InputFlush
void sout_InputFlush(sout_instance_t *p_sout, sout_packetizer_input_t *p_input)
Definition: stream_output.c:232
block_t::i_pts
vlc_tick_t i_pts
Definition: vlc_block.h:129
VLC_PKG_DATA_DIR
@ VLC_PKG_DATA_DIR
Package-specific architecture-independent read-only data directory (e.g.
Definition: vlc_configuration.h:273
es_format_t::audio
audio_format_t audio
description of audio format
Definition: vlc_es.h:643
vlc_input_decoder_SetSpuHighlight
int vlc_input_decoder_SetSpuHighlight(vlc_input_decoder_t *p_owner, const vlc_spu_highlight_t *spu_hl)
Definition: decoder.c:2674
change_private
#define change_private()
Definition: vlc_plugin.h:492
AStreamControl
static int AStreamControl(stream_t *s, int cmd, va_list args)
Definition: access.c:277
decoder_owner_callbacks::audio
struct decoder_owner_callbacks::@182::@185 audio
vlc_input_decoder_StartWait
void vlc_input_decoder_StartWait(vlc_input_decoder_t *)
This function makes the decoder start waiting for a valid data block from its fifo.
Definition: decoder.c:2478
psz_mime
const char * psz_mime
Definition: image.c:634
AStreamReadBlock
static block_t * AStreamReadBlock(stream_t *s, bool *restrict eof)
Definition: access.c:218
DecoderPlayCc
static void DecoderPlayCc(vlc_input_decoder_t *p_owner, block_t *p_cc, const decoder_cc_desc_t *p_desc)
Definition: decoder.c:961
vlc_clock_t
Definition: clock.c:62
vlc_http_file_create
struct vlc_http_resource * vlc_http_file_create(struct vlc_http_mgr *mgr, const char *uri, const char *ua, const char *ref)
Creates an HTTP file.
Definition: file.c:113
DecoderUnsupportedCodec
static void DecoderUnsupportedCodec(decoder_t *p_dec, const es_format_t *fmt, bool b_decoding)
Definition: decoder.c:2030
VLC_ENOOBJ
#define VLC_ENOOBJ
Object not found.
Definition: vlc_common.h:482
LoadDecoder
static int LoadDecoder(decoder_t *p_dec, bool b_packetizer, const es_format_t *restrict p_fmt)
Load a decoder module.
Definition: decoder.c:201
vout_Flush
void vout_Flush(vout_thread_t *vout, vlc_tick_t date)
This function will ensure that all ready/displayed pictures have at most the provided date.
Definition: video_output.c:1538
static_assert
#define static_assert
Definition: vlc_fixups.h:370
vlc_input_decoder_t::p_packetizer
decoder_t * p_packetizer
Definition: decoder.c:84
video_format_t::i_visible_height
unsigned int i_visible_height
height of visible area
Definition: vlc_es.h:359
vlc_stream_Seek
int vlc_stream_Seek(stream_t *s, uint64_t offset)
Sets the current stream position.
Definition: stream.c:625
subpicture_t::b_subtitle
bool b_subtitle
the picture is a movie subtitle
Definition: vlc_subpicture.h:196
AOUT_CHAN_LEFT
#define AOUT_CHAN_LEFT
Definition: vlc_es.h:118
AUDIO_ES
@ AUDIO_ES
Definition: vlc_es.h:604
vlc_input_decoder_t::cbs_userdata
void * cbs_userdata
Definition: decoder.c:73
vlc_input_decoder_SetVbiPage
int vlc_input_decoder_SetVbiPage(vlc_input_decoder_t *owner, unsigned page)
Definition: decoder.c:2597
vlc_input_decoder_t::p_aout
audio_output_t * p_aout
Definition: decoder.c:128
vlc_input_decoder_ChangeDelay
void vlc_input_decoder_ChangeDelay(vlc_input_decoder_t *, vlc_tick_t i_delay)
This function changes the delay.
Definition: decoder.c:2471
vout_ChangeSpuDelay
void vout_ChangeSpuDelay(vout_thread_t *vout, size_t channel_id, vlc_tick_t delay)
This function will change the delay of the spu channel It is thread safe.
Definition: video_output.c:1593
VLC_PUBLICSHARE_DIR
@ VLC_PUBLICSHARE_DIR
Definition: vlc_configuration.h:315
container_of
#define container_of(ptr, type, member)
Definition: vlc_common.h:1140
video_format_t::i_sar_den
unsigned int i_sar_den
Definition: vlc_es.h:364
vlc_input_decoder_t::mouse_opaque
void * mouse_opaque
Definition: decoder.c:177
dec_spu_cbs
static const struct decoder_owner_callbacks dec_spu_cbs
Definition: decoder.c:1772
vlc_input_decoder_t::drained
atomic_bool drained
Definition: decoder.c:159
CreateVoutIfNeeded
static int CreateVoutIfNeeded(vlc_input_decoder_t *)
Definition: decoder.c:512
STREAM_GET_PTS_DELAY
@ STREAM_GET_PTS_DELAY
arg1= vlc_tick_t* res=cannot fail
Definition: vlc_stream.h:155
AStreamDestroy
static void AStreamDestroy(stream_t *s)
Definition: access.c:284
stream_AccessNew
stream_t * stream_AccessNew(vlc_object_t *parent, input_thread_t *input, es_out_t *out, bool preparsing, const char *url)
This function creates a raw stream_t from an URL.
Definition: access.c:291
vlc_sout.h
subpicture_New
subpicture_t * subpicture_New(const subpicture_updater_t *p_upd)
This function create a new empty subpicture.
Definition: subpicture.c:43
stream_t::pf_control
int(* pf_control)(stream_t *, int i_query, va_list)
Stream control.
Definition: vlc_stream.h:133
decoder_t::fmt_out
es_format_t fmt_out
Definition: vlc_codec.h:113
vlc_video_context
Definition: decoder_helpers.c:228
UNKNOWN_ES
@ UNKNOWN_ES
Definition: vlc_es.h:602
vlc_access_stream_private::input
input_thread_t * input
Definition: access.c:47
input_GetAttachment
input_attachment_t * input_GetAttachment(input_thread_t *input, const char *name)
Definition: input.c:3528
vlc_url.h
vlc_input_decoder_Drain
void vlc_input_decoder_Drain(vlc_input_decoder_t *p_owner)
Signals that there are no further blocks to decode, and requests that the decoder drain all pending b...
Definition: decoder.c:2286
stream_t::p_input_item
input_item_t * p_input_item
Input item (can be NULL)
Definition: vlc_stream.h:55
vlc_mouse.h
vlc_url_t
Definition: vlc_url.h:145
vlc_http_res_get_status
int vlc_http_res_get_status(struct vlc_http_resource *res)
Definition: resource.c:131
vlc_object_t
VLC object common members.
Definition: vlc_objects.h:43
change_volatile
#define change_volatile()
Definition: vlc_plugin.h:496
ModuleThread_GetDisplayDate
static vlc_tick_t ModuleThread_GetDisplayDate(decoder_t *p_dec, vlc_tick_t system_now, vlc_tick_t i_ts)
Definition: decoder.c:758
vlc_input_decoder_t::request_rate
float request_rate
Definition: decoder.c:145
input_attachment_priv
static struct input_attachment_priv * input_attachment_priv(input_attachment_t *a)
Definition: attachment.c:35
SUBCAT_INPUT_ACCESS
#define SUBCAT_INPUT_ACCESS
Definition: vlc_plugin.h:167
VLC_ENOMEM
#define VLC_ENOMEM
Not enough memory.
Definition: vlc_common.h:476
set_capability
#define set_capability(cap, score)
Definition: vlc_plugin.h:311
ModuleThread_UpdateVideoFormat
static int ModuleThread_UpdateVideoFormat(decoder_t *p_dec, vlc_video_context *vctx)
Definition: decoder.c:410
vlc_input_decoder_New
vlc_input_decoder_t * vlc_input_decoder_New(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 vlc_input_decoder_callbacks *cbs, void *cbs_userdata)
Spawns a new decoder thread from the input thread.
Definition: decoder.c:2122
subpicture_t::b_ephemer
bool b_ephemer
If this flag is set to true the subtitle will be displayed until the next one appear.
Definition: vlc_subpicture.h:186
VLC_UNUSED
#define VLC_UNUSED(x)
Definition: vlc_common.h:1105
vout_FlushAll
#define vout_FlushAll(vout)
Empty all the pending pictures in the vout.
Definition: vlc_vout.h:147
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.
Definition: decoder.c:2450
LiveRead
static block_t * LiveRead(stream_t *access, bool *restrict eof)
Definition: access.c:116
VLC_SUCCESS
#define VLC_SUCCESS
No error.
Definition: vlc_common.h:472
input_attachment_t::i_data
size_t i_data
Definition: vlc_input.h:167
picture_t::b_still
bool b_still
Definition: vlc_picture.h:136
connmgr.h
VLC_THREAD_PRIORITY_VIDEO
#define VLC_THREAD_PRIORITY_VIDEO
Definition: vlc_threads.h:210
video_format_t::i_visible_width
unsigned int i_visible_width
width of visible area
Definition: vlc_es.h:358
access_New
static stream_t * access_New(vlc_object_t *parent, input_thread_t *input, es_out_t *out, bool preparsing, const char *mrl)
Definition: access.c:105
strdup
char * strdup(const char *)
var_InheritInteger
static int64_t var_InheritInteger(vlc_object_t *obj, const char *name)
Definition: vlc_variables.h:685
decoder_cc_desc_t::i_708_channels
uint64_t i_708_channels
Definition: vlc_codec.h:208
VLC_TICK_FROM_MS
#define VLC_TICK_FROM_MS(ms)
Definition: vlc_tick.h:122
config_GetSysPath
char * config_GetSysPath(vlc_sysdir_t type, const char *filename)
Gets an installation directory.
Definition: dirs.m:96
SOUT_INPUT_SET_SPU_HIGHLIGHT
@ SOUT_INPUT_SET_SPU_HIGHLIGHT
Definition: stream_output.h:54
vlc_http_file_get_type
#define vlc_http_file_get_type
Definition: file.h:84
VLCDEC_RELOAD
#define VLCDEC_RELOAD
Definition: vlc_codec.h:128
vlc_credential::psz_authtype
const char * psz_authtype
http authtype to search, can be overridden after a call to vlc_credential_get()
Definition: vlc_keystore.h:173
VLC_USED
#define VLC_USED
Definition: fourcc_gen.c:32
Open
static int Open(vlc_object_t *obj)
Definition: access.c:154
RELOAD_DECODER_AOUT
@ RELOAD_DECODER_AOUT
Definition: decoder.c:87
sout_InputNew
sout_packetizer_input_t * sout_InputNew(sout_instance_t *p_sout, const es_format_t *p_fmt)
Definition: stream_output.c:164
ModuleThread_UpdateAudioFormat
static int ModuleThread_UpdateAudioFormat(decoder_t *p_dec)
Definition: decoder.c:322
vlc_input_decoder_t::b_sout_created
bool b_sout_created
Definition: decoder.c:170
vout_FlushSubpictureChannel
void vout_FlushSubpictureChannel(vout_thread_t *vout, size_t channel)
Definition: video_output.c:424
vlc_custom_create
#define vlc_custom_create(o, s, n)
Definition: libvlc.h:117
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 chann...
Definition: decoder.c:2438
vlc_credential_store
#define vlc_credential_store(a, b)
Definition: vlc_keystore.h:260
es_format_t::i_codec
vlc_fourcc_t i_codec
FOURCC value as used in vlc.
Definition: vlc_es.h:620
input_priv
static input_thread_private_t * input_priv(input_thread_t *input)
Definition: input_internal.h:537
input_GetItem
input_item_t * input_GetItem(input_thread_t *p_input)
Get the item from an input thread FIXME it does not increase ref count of the item.
Definition: input.c:247
var_GetBool
static bool var_GetBool(vlc_object_t *p_obj, const char *psz_name)
Get a boolean value.
Definition: vlc_variables.h:390
vlc_input_decoder_SetCcState
int vlc_input_decoder_SetCcState(vlc_input_decoder_t *p_owner, vlc_fourcc_t codec, int i_channel, bool b_decode)
This function activates the request closed caption channel.
Definition: decoder.c:2383
vlc_sysdir_t
enum vlc_system_dir vlc_sysdir_t
System directory identifiers.
vlc_block.h
vlc_mutex_lock
void vlc_mutex_lock(vlc_mutex_t *mtx)
Acquires a mutex.
Definition: threads.c:158
es_format_t::i_profile
int i_profile
codec specific information (like real audio flavor, mpeg audio layer, h264 profile ....
Definition: vlc_es.h:651
name
const char name[16]
Definition: httpd.c:1268
vlc_http_live_create
struct vlc_http_resource * vlc_http_live_create(struct vlc_http_mgr *mgr, const char *uri, const char *ua, const char *ref)
Definition: live.c:58
stream_t::pf_read
ssize_t(* pf_read)(stream_t *, void *buf, size_t len)
Read data.
Definition: vlc_stream.h:85
var_Type
int() var_Type(vlc_object_t *p_this, const char *psz_name)
Get the type of a variable.
Definition: variables.c:655
vlc_input_decoder_DelVoutOverlay
int vlc_input_decoder_DelVoutOverlay(vlc_input_decoder_t *, size_t)
Definition: decoder.c:2657
vlc_cond_t
Condition variable.
Definition: vlc_threads.h:349
aout_FormatPrepare
void aout_FormatPrepare(audio_sample_format_t *p_format)
Definition: common.c:87
vlc_vout_order
vlc_vout_order
vout or spu_channel order
Definition: vlc_vout.h:70
vlc_stream_ReadBlock
block_t * vlc_stream_ReadBlock(stream_t *s)
Reads a data block from a byte stream.
Definition: stream.c:561
STREAM_GET_CONTENT_TYPE
@ STREAM_GET_CONTENT_TYPE
arg1= char ** res=can fail
Definition: vlc_stream.h:160
es_format_t::subs
subs_format_t subs
description of subtitle format
Definition: vlc_es.h:647
N_
#define N_(str)
Definition: vlc_fixups.h:375
add_bool
#define add_bool(name, v, text, longtext, advc)
Definition: vlc_plugin.h:446
VLC_DOWNLOAD_DIR
@ VLC_DOWNLOAD_DIR
Definition: vlc_configuration.h:313
SPU_ES
@ SPU_ES
Definition: vlc_es.h:605
var_SetInteger
static int var_SetInteger(vlc_object_t *p_obj, const char *psz_name, int64_t i)
Set the value of an integer variable.
Definition: vlc_variables.h:293
vout_IsEmpty
bool vout_IsEmpty(vout_thread_t *vout)
This function will return true if no more pictures are to be displayed.
Definition: video_output.c:338
FileControl
static int FileControl(stream_t *access, int query, va_list args)
Definition: access.c:69
vlc_input_decoder_Delete
void vlc_input_decoder_Delete(vlc_input_decoder_t *p_owner)
Kills a decoder thread and waits until it's finished.
Definition: decoder.c:2151
vlc_input_decoder_t::p_fifo
block_fifo_t * p_fifo
Definition: decoder.c:97
VLC_CODEC_DIRAC
#define VLC_CODEC_DIRAC
Definition: vlc_fourcc.h:56
vlc_credential
Definition: vlc_keystore.h:164
subpicture_t::i_stop
vlc_tick_t i_stop
end of display date
Definition: vlc_subpicture.h:185
vlc_input_decoder_t::p_description
vlc_meta_t * p_description
Definition: decoder.c:93
DecoderThread_ChangePause
static void DecoderThread_ChangePause(vlc_input_decoder_t *p_owner, bool paused, vlc_tick_t date)
Definition: decoder.c:1516
video_format_t::i_height
unsigned int i_height
picture height
Definition: vlc_es.h:355
vlc_http_res_get_basic_realm
char * vlc_http_res_get_basic_realm(struct vlc_http_resource *res)
Definition: resource.c:353
es_format_t::psz_language
char * psz_language
human-readable language name
Definition: vlc_es.h:636
var_GetInteger
static int64_t var_GetInteger(vlc_object_t *p_obj, const char *psz_name)
Get an integer value.
Definition: vlc_variables.h:374
input_attachment_t::psz_name
char * psz_name
Definition: vlc_input.h:163
ES_CATEGORY_COUNT
#define ES_CATEGORY_COUNT
Definition: vlc_es.h:608
ModuleThread_QueueAudio
static void ModuleThread_QueueAudio(decoder_t *p_dec, block_t *p_aout_buf)
Definition: decoder.c:1254
vlc_input_decoder_t::i_spu_channel
ssize_t i_spu_channel
Definition: decoder.c:75
RequestReload
static void RequestReload(vlc_input_decoder_t *p_owner)
Definition: decoder.c:806
decoder_Clean
void decoder_Clean(decoder_t *p_dec)
Unload a decoder module and reset the input/output formats.
Definition: decoder_helpers.c:52
vlc_input_decoder_t::mouse_event
vlc_mouse_event mouse_event
Definition: decoder.c:176
vlc_stream_Delete
void vlc_stream_Delete(stream_t *s)
Destroy a stream.
Definition: stream.c:133
var_InheritAddress
static void * var_InheritAddress(vlc_object_t *obj, const char *name)
Definition: vlc_variables.h:720
STREAM_CAN_CONTROL_PACE
@ STREAM_CAN_CONTROL_PACE
arg1= bool * res=cannot fail
Definition: vlc_stream.h:150
input_resource_PutAout
void input_resource_PutAout(input_resource_t *p_resource, audio_output_t *p_aout)
This function retains or destroys an audio output.
Definition: resource.c:238
VLC_TEMPLATES_DIR
@ VLC_TEMPLATES_DIR
Definition: vlc_configuration.h:314
vlc_input_decoder_FrameNext
void vlc_input_decoder_FrameNext(vlc_input_decoder_t *p_owner, vlc_tick_t *pi_duration)
This function force the display of the next picture and fills the stream time consumed.
Definition: decoder.c:2524
vlc_input_decoder_GetFifoSize
size_t vlc_input_decoder_GetFifoSize(vlc_input_decoder_t *p_owner)
This function returns the current size in bytes of the decoder fifo.
Definition: decoder.c:2577
add_string
#define add_string(name, value, text, longtext, advc)
Definition: vlc_plugin.h:385
vlc_mouse_event
void(* vlc_mouse_event)(const vlc_mouse_t *mouse, void *user_data)
Mouse event callback.
Definition: vlc_mouse.h:62
libvlc.h
config_GetHomeDir
static char * config_GetHomeDir(void)
Definition: dirs.m:147
vlc_credential_get
#define vlc_credential_get(a, b, c, d, e, f,...)
Definition: vlc_keystore.h:245
decoder_t::i_extra_picture_buffers
int i_extra_picture_buffers
Number of extra (ie in addition to the DPB) picture buffers needed for decoding.
Definition: vlc_codec.h:122
input_attachment_t::psz_description
char * psz_description
Definition: vlc_input.h:165
decoder_t::b_frame_drop_allowed
bool b_frame_drop_allowed
Definition: vlc_codec.h:116
PREROLL_FORCED
#define PREROLL_FORCED
Definition: decoder.c:139
ModuleThread_NewSpuBuffer
static subpicture_t * ModuleThread_NewSpuBuffer(decoder_t *p_dec, const subpicture_updater_t *p_updater)
Definition: decoder.c:650
picture_pool_NewFromFormat
picture_pool_t * picture_pool_NewFromFormat(const video_format_t *fmt, unsigned count)
Allocates pictures from the heap and creates a picture pool with them.
Definition: picture_pool.c:128
set_subcategory
#define set_subcategory(i_id)
Definition: vlc_plugin.h:372
vlc_input_decoder_t::vout_order
enum vlc_vout_order vout_order
Definition: decoder.c:132
input_resource_PutVout
void input_resource_PutVout(input_resource_t *p_resource, vout_thread_t *vout, bool *stopped)
Definition: resource.c:381
vlc_input_decoder_t::out_pool
struct picture_pool_t * out_pool
Definition: decoder.c:106
LiveControl
static int LiveControl(stream_t *access, int query, va_list args)
Definition: access.c:126
vlc_object_delete
#define vlc_object_delete(obj)
Definition: vlc_objects.h:136
input_resource_HoldVout
vout_thread_t * input_resource_HoldVout(input_resource_t *p_resource)
This function returns one of the current vout if any.
Definition: resource.c:510
file.h
vlc_input_decoder_AddVoutOverlay
int vlc_input_decoder_AddVoutOverlay(vlc_input_decoder_t *, subpicture_t *, size_t *)
Definition: decoder.c:2627
vlc_credential::psz_username
const char * psz_username
valid only if vlc_credential_get() returned true
Definition: vlc_keystore.h:175
AStreamSeek
static int AStreamSeek(stream_t *s, uint64_t offset)
Definition: access.c:270
likely
#define likely(p)
Predicted true condition.
Definition: vlc_common.h:218
vout_RegisterSubpictureChannelInternal
ssize_t vout_RegisterSubpictureChannelInternal(vout_thread_t *vout, vlc_clock_t *clock, enum vlc_vout_order *out_order)
Definition: video_output.c:402
vout_UnregisterSubpictureChannel
void vout_UnregisterSubpictureChannel(vout_thread_t *vout, size_t channel)
Definition: video_output.c:416
vlc_input_decoder_t::cbs
const struct vlc_input_decoder_callbacks * cbs
Definition: decoder.c:72
ModuleThread_QueueThumbnail
static void ModuleThread_QueueThumbnail(decoder_t *p_dec, picture_t *p_pic)
Definition: decoder.c:1153
vlc_stream_Eof
bool vlc_stream_Eof(const stream_t *s)
Checks for end of stream.
Definition: stream.c:618
stream_t::psz_filepath
char * psz_filepath
Local file path (if applicable)
Definition: vlc_stream.h:53
video_format_t::multiview_mode
video_multiview_mode_t multiview_mode
Definition: vlc_es.h:378
VLC_USERDATA_DIR
@ VLC_USERDATA_DIR
Definition: vlc_configuration.h:309
VLC_OBJECT
#define VLC_OBJECT(x)
Type-safe vlc_object_t cast.
Definition: vlc_objects.h:70
CAT_INPUT
#define CAT_INPUT
Definition: vlc_plugin.h:165
vlc_input_decoder_HasFormatChanged
bool vlc_input_decoder_HasFormatChanged(vlc_input_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.
Definition: decoder.c:2544
BLOCK_FLAG_CORE_PRIVATE_RELOADED
#define BLOCK_FLAG_CORE_PRIVATE_RELOADED
Definition: decoder.c:186
vlc_aout.h
STREAM_GET_SIZE
@ STREAM_GET_SIZE
arg1= uint64_t * res=can fail
Definition: vlc_stream.h:152
video_format_t::i_chroma
vlc_fourcc_t i_chroma
picture chroma
Definition: vlc_es.h:352
vlc_codec.h
audio_format_t::i_frame_length
unsigned int i_frame_length
Definition: vlc_es.h:103
video_format_t::lighting
struct video_format_t::@197 lighting
video_format_t::MaxCLL
uint16_t MaxCLL
Definition: vlc_es.h:392
vlc_input_decoder_ChangeRate
void vlc_input_decoder_ChangeRate(vlc_input_decoder_t *dec, float rate)
Changes the decoder rate.
Definition: decoder.c:2464
vout_thread_t
Video output thread descriptor.
Definition: vlc_vout.h:55
aout_replaygain_changed
static bool aout_replaygain_changed(const audio_replay_gain_t *a, const audio_replay_gain_t *b)
Definition: decoder.c:308
ModuleThread_PlayAudio
static int ModuleThread_PlayAudio(vlc_input_decoder_t *p_owner, block_t *p_audio)
Definition: decoder.c:1169
config_isBundle
static bool config_isBundle()
Definition: dirs.m:39
vout_GetResetStatistic
void vout_GetResetStatistic(vout_thread_t *vout, unsigned *restrict displayed, unsigned *restrict lost, unsigned *restrict late)
Definition: video_output.c:330
sout_InputControl
int sout_InputControl(sout_instance_t *p_sout, sout_packetizer_input_t *p_input, int i_query,...)
Definition: stream_output.c:220
BLOCK_FLAG_DISCONTINUITY
#define BLOCK_FLAG_DISCONTINUITY
The content doesn't follow the last block, possible some blocks in between have been lost.
Definition: vlc_block.h:67
input_thread_t
Main structure representing an input thread.
Definition: input_internal.h:48
vlc_cond_init
void vlc_cond_init(vlc_cond_t *cond)
Initializes a condition variable.
Definition: threads.c:234
vlc_input_decoder_callbacks::get_attachments
int(* get_attachments)(vlc_input_decoder_t *decoder, input_attachment_t ***ppp_attachment, void *userdata)
Definition: decoder.h:69
vlc_input_decoder_callbacks::on_vout_stopped
void(* on_vout_stopped)(vlc_input_decoder_t *decoder, vout_thread_t *vout, void *userdata)
Definition: decoder.h:57
vlc_stream_Private
void * vlc_stream_Private(stream_t *stream)
Definition: stream.c:103
vlc_input_decoder_t::i_spu_order
int64_t i_spu_order
Definition: decoder.c:76
input_attachment_priv::a
input_attachment_t a
Definition: attachment.c:49
input_resource_t
Definition: resource.c:56
module_unneed
#define module_unneed(a, b)
Definition: vlc_modules.h:126
vlc_meta.h
vlc_input_decoder_Wait
void vlc_input_decoder_Wait(vlc_input_decoder_t *p_owner)
This function waits for the decoder to actually receive data.
Definition: decoder.c:2500
MouseEvent
static void MouseEvent(const vlc_mouse_t *newmouse, void *user_data)
Definition: decoder.c:294
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.
Definition: decoder.c:2577
input_internal.h
vlc_atomic_rc_init
static void vlc_atomic_rc_init(vlc_atomic_rc_t *rc)
Init the RC to 1.
Definition: vlc_atomic.h:46
block_Release
void block_Release(block_t *block)
Releases a block.
Definition: block.c:135
CreateDecoder
static vlc_input_decoder_t * CreateDecoder(vlc_object_t *p_parent, const es_format_t *fmt, vlc_clock_t *p_clock, input_resource_t *p_resource, sout_instance_t *p_sout, bool b_thumbnailing, const struct vlc_input_decoder_callbacks *cbs, void *cbs_userdata)
Create a decoder object.
Definition: decoder.c:1790
video_format_t::orientation
video_orientation_t orientation
picture orientation
Definition: vlc_es.h:371
vlc_join
void vlc_join(vlc_thread_t handle, void **result)
Waits for a thread to complete (if needed), then destroys it.
Definition: thread.c:151
vlc_credential::psz_realm
const char * psz_realm
http realm or smb domain to search, can be overridden after a call to vlc_credential_get()
Definition: vlc_keystore.h:170
STREAM_CAN_FASTSEEK
@ STREAM_CAN_FASTSEEK
arg1= bool * res=cannot fail
Definition: vlc_stream.h:148
vlc_userdir_t
enum vlc_user_dir vlc_userdir_t
sout_instance_t
Stream output instance.
Definition: stream_output.h:33
vlc_mutex_unlock
void vlc_mutex_unlock(vlc_mutex_t *mtx)
Releases a mutex.
Definition: threads.c:209
vlc_clock_ConvertToSystem
vlc_tick_t vlc_clock_ConvertToSystem(vlc_clock_t *clock, vlc_tick_t system_now, vlc_tick_t ts, double rate)
This function converts a timestamp from stream to system.
Definition: clock.c:502
es_format_Copy
int es_format_Copy(es_format_t *restrict dst, const es_format_t *src)
Definition: es_format.c:436
stream_t::p_sys
void * p_sys
Private data pointer.
Definition: vlc_stream.h:138
vlc_atomic_rc_t
Definition: vlc_atomic.h:41
block_t
Definition: vlc_block.h:117
ModuleThread_QueueVideo
static void ModuleThread_QueueVideo(decoder_t *p_dec, picture_t *p_pic)
Definition: decoder.c:1119
subs_format_t::cc
struct subs_format_t::@201 cc
vlc_input_decoder_StopWait
void vlc_input_decoder_StopWait(vlc_input_decoder_t *p_owner)
This function exits the waiting mode of the decoder.
Definition: decoder.c:2490
vlc_dialog.h
vlc_http_file_seek
int vlc_http_file_seek(struct vlc_http_resource *res, uintmax_t offset)
Sets the read offset.
Definition: file.c:204
msg_Err
#define msg_Err(p_this,...)
Definition: vlc_messages.h:102
audio_replay_gain_t::pb_gain
bool pb_gain[(2)]
Definition: vlc_es.h:63
vlc_input_decoder_t::output_rate
float output_rate
Definition: decoder.c:145
subs_format_t::i_channel
uint8_t i_channel
Definition: vlc_es.h:582
subs_format_t::i_reorder_depth
int i_reorder_depth
Definition: vlc_es.h:584
es_format_t::b_packetized
bool b_packetized
whether the data is packetized (ie.
Definition: vlc_es.h:654
vlc_video_context_Release
void vlc_video_context_Release(vlc_video_context *vctx)
Definition: decoder_helpers.c:275
subpicture_t::i_order
int64_t i_order
Definition: vlc_subpicture.h:176
vlc_fifo_WaitCond
static void vlc_fifo_WaitCond(vlc_fifo_t *fifo, vlc_cond_t *condvar)
Definition: vlc_block.h:551
VLC_CODEC_VP8
#define VLC_CODEC_VP8
Definition: vlc_fourcc.h:122
subpicture_Delete
void subpicture_Delete(subpicture_t *p_subpic)
This function delete a subpicture created by subpicture_New.
Definition: subpicture.c:82
vlc_input_decoder_t::paused
bool paused
Definition: decoder.c:147
VLC_CODEC_TELETEXT
#define VLC_CODEC_TELETEXT
Definition: vlc_fourcc.h:594
VLC_MUSIC_DIR
@ VLC_MUSIC_DIR
Definition: vlc_configuration.h:317
vlc_stream_ReadPartial
ssize_t vlc_stream_ReadPartial(stream_t *s, void *buf, size_t len)
Reads partial data from a byte stream.
Definition: stream.c:463
vlc_input_decoder_t
Definition: decoder.c:66
vlc_input_decoder_t::b_first
bool b_first
Definition: decoder.c:153
VLC_CODEC_CEA708
#define VLC_CODEC_CEA708
Definition: vlc_fourcc.h:614
decoder_owner_callbacks::spu
struct decoder_owner_callbacks::@182::@186 spu
vlc_credential_clean
void vlc_credential_clean(vlc_credential *p_credential)
Clean a credential struct.
Definition: keystore.c:359
DecoderWaitUnblock
static void DecoderWaitUnblock(vlc_input_decoder_t *p_owner)
Definition: decoder.c:813
DecoderThread_Flush
static void DecoderThread_Flush(vlc_input_decoder_t *p_owner)
Definition: decoder.c:1456
VLC_PKG_LIBEXEC_DIR
@ VLC_PKG_LIBEXEC_DIR
Package-specific executable read-only directory (e.g.
Definition: vlc_configuration.h:277
decoder.h
vlc_input_decoder_t::aborting
bool aborting
Definition: decoder.c:161
aout_DecDelete
void aout_DecDelete(audio_output_t *)
Stops all plugins involved in the audio output.
Definition: dec.c:143
module_need
#define module_need(a, b, c, d)
Definition: vlc_modules.h:111
vlc_credential_init
void vlc_credential_init(vlc_credential *p_credential, const vlc_url_t *p_url)
Init a credential struct.
Definition: keystore.c:349
aout_DecNew
int aout_DecNew(audio_output_t *, const audio_sample_format_t *, int profile, struct vlc_clock_t *clock, const audio_replay_gain_t *)
Creates an audio output.
Definition: dec.c:56
vlc_input_decoder_t::b_supported
bool b_supported
Definition: decoder.c:167
vlc_input_decoder_t::dec
decoder_t dec
Definition: decoder.c:68
config_GetLibDir
char * config_GetLibDir(void)
Gets the arch-specific installation directory.
Definition: dirs.m:91
vlc_fourcc_t
uint32_t vlc_fourcc_t
Definition: fourcc_gen.c:33
p
#define p(t)
vlc_input_decoder_callbacks::on_new_video_stats
void(* on_new_video_stats)(vlc_input_decoder_t *decoder, unsigned decoded, unsigned lost, unsigned displayed, unsigned late, void *userdata)
Definition: decoder.h:62
vlc_modules.h
VLC_CODEC_CEA608
#define VLC_CODEC_CEA608
Definition: vlc_fourcc.h:613
decoder_t::pf_packetize
block_t *(* pf_packetize)(decoder_t *, block_t **pp_block)
Definition: vlc_codec.h:179
add_shortcut
#define add_shortcut(...)
Definition: vlc_plugin.h:291
decoder_t::p_description
vlc_meta_t * p_description
Definition: vlc_codec.h:197