VLC  4.0.0-dev
demux.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * demux.h: Input demux 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_DEMUX_H
25 #define LIBVLC_INPUT_DEMUX_H 1
26 
27 #include <vlc_common.h>
28 #include <vlc_demux.h>
29 
30 #include "stream.h"
31 
32 /* stream_t *s could be null and then it mean a access+demux in one */
33 demux_t *demux_NewAdvanced( vlc_object_t *p_obj, input_thread_t *p_parent_input,
34  const char *psz_demux, const char *url,
35  stream_t *s, es_out_t *out, bool );
36 
37 unsigned demux_TestAndClearFlags( demux_t *, unsigned );
38 int demux_GetTitle( demux_t * );
40 
41 /**
42  * Builds an explicit chain of demux filters.
43  *
44  * This function creates a chain of filters according to a supplied list.
45  *
46  * See also stream_FilterChainNew(). Those two functions have identical
47  * semantics and ownership rules, except for the use of demux vs stream.
48  *
49  * @param source input stream around which to build a filter chain
50  * @param list colon-separated list of stream filters (upstream first)
51  *
52  * @note Like stream_FilterAutoNew(), this function takes ownership of the
53  * source input stream, and transfers it to the first demux filter in the
54  * constructed chain. Any use of the source after the function call is invalid
55  * and undefined (unless the chain ends up empty).
56  *
57  * @return The last demux (filter) in the chain.
58  * The return value is always a valid (non-NULL) demux pointer.
59  */
60 demux_t *demux_FilterChainNew( demux_t *source, const char *list ) VLC_USED;
61 
62 bool demux_FilterEnable( demux_t *p_demux_chain, const char* psz_demux );
63 bool demux_FilterDisable( demux_t *p_demux_chain, const char* psz_demux );
64 
65 #endif
vlc_video_context::ops
const struct vlc_video_context_operations * ops
Definition: decoder_helpers.c:232
decoder_Destroy
void decoder_Destroy(decoder_t *p_dec)
Destroy a decoder and reset the structure.
Definition: decoder_helpers.c:70
DEMUX_GET_META
@ DEMUX_GET_META
Retrieves stream meta-data.
Definition: vlc_demux.h:118
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_video_context_Create
vlc_video_context * vlc_video_context_Create(vlc_decoder_device *device, enum vlc_video_context_type private_type, size_t private_size, const struct vlc_video_context_operations *ops)
Definition: decoder_helpers.c:238
DEMUX_SET_PAUSE_STATE
@ DEMUX_SET_PAUSE_STATE
Sets the paused or playing/resumed state.
Definition: vlc_demux.h:142
vlc_stream_Tell
uint64_t vlc_stream_Tell(const stream_t *s)
Tells the current stream position.
Definition: stream.c:611
vlc_video_context_HoldDevice
vlc_decoder_device * vlc_video_context_HoldDevice(vlc_video_context *vctx)
Get the decoder device used by the device context.
Definition: decoder_helpers.c:287
vlc_decoder_device::obj
struct vlc_object_t obj
Definition: vlc_codec.h:568
DEMUX_GET_SIGNAL
@ DEMUX_GET_SIGNAL
Retrieves an estimate of signal quality and strength.
Definition: vlc_demux.h:124
stream_CommonDelete
void stream_CommonDelete(stream_t *s)
Definition: stream.c:114
DEMUX_NAV_UP
@ DEMUX_NAV_UP
Use the up arrow to select a navigation item above.
Definition: vlc_demux.h:263
VIDEO_ES
@ VIDEO_ES
Definition: vlc_es.h:603
vlc_demux.h
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
demux_FilterEnable
bool demux_FilterEnable(demux_t *p_demux_chain, const char *psz_demux)
Definition: demux.c:516
DEMUX_GET_TYPE
@ DEMUX_GET_TYPE
Retrieves the demuxed content type Can fail if the control is not implemented.
Definition: vlc_demux.h:130
strcasecmp
int strcasecmp(const char *, const char *)
psz_name
const char * psz_name
Definition: text_style.c:53
vlc_decoder_device_Create
vlc_decoder_device * vlc_decoder_device_Create(vlc_object_t *o, vout_window_t *window)
Create a decoder device from a window.
Definition: decoder_helpers.c:181
vout_window_t
Window object.
Definition: vlc_vout_window.h:353
DEMUX_SET_TIME
@ DEMUX_SET_TIME
Definition: vlc_demux.h:190
demux_GetSeekpoint
int demux_GetSeekpoint(demux_t *p_demux)
Definition: demux.c:432
stream_t::obj
struct vlc_object_t obj
Definition: vlc_stream.h:48
vlc_video_context::private_type
enum vlc_video_context_type private_type
Definition: decoder_helpers.c:233
unlikely
#define unlikely(p)
Predicted false condition.
Definition: vlc_common.h:227
demux_Control
static int demux_Control(demux_t *p_demux, int i_query,...)
Definition: vlc_demux.h:301
vlc_common.h
stream_t::b_preparsing
bool b_preparsing
True if this access is used to preparse.
Definition: vlc_stream.h:54
VLC_DEMUXER_EGENERIC
#define VLC_DEMUXER_EGENERIC
Definition: vlc_demux.h:45
video_format_t::i_y_offset
unsigned int i_y_offset
start offset of visible area
Definition: vlc_es.h:357
demux_NameFromMimeType
static const char * demux_NameFromMimeType(const char *mime)
Definition: demux.c:52
DEMUX_GET_TITLE_INFO
@ DEMUX_GET_TITLE_INFO
Definition: vlc_demux.h:203
DEMUX_CAN_RECORD
@ DEMUX_CAN_RECORD
Definition: vlc_demux.h:237
input_item_node_Create
input_item_node_t * input_item_node_Create(input_item_t *p_input)
Start adding multiple subitems.
Definition: item.c:1226
vlc_chroma_description_t::w
vlc_rational_t w
Definition: vlc_fourcc.h:750
demux_FilterNew
static demux_t * demux_FilterNew(demux_t *p_next, const char *p_name)
Definition: demux.c:441
video_format_t::i_sar_num
unsigned int i_sar_num
sample/pixel aspect ratio
Definition: vlc_es.h:363
demux_FilterDisable
bool demux_FilterDisable(demux_t *p_demux_chain, const char *psz_demux)
Definition: demux.c:521
decoder_t::cbs
const struct decoder_owner_callbacks * cbs
Definition: vlc_codec.h:200
vlc_tick_from_samples
static vlc_tick_t vlc_tick_from_samples(int64_t samples, int samp_rate)
Definition: vlc_tick.h:101
vlc_demux_private::module
module_t * module
Definition: demux.c:81
vlc_video_context::private
uint8_t private[]
Definition: decoder_helpers.c:235
vlc_module_load
#define vlc_module_load(ctx, cap, name, strict,...)
Definition: vlc_modules.h:99
decoder_device_Open
static int decoder_device_Open(void *func, bool forced, va_list ap)
Definition: decoder_helpers.c:168
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
demux_PacketizerNew
decoder_t * demux_PacketizerNew(demux_t *p_demux, es_format_t *p_fmt, const char *psz_msg)
This function will create a packetizer suitable for a demuxer that parses elementary stream.
Definition: demux.c:373
vlc_video_context_operations
Definition: vlc_picture.h:80
demux_FilterChainNew
demux_t * demux_FilterChainNew(demux_t *p_demux, const char *psz_chain)
Builds an explicit chain of demux filters.
Definition: demux.c:471
decoder_t::pf_decode
int(* pf_decode)(decoder_t *, block_t *p_block)
Definition: vlc_codec.h:150
DEMUX_SET_TITLE
@ DEMUX_SET_TITLE
Seeks to the beginning of a title.
Definition: vlc_demux.h:150
get_path
char * get_path(const char *location)
Definition: access.c:51
DEMUX_SET_GROUP_LIST
@ DEMUX_SET_GROUP_LIST
Definition: vlc_demux.h:211
DEMUX_SET_ES
@ DEMUX_SET_ES
Definition: vlc_demux.h:212
msg_Dbg
#define msg_Dbg(p_this,...)
Definition: vlc_messages.h:106
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
input_item_node_Delete
void input_item_node_Delete(input_item_node_t *p_node)
Delete a node created with input_item_node_Create() and all its children.
Definition: item.c:1243
DEMUX_SET_ES_LIST
@ DEMUX_SET_ES_LIST
Definition: vlc_demux.h:213
encoder_t::cbs
const struct encoder_owner_callbacks * cbs
Definition: vlc_codec.h:271
decoder_t
Definition: vlc_codec.h:101
vlc_rational_t::den
unsigned den
Definition: fourcc_gen.c:34
var_InheritString
static char * var_InheritString(vlc_object_t *obj, const char *name)
Definition: vlc_variables.h:705
vlc_ascii_strcasecmp
static int vlc_ascii_strcasecmp(const char *psz1, const char *psz2)
Compare two ASCII strings ignoring case.
Definition: vlc_strings.h:60
decoder_t::pf_flush
void(* pf_flush)(decoder_t *)
Definition: vlc_codec.h:183
VLC_EGENERIC
#define VLC_EGENERIC
Unspecified error.
Definition: vlc_common.h:474
DEMUX_SET_SEEKPOINT
@ DEMUX_SET_SEEKPOINT
Seeks to the beginning of a chapter of the current title.
Definition: vlc_demux.h:158
ARRAY_SIZE
#define ARRAY_SIZE(x)
Definition: vlc_arrays.h:178
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
demux_vaControl
int demux_vaControl(demux_t *demux, int query, va_list args)
Definition: demux.c:229
entry::key
char * key
Definition: vlc_fixups.h:493
vlc_video_context_Hold
vlc_video_context * vlc_video_context_Hold(vlc_video_context *vctx)
Definition: decoder_helpers.c:269
vlc_decoder_device_priv::rc
vlc_atomic_rc_t rc
Definition: decoder_helpers.c:165
video_format_AdjustColorSpace
static void video_format_AdjustColorSpace(video_format_t *p_fmt)
Definition: vlc_es.h:428
vlc_ureduce
VLC_EXPORT bool vlc_ureduce(unsigned *, unsigned *, uint64_t, uint64_t, uint64_t)
stream_t::pf_demux
int(* pf_demux)(stream_t *)
Definition: vlc_stream.h:115
vlc_decoder_device_operations::close
void(* close)(struct vlc_decoder_device *)
Definition: vlc_codec.h:560
picture_t
Video picture.
Definition: vlc_picture.h:120
vlc_video_context::private_size
size_t private_size
Definition: decoder_helpers.c:234
VLC_VIDEO_CONTEXT_NONE
@ VLC_VIDEO_CONTEXT_NONE
Definition: vlc_picture.h:88
asprintf
int asprintf(char **, const char *,...)
vlc_object_create
#define vlc_object_create(a, b)
Definition: vlc_objects.h:179
stream_t::out
es_out_t * out
Definition: vlc_stream.h:68
stream_t::psz_location
const char * psz_location
Location (URL with the scheme stripped)
Definition: vlc_stream.h:52
demux_TestAndClearFlags
unsigned demux_TestAndClearFlags(demux_t *p_demux, unsigned flags)
Definition: demux.c:414
decoder_t::pf_get_cc
block_t *(* pf_get_cc)(decoder_t *, decoder_cc_desc_t *)
Definition: vlc_codec.h:191
DEMUX_HAS_UNSUPPORTED_META
@ DEMUX_HAS_UNSUPPORTED_META
Definition: vlc_demux.h:225
STREAM_CAN_SEEK
@ STREAM_CAN_SEEK
arg1= bool * res=cannot fail
Definition: vlc_stream.h:147
DEMUX_GET_TIME
@ DEMUX_GET_TIME
Definition: vlc_demux.h:189
DEMUX_SET_GROUP_ALL
@ DEMUX_SET_GROUP_ALL
Definition: vlc_demux.h:210
demux_NewAdvanced
demux_t * demux_NewAdvanced(vlc_object_t *p_obj, input_thread_t *p_parent_input, const char *psz_demux, const char *url, stream_t *s, es_out_t *out, bool)
Definition: demux.c:117
stream_t::pf_readdir
int(* pf_readdir)(stream_t *, input_item_node_t *)
Read directory.
Definition: vlc_stream.h:113
stream_t::psz_name
char * psz_name
Definition: vlc_stream.h:50
demux_FilterDisable
bool demux_FilterDisable(demux_t *p_demux_chain, const char *psz_demux)
Definition: demux.c:521
msg_Warn
#define msg_Warn(p_this,...)
Definition: vlc_messages.h:104
es_out_t
Definition: vlc_es_out.h:143
demux_mapping::name
const char name[8]
Definition: demux.c:62
decoder_t::p_module
module_t * p_module
Definition: vlc_codec.h:106
demux_mapping
Definition: demux.c:39
picture_NewFromFormat
picture_t * picture_NewFromFormat(const video_format_t *restrict fmt)
Definition: picture.c:259
DEMUX_CAN_PAUSE
@ DEMUX_CAN_PAUSE
Checks whether (long) pause then stream resumption is supported.
Definition: vlc_demux.h:99
decoder_NewPicture
picture_t * decoder_NewPicture(decoder_t *dec)
Allocates an output picture buffer.
Definition: decoder_helpers.c:154
vlc_demux_private
Definition: demux.c:79
demux_GetTitle
int demux_GetTitle(demux_t *)
Definition: demux.c:423
video_format_t::i_width
unsigned int i_width
picture width
Definition: vlc_es.h:354
DEMUX_SET_NEXT_DEMUX_TIME
@ DEMUX_SET_NEXT_DEMUX_TIME
Definition: vlc_demux.h:220
es_out_Control
static int es_out_Control(es_out_t *out, int i_query,...)
Definition: vlc_es_out.h:170
config_chain_t
Definition: vlc_configuration.h:331
vlc_fourcc_GetChromaDescription
const vlc_chroma_description_t * vlc_fourcc_GetChromaDescription(vlc_fourcc_t i_fourcc)
It returns a vlc_chroma_description_t describing the requested fourcc or NULL if not found.
Definition: fourcc.c:848
module_t
Internal module descriptor.
Definition: modules.h:78
demux_PacketizerDestroy
void demux_PacketizerDestroy(decoder_t *p_packetizer)
This function will destroy a packetizer create by demux_PacketizerNew.
Definition: demux.c:403
video_format_t::i_x_offset
unsigned int i_x_offset
start offset of visible area
Definition: vlc_es.h:356
DEMUX_GET_LENGTH
@ DEMUX_GET_LENGTH
Definition: vlc_demux.h:188
vlc_atomic_rc_inc
static void vlc_atomic_rc_inc(vlc_atomic_rc_t *rc)
Increment the RC.
Definition: vlc_atomic.h:52
vlc_stream_ReadDir
int vlc_stream_ReadDir(stream_t *s, input_item_node_t *p_node)
Reads a directory.
Definition: stream.c:749
es_format_t
Definition: vlc_es.h:617
vlc_atomic.h
vlc_tick_t
int64_t vlc_tick_t
High precision date or time interval.
Definition: vlc_tick.h:45
demux_FilterEnable
bool demux_FilterEnable(demux_t *p_demux_chain, const char *psz_demux)
Definition: demux.c:516
vlc_video_context::rc
vlc_atomic_rc_t rc
Definition: decoder_helpers.c:230
demux_filter_enable_disable
static bool demux_filter_enable_disable(demux_t *p_demux, const char *psz_demux, bool b_enable)
Definition: demux.c:500
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
stream_t::psz_url
char * psz_url
Full URL or MRL (can be NULL)
Definition: vlc_stream.h:51
vlc_strings.h
es_format_t::i_cat
enum es_format_category_e i_cat
ES category.
Definition: vlc_es.h:619
DEMUX_SET_GROUP_DEFAULT
@ DEMUX_SET_GROUP_DEFAULT
Definition: vlc_demux.h:209
vlc_decoder_device
Decoder context struct.
Definition: vlc_codec.h:566
demux_FilterChainNew
demux_t * demux_FilterChainNew(demux_t *source, const char *list)
Builds an explicit chain of demux filters.
Definition: demux.c:471
decoder_t::fmt_in
es_format_t fmt_in
Definition: vlc_codec.h:110
demux_New
demux_t * demux_New(vlc_object_t *p_obj, const char *psz_name, stream_t *s, es_out_t *out)
Definition: demux.c:72
vlc_meta_Delete
void vlc_meta_Delete(vlc_meta_t *m)
Definition: meta.c:108
DEMUX_SET_POSITION
@ DEMUX_SET_POSITION
Definition: vlc_demux.h:185
DEMUX_NAV_LEFT
@ DEMUX_NAV_LEFT
Use the left arrow to select a navigation item on the left.
Definition: vlc_demux.h:267
vlc_objres_clear
void vlc_objres_clear(vlc_object_t *obj)
Releases all resources of an object.
Definition: objres.c:84
vlc_chroma_description_t::h
vlc_rational_t h
Definition: vlc_fourcc.h:751
stream.h
encoder_t
Definition: vlc_codec.h:242
DEMUX_GET_NORMAL_TIME
@ DEMUX_GET_NORMAL_TIME
Definition: vlc_demux.h:192
demux_Probe
static int demux_Probe(void *func, bool forced, va_list ap)
Definition: demux.c:96
vlc_stream_Control
static int vlc_stream_Control(stream_t *s, int query,...)
Definition: vlc_stream.h:294
decoder_owner_callbacks::video
struct decoder_owner_callbacks::@182::@184 video
DEMUX_GET_SEEKPOINT
@ DEMUX_GET_SEEKPOINT
Definition: vlc_demux.h:180
vlc_video_context_type
vlc_video_context_type
Decoder device type.
Definition: vlc_picture.h:86
DEMUX_NAV_POPUP
@ DEMUX_NAV_POPUP
Activate the popup Menu (for BD).
Definition: vlc_demux.h:271
DEMUX_NAV_ACTIVATE
@ DEMUX_NAV_ACTIVATE
Activate the navigation item selected.
Definition: vlc_demux.h:261
DEMUX_CAN_SEEK
@ DEMUX_CAN_SEEK
Checks whether the stream supports seeking.
Definition: vlc_demux.h:91
stream_t
stream_t definition
Definition: vlc_stream.h:46
stream_t::s
stream_t * s
Input stream.
Definition: vlc_stream.h:65
decoder_UpdateVideoOutput
int decoder_UpdateVideoOutput(decoder_t *dec, vlc_video_context *vctx_out)
Creates/Updates the rest of the video output pipeline.
Definition: decoder_helpers.c:84
encoder_t::fmt_in
es_format_t fmt_in
Definition: vlc_codec.h:251
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
vlc_fourcc_IsYUV
bool vlc_fourcc_IsYUV(vlc_fourcc_t fcc)
It returns true if the given fourcc is YUV and false otherwise.
Definition: fourcc.c:680
DEMUX_NAV_DOWN
@ DEMUX_NAV_DOWN
Use the down arrow to select a navigation item under.
Definition: vlc_demux.h:265
vlc_chroma_description_t::p
struct vlc_chroma_description_t::@219 p[4]
VLC_DEMUXER_EOF
#define VLC_DEMUXER_EOF
Definition: vlc_demux.h:44
demux_mapping_cmp
static int demux_mapping_cmp(const void *k, const void *v)
Definition: demux.c:46
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
DEMUX_FILTER_DISABLE
@ DEMUX_FILTER_DISABLE
Definition: vlc_demux.h:280
demux_GetTitle
int demux_GetTitle(demux_t *p_demux)
Definition: demux.c:423
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
vlc_url.h
stream_t::p_input_item
input_item_t * p_input_item
Input item (can be NULL)
Definition: vlc_stream.h:55
encoder_owner_callbacks::get_device
vlc_decoder_device *(* get_device)(encoder_t *)
Definition: vlc_codec.h:220
DEMUX_NAV_MENU
@ DEMUX_NAV_MENU
Activate disc Root Menu.
Definition: vlc_demux.h:273
demux_GetSeekpoint
int demux_GetSeekpoint(demux_t *)
Definition: demux.c:432
vlc_object_t
VLC object common members.
Definition: vlc_objects.h:43
config_ChainCreate
char * config_ChainCreate(char **ppsz_name, config_chain_t **pp_cfg, const char *psz_chain)
This function will parse a configuration string (psz_string) and.
Definition: chain.c:225
vlc_decoder_device_Release
void vlc_decoder_device_Release(vlc_decoder_device *device)
Release a decoder device.
Definition: decoder_helpers.c:213
demux_NewAdvanced
demux_t * demux_NewAdvanced(vlc_object_t *p_obj, input_thread_t *p_input, const char *module, const char *url, stream_t *s, es_out_t *out, bool b_preparsing)
Definition: demux.c:117
samples_from_vlc_tick
static int64_t samples_from_vlc_tick(vlc_tick_t t, int samp_rate)
Definition: vlc_tick.h:105
var_CreateGetBool
static bool var_CreateGetBool(vlc_object_t *p_obj, const char *psz_name)
Create a boolean variable with inherit and get its value.
Definition: vlc_variables.h:536
DEMUX_GET_FPS
@ DEMUX_GET_FPS
Definition: vlc_demux.h:222
config_ChainDestroy
void config_ChainDestroy(config_chain_t *p_cfg)
This function will release a linked list of config_chain_t (Including the head)
Definition: chain.c:253
VLC_UNUSED
#define VLC_UNUSED(x)
Definition: vlc_common.h:1105
DEMUX_GET_PTS_DELAY
@ DEMUX_GET_PTS_DELAY
Retrieves the PTS delay (roughly the default buffer duration).
Definition: vlc_demux.h:112
demux_TestAndClearFlags
unsigned demux_TestAndClearFlags(demux_t *, unsigned)
Definition: demux.c:414
vlc_decoder_device_priv::device
struct vlc_decoder_device device
Definition: decoder_helpers.c:164
VLC_SUCCESS
#define VLC_SUCCESS
No error.
Definition: vlc_common.h:472
video_format_t::i_visible_width
unsigned int i_visible_width
width of visible area
Definition: vlc_es.h:358
strdup
char * strdup(const char *)
module_get_name
const char * module_get_name(const module_t *m, bool long_name)
Gets the human-friendly name of a module.
Definition: modules.c:57
VLC_USED
#define VLC_USED
Definition: fourcc_gen.c:32
vlc_picture.h
demux_DestroyDemux
static void demux_DestroyDemux(demux_t *demux)
Definition: demux.c:84
vlc_custom_create
#define vlc_custom_create(o, s, n)
Definition: libvlc.h:117
vlc_video_context_operations::destroy
void(* destroy)(void *priv)
Definition: vlc_picture.h:82
es_format_t::i_codec
vlc_fourcc_t i_codec
FOURCC value as used in vlc.
Definition: vlc_es.h:620
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
vlc_assert
#define vlc_assert(pred)
Run-time assertion.
Definition: vlc_common.h:271
list
module_config_t ** list
Definition: core.c:400
vlc_decoder_device_Hold
vlc_decoder_device * vlc_decoder_device_Hold(vlc_decoder_device *device)
Hold a decoder device.
Definition: decoder_helpers.c:204
demux.h
name
const char name[16]
Definition: httpd.c:1268
DEMUX_CAN_CONTROL_PACE
@ DEMUX_CAN_CONTROL_PACE
Whether the stream can be read at an arbitrary pace.
Definition: vlc_demux.h:105
entry
Definition: fourcc_gen.c:51
DEMUX_FILTER_ENABLE
@ DEMUX_FILTER_ENABLE
Enable/Disable a demux filter.
Definition: vlc_demux.h:279
ES_OUT_POST_SUBNODE
@ ES_OUT_POST_SUBNODE
Definition: vlc_es_out.h:102
DEMUX_GET_TITLE
@ DEMUX_GET_TITLE
Read the title number currently playing.
Definition: vlc_demux.h:173
stream_Size
static int64_t stream_Size(stream_t *s)
Definition: vlc_stream.h:336
DEMUX_GET_POSITION
@ DEMUX_GET_POSITION
Definition: vlc_demux.h:184
video_format_t::i_height
unsigned int i_height
picture height
Definition: vlc_es.h:355
DEMUX_SET_RECORD_STATE
@ DEMUX_SET_RECORD_STATE
Definition: vlc_demux.h:247
vlc_decoder_device_priv
Definition: decoder_helpers.c:162
vlc_object_t::force
bool force
Module probe flag.
Definition: vlc_objects.h:58
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_stream_Delete
void vlc_stream_Delete(stream_t *s)
Destroy a stream.
Definition: stream.c:133
libvlc.h
stream_MimeType
static char * stream_MimeType(stream_t *s)
Get the mime-type of a stream.
Definition: vlc_stream.h:375
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
decoder_t::b_frame_drop_allowed
bool b_frame_drop_allowed
Definition: vlc_codec.h:116
vlc_decoder_device_Open
int(* vlc_decoder_device_Open)(vlc_decoder_device *device, vout_window_t *window)
"decoder device" module open entry point
Definition: vlc_codec.h:602
demux_Demux
int demux_Demux(demux_t *demux)
Definition: demux.c:202
decoder_UpdateVideoFormat
int decoder_UpdateVideoFormat(decoder_t *dec)
Updates the video output format.
Definition: decoder_helpers.c:79
vlc_object_delete
#define vlc_object_delete(obj)
Definition: vlc_objects.h:136
likely
#define likely(p)
Predicted true condition.
Definition: vlc_common.h:218
stream_t::psz_filepath
char * psz_filepath
Local file path (if applicable)
Definition: vlc_stream.h:53
VLC_OBJECT
#define VLC_OBJECT(x)
Type-safe vlc_object_t cast.
Definition: vlc_objects.h:70
video_format_t::i_chroma
vlc_fourcc_t i_chroma
picture chroma
Definition: vlc_es.h:352
vlc_codec.h
vlc_chroma_description_t
Chroma related information.
Definition: vlc_fourcc.h:747
DEMUX_NAV_RIGHT
@ DEMUX_NAV_RIGHT
Use the right arrow to select a navigation item on the right.
Definition: vlc_demux.h:269
encoder_owner_callbacks::video
struct encoder_owner_callbacks::@189 video
input_thread_t
Main structure representing an input thread.
Definition: input_internal.h:48
input_item_node_t
Definition: vlc_input_item.h:194
vlc_stream_Private
void * vlc_stream_Private(stream_t *stream)
Definition: stream.c:103
DEMUX_GET_ATTACHMENTS
@ DEMUX_GET_ATTACHMENTS
Definition: vlc_demux.h:232
module_unneed
#define module_unneed(a, b)
Definition: vlc_modules.h:126
demux_vaControlHelper
int demux_vaControlHelper(stream_t *s, int64_t i_start, int64_t i_end, int64_t i_bitrate, int i_align, int i_query, va_list args)
Definition: demux.c:237
vlc_meta.h
vlc_encoder_GetDecoderDevice
vlc_decoder_device * vlc_encoder_GetDecoderDevice(encoder_t *enc)
encoder
Definition: decoder_helpers.c:296
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
static_control_match
#define static_control_match(foo)
Definition: demux.c:226
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
msg_Err
#define msg_Err(p_this,...)
Definition: vlc_messages.h:102
vlc_video_context::device
vlc_decoder_device * device
Definition: decoder_helpers.c:231
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
module_need
#define module_need(a, b, c, d)
Definition: vlc_modules.h:111
vlc_video_context_GetType
enum vlc_video_context_type vlc_video_context_GetType(const vlc_video_context *vctx)
Definition: decoder_helpers.c:264
vlc_video_context_GetPrivate
void * vlc_video_context_GetPrivate(vlc_video_context *vctx, enum vlc_video_context_type type)
Definition: decoder_helpers.c:257
p
#define p(t)
vlc_modules.h
VLC_DEMUXER_SUCCESS
#define VLC_DEMUXER_SUCCESS
Definition: vlc_demux.h:46
DEMUX_TEST_AND_CLEAR_FLAGS
@ DEMUX_TEST_AND_CLEAR_FLAGS
Check which INPUT_UPDATE_XXX flag is set and reset the ones set.
Definition: vlc_demux.h:166
vlc_chroma_description_t::plane_count
unsigned plane_count
Definition: vlc_fourcc.h:748
decoder_t::pf_packetize
block_t *(* pf_packetize)(decoder_t *, block_t **pp_block)
Definition: vlc_codec.h:179
vlc_decoder_device::ops
const struct vlc_decoder_device_operations * ops
Definition: vlc_codec.h:570
decoder_t::p_description
vlc_meta_t * p_description
Definition: vlc_codec.h:197