43 #define VLC_DEMUXER_EOF 0 44 #define VLC_DEMUXER_EGENERIC -1 45 #define VLC_DEMUXER_SUCCESS 1 48 #define INPUT_UPDATE_TITLE 0x0010 49 #define INPUT_UPDATE_SEEKPOINT 0x0020 50 #define INPUT_UPDATE_META 0x0040 51 #define INPUT_UPDATE_TITLE_LIST 0x0100 290 int64_t i_bitrate,
int i_align,
int i_query, va_list args );
297 return p_demux->
pf_demux( p_demux );
307 va_start( args, i_query );
319 int *restrict titlep,
int *restrict seekpointp,
320 unsigned *restrict updatep )
323 unsigned title, seekpoint;
326 && title != (
unsigned)*titlep )
334 && seekpoint != (
unsigned)*seekpointp )
336 *seekpointp = seekpoint;
340 # define demux_UpdateTitleFromStream(demux) \ 341 demux_UpdateTitleFromStream(demux, \ 342 &((demux_sys_t *)((demux)->p_sys))->current_title, \ 343 &((demux_sys_t *)((demux)->p_sys))->current_seekpoint, \ 344 &((demux_sys_t *)((demux)->p_sys))->updates) 352 const char *
psz_ext = strrchr ( name,
'.' );
400 time += current_time;
423 #define DEMUX_INIT_COMMON() do { \ 424 p_demux->pf_control = Control; \ 425 p_demux->pf_demux = Demux; \ 426 p_demux->p_sys = calloc( 1, sizeof( demux_sys_t ) ); \ 427 if( !p_demux->p_sys ) return VLC_ENOMEM;\
Definition: vlc_demux.h:211
es_out_t * out
Definition: demux_chained.c:50
Definition: vlc_demux.h:175
int(* pf_demux)(stream_t *)
Definition: vlc_stream.h:124
demux_t * demux_New(vlc_object_t *p_obj, const char *psz_name, stream_t *s, es_out_t *out)
Definition: demux.c:141
char * psz_filepath
Local file path (if applicable)
Definition: vlc_stream.h:53
Sets the paused or playing/resumed state.
Definition: vlc_demux.h:133
Definition: vlc_demux.h:181
Checks whether (long) pause then stream resumption is supported.
Definition: vlc_demux.h:96
struct demux_meta_t demux_meta_t
arg1=unsigned * res=can fail
Definition: vlc_stream.h:167
static int demux_SetTime(demux_t *p_demux, vlc_tick_t time, bool precise, bool absolute)
Definition: vlc_demux.h:392
Definition: vlc_demux.h:234
Seeks to the beginning of a chapter of the current title.
Definition: vlc_demux.h:149
Definition: vlc_demux.h:176
Definition: vlc_demux.h:224
Read the title number currently playing.
Definition: vlc_demux.h:164
Activate the navigation item selected.
Definition: vlc_demux.h:256
static int demux_Demux(demux_t *p_demux)
Definition: vlc_demux.h:293
Checks whether the stream is actually a playlist, rather than a real stream.
Definition: vlc_demux.h:252
static void demux_Delete(demux_t *demux)
Definition: vlc_demux.h:285
Definition: vlc_demux.h:241
Checks whether the stream supports seeking.
Definition: vlc_demux.h:88
Definition: vlc_demux.h:171
Definition: demux_chained.c:35
static bool demux_IsForced(demux_t *p_demux, const char *psz_name)
Definition: vlc_demux.h:366
Check which INPUT_UPDATE_XXX flag is set and reset the ones set.
Definition: vlc_demux.h:157
Definition: vlc_demux.h:180
Whether the stream can be read at an arbitrary pace.
Definition: vlc_demux.h:102
static int vlc_stream_Control(stream_t *s, int query,...)
Definition: vlc_stream.h:302
int demux_vaControl(demux_t *p_demux, int i_query, va_list args)
Definition: demux.c:267
Enable/Disable a demux filter.
Definition: vlc_demux.h:274
Retrieves an estimate of signal quality and strength.
Definition: vlc_demux.h:121
void vlc_demux_chained_Delete(vlc_demux_chained_t *)
Destroys a chained demuxer.
Definition: demux_chained.c:163
Retrieves stream meta-data.
Definition: vlc_demux.h:115
int demux_vaControlHelper(stream_t *, int64_t i_start, int64_t i_end, int64_t i_bitrate, int i_align, int i_query, va_list args)
Definition: demux.c:275
arg1=unsigned * res=can fail
Definition: vlc_stream.h:166
const char * psz_name
Definition: text_style.c:33
Retrieves the PTS delay (roughly the default buffer duration).
Definition: vlc_demux.h:109
demux_query_e
Control query identifiers for use with demux_t.pf_control.
Definition: vlc_demux.h:81
int64_t vlc_tick_t
High precision date or time interval.
Definition: vlc_tick.h:45
Use the left arrow to select a navigation item on the left.
Definition: vlc_demux.h:262
Definition: vlc_es_out.h:143
Definition: vlc_demux.h:201
Definition: vlc_demux.h:183
int vlc_demux_chained_ControlVa(vlc_demux_chained_t *, int query, va_list args)
Controls a chained demuxer.
Definition: demux_chained.c:138
#define VLC_SUCCESS
No error.
Definition: vlc_common.h:470
Use the down arrow to select a navigation item under.
Definition: vlc_demux.h:260
static bool stream_IsMimeType(stream_t *s, const char *type)
Checks for a MIME type.
Definition: vlc_stream.h:399
Activate disc Root Menu.
Definition: vlc_demux.h:268
Definition: vlc_demux.h:200
Definition: vlc_demux.h:194
Use the right arrow to select a navigation item on the right.
Definition: vlc_demux.h:264
Definition: vlc_demux.h:213
static int demux_Control(demux_t *p_demux, int i_query,...)
Definition: vlc_demux.h:303
const char name[16]
Definition: httpd.c:1269
Definition: vlc_demux.h:219
static bool demux_IsPathExtension(demux_t *p_demux, const char *psz_extension)
Definition: vlc_demux.h:349
void demux_PacketizerDestroy(decoder_t *p_packetizer)
This function will destroy a packetizer create by demux_PacketizerNew.
Definition: demux.c:444
#define VLC_API
Definition: fourcc_gen.c:31
Definition: vlc_demux.h:203
stream_t definition
Definition: vlc_stream.h:46
Definition: vlc_demux.h:204
Definition: vlc_codec.h:103
#define INPUT_UPDATE_SEEKPOINT
Definition: vlc_demux.h:50
stream_t * s
Input stream.
Definition: vlc_stream.h:66
Seeks to the beginning of a title.
Definition: vlc_demux.h:141
const char * psz_location
Location (URL with the scheme stripped)
Definition: vlc_stream.h:52
static int demux_SetPosition(demux_t *p_demux, double pos, bool precise, bool absolute)
Definition: vlc_demux.h:373
Definition: vlc_demux.h:179
Use the up arrow to select a navigation item above.
Definition: vlc_demux.h:258
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:414
Elementary streams output interface.
const char psz_ext[7]
Definition: image.c:580
Definition: vlc_demux.h:244
#define VLC_DEMUXER_SUCCESS
Definition: vlc_demux.h:46
Definition: vlc_block.h:117
int strcasecmp(const char *, const char *)
static int vlc_demux_chained_Control(vlc_demux_chained_t *dc, int query,...)
Definition: vlc_demux.h:494
#define INPUT_UPDATE_TITLE
Definition: vlc_demux.h:49
Byte streams and byte stream filter modules interface.
Activate the popup Menu (for BD).
Definition: vlc_demux.h:266
This file defines the elementary streams format types.
void vlc_stream_Delete(stream_t *s)
Destroy a stream.
Definition: stream.c:133
Definition: vlc_demux.h:275
VLC object common members.
Definition: vlc_objects.h:43
vlc_demux_chained_t * vlc_demux_chained_New(vlc_object_t *parent, const char *name, es_out_t *out)
Creates a chained demuxer.
Definition: demux_chained.c:100
char * psz_name
Definition: vlc_stream.h:50
Definition: vlc_demux.h:216
#define VLC_USED
Definition: fourcc_gen.c:32
void vlc_demux_chained_Send(vlc_demux_chained_t *, block_t *block)
Sends data to a chained demuxer.
Definition: demux_chained.c:133
static bool demux_IsContentType(demux_t *demux, const char *type)
Definition: vlc_demux.h:360
#define demux_UpdateTitleFromStream(demux)
Definition: vlc_demux.h:341
Definition: vlc_demux.h:202