452 bool can_fast_seek =
false;
454 return can_fast_seek;
578 return (int64_t)1 << 62;
587 const char *ext = strrchr(
name,
'.' );
588 return ext != NULL && !
strcasecmp( ext, extension );
615 mime_type[strcspn( mime_type,
" ;" )] =
'\0';
647 size_t size,
bool preserve)
VLC_USED;
648#define vlc_stream_MemoryNew(a, b, c, d) \
649 vlc_stream_MemoryNew(VLC_OBJECT(a), b, c, d)
657#define vlc_stream_NewURL(a, b) vlc_stream_NewURL(VLC_OBJECT(a), b)
#define VLC_USED
Definition fourcc_gen.c:32
#define VLC_API
Definition fourcc_gen.c:31
void vlc_stream_fifo_Close(vlc_stream_fifo_t *s)
Terminates a FIFO stream.
Definition stream_fifo.c:162
ssize_t vlc_stream_fifo_Write(vlc_stream_fifo_t *s, const void *buf, size_t len)
Writes data to a FIFO stream.
Definition stream_fifo.c:151
vlc_stream_fifo_t * vlc_stream_fifo_New(vlc_object_t *parent, stream_t **reader)
Creates a FIFO stream.
Definition stream_fifo.c:106
int vlc_stream_fifo_Queue(vlc_stream_fifo_t *s, block_t *block)
Writes a block to a FIFO stream.
Definition stream_fifo.c:132
static bool stream_IsMimeType(stream_t *s, const char *type)
Checks for a MIME type.
Definition vlc_stream.h:627
static int vlc_stream_GetContentType(stream_t *s, char **content_type)
Definition vlc_stream.h:522
block_t * vlc_stream_Block(stream_t *s, size_t)
Read data into a block.
Definition stream.c:927
uint64_t vlc_stream_Tell(const stream_t *)
Tells the current stream position.
Definition stream.c:636
static int vlc_stream_SetPauseState(stream_t *s, bool pause_state)
Definition vlc_stream.h:537
static int vlc_stream_GetSeekpoint(stream_t *s, unsigned *seekpoint)
Definition vlc_stream.h:479
ssize_t vlc_stream_Read(stream_t *s, void *buf, size_t len)
Reads data from a byte stream.
Definition stream.c:510
void vlc_stream_Delete(stream_t *s)
Closes a byte stream.
Definition stream.c:143
static int vlc_stream_GetSignal(stream_t *s, double *quality, double *strength)
Definition vlc_stream.h:484
static int vlc_stream_GetMeta(stream_t *s, vlc_meta_t *meta)
Definition vlc_stream.h:494
stream_t * vlc_stream_FilterNew(stream_t *p_source, const char *psz_stream_filter)
Try to add a stream filter to an open stream.
Definition stream_filter.c:50
char * vlc_stream_ReadLine(stream_t *)
Definition stream.c:211
static int vlc_stream_GetMTime(stream_t *s, uint64_t *mtime)
Definition vlc_stream.h:512
static int64_t stream_Size(stream_t *s)
Definition vlc_stream.h:572
static bool vlc_stream_CanSeek(stream_t *s)
Definition vlc_stream.h:444
static bool vlc_stream_CanPause(stream_t *s)
Definition vlc_stream.h:458
block_t * vlc_stream_ReadBlock(stream_t *)
Reads a data block from a byte stream.
Definition stream.c:586
static vlc_tick_t vlc_stream_GetPtsDelay(stream_t *s)
Definition vlc_stream.h:472
static char * stream_MimeType(stream_t *s)
Get the mime-type of a stream.
Definition vlc_stream.h:611
static bool vlc_stream_CanPace(stream_t *s)
Definition vlc_stream.h:465
static int vlc_stream_SetRecordState(stream_t *s, bool record_state, const char *dir_path, const char *ext)
Definition vlc_stream.h:552
static int vlc_stream_SetTitle(stream_t *s, int title)
Definition vlc_stream.h:547
stream_t * vlc_stream_CommonNew(vlc_object_t *, void(*)(stream_t *))
Definition stream.c:118
bool vlc_stream_Eof(const stream_t *)
Checks for end of stream.
Definition stream.c:643
static int vlc_stream_GetType(stream_t *s, int *type)
Definition vlc_stream.h:499
static int vlc_stream_SetPrivateIdState(stream_t *s, int priv_id, bool state)
Definition vlc_stream.h:557
static int vlc_stream_Control(stream_t *s, int query,...)
Definition vlc_stream.h:410
static bool stream_HasExtension(stream_t *s, const char *extension)
Definition vlc_stream.h:584
static int vlc_stream_SetPrivateIdCa(stream_t *s, void *ca)
Set the private ID ca.
Definition vlc_stream.h:567
ssize_t vlc_stream_ReadPartial(stream_t *s, void *buf, size_t len)
Reads partial data from a byte stream.
Definition stream.c:488
static int vlc_stream_GetTitle(stream_t *s, unsigned *title)
Definition vlc_stream.h:489
static int vlc_stream_GetTags(stream_t *s, const block_t **tags)
Definition vlc_stream.h:527
static int vlc_stream_GetTitleInfo(stream_t *s, input_title_t ***title_info, int *size)
Definition vlc_stream.h:517
stream_query_e
Possible commands to send to vlc_stream_Control() and vlc_stream_vaControl()
Definition vlc_stream.h:253
static int vlc_stream_GetSize(stream_t *s, uint64_t *size)
Get the size of the stream.
Definition vlc_stream.h:507
int vlc_stream_ReadDir(stream_t *s, input_item_node_t *node)
Reads a directory.
Definition stream.c:947
int vlc_stream_Seek(stream_t *s, uint64_t offset)
Sets the current stream position.
Definition stream.c:650
static int vlc_stream_GetPrivateIdState(stream_t *s, int priv_id, bool *state)
Definition vlc_stream.h:532
static int vlc_stream_SetSeekPoint(stream_t *s, int seekpoint)
Definition vlc_stream.h:542
static bool vlc_stream_CanFastSeek(stream_t *s)
Definition vlc_stream.h:451
#define vlc_stream_MemoryNew(a, b, c, d)
Definition vlc_stream.h:649
int vlc_stream_vaControl(stream_t *s, int query, va_list args)
Use to control the "stream_t *".
Definition stream.c:717
static char * stream_ContentType(stream_t *s)
Get the Content-Type of a stream, or NULL if unknown.
Definition vlc_stream.h:596
#define vlc_stream_NewURL(a, b)
Definition vlc_stream.h:658
ssize_t vlc_stream_Peek(stream_t *s, const uint8_t **bufp, size_t len)
Peeks at data from a byte stream.
@ STREAM_GET_PRIVATE_ID_STATE
arg1=(int i_private_data) arg2=(bool *) res=can fail
Definition vlc_stream.h:285
@ STREAM_SET_PRIVATE_ID_CA
arg1=(void *)
Definition vlc_stream.h:284
@ STREAM_GET_TITLE
arg1=(unsigned *) res=can fail
Definition vlc_stream.h:267
@ STREAM_CAN_CONTROL_PACE
arg1=(bool *) res=cannot fail
Definition vlc_stream.h:258
@ STREAM_SET_PAUSE_STATE
arg1=(bool) res=can fail
Definition vlc_stream.h:275
@ STREAM_SET_RECORD_STATE
arg1=bool, arg2=const char *dir_path (if arg1 is true), arg3=const char *psz_ext (if arg1 is true) re...
Definition vlc_stream.h:280
@ STREAM_GET_PTS_DELAY
arg1=(vlc_tick_t *) res=cannot fail
Definition vlc_stream.h:265
@ STREAM_GET_MTIME
arg1=(uint64_t *) res=can fail Returns the last modified time in seconds since epoch.
Definition vlc_stream.h:261
@ STREAM_GET_TAGS
arg1=(const block_t **) res=can fail
Definition vlc_stream.h:272
@ STREAM_GET_CONTENT_TYPE
arg1=(char **) res=can fail
Definition vlc_stream.h:270
@ STREAM_CAN_FASTSEEK
arg1=(bool *) res=cannot fail
Definition vlc_stream.h:256
@ STREAM_CAN_PAUSE
arg1=(bool *) res=cannot fail
Definition vlc_stream.h:257
@ STREAM_SET_TITLE
arg1=(int) res=can fail
Definition vlc_stream.h:276
@ STREAM_CAN_SEEK
arg1=(bool *) res=cannot fail
Definition vlc_stream.h:255
@ STREAM_GET_SIGNAL
arg1=(double *pf_quality), arg2=(double *pf_strength) res=can fail
Definition vlc_stream.h:271
@ STREAM_GET_TYPE
arg1=(int*) res=can fail
Definition vlc_stream.h:273
@ STREAM_GET_SEEKPOINT
arg1=(unsigned *) res=can fail
Definition vlc_stream.h:268
@ STREAM_GET_SIZE
arg1=(uint64_t *) res=can fail
Definition vlc_stream.h:260
@ STREAM_SET_PRIVATE_ID_STATE
arg1=(int i_private_data) arg2=(bool b_selected) res=can fail
Definition vlc_stream.h:283
@ STREAM_GET_TITLE_INFO
arg1=(input_title_t***) arg2=(int*) res=can fail
Definition vlc_stream.h:266
@ STREAM_GET_META
arg1=(vlc_meta_t *) res=can fail
Definition vlc_stream.h:269
@ STREAM_SET_SEEKPOINT
arg1=(int) res=can fail
Definition vlc_stream.h:277
const char name[16]
Definition httpd.c:1298
static thread_local struct @82 state
Definition vlc_es_out.h:138
stream_t definition
Definition vlc_stream.h:135
bool b_preparsing
True if this access is used to preparse.
Definition vlc_stream.h:142
input_item_t * p_input_item
Input item (can be NULL)
Definition vlc_stream.h:143
char * psz_name
Definition vlc_stream.h:138
es_out_t * out
Definition vlc_stream.h:156
int(* pf_control)(stream_t *, int i_query, va_list)
Stream control.
Definition vlc_stream.h:234
int(* pf_seek)(stream_t *, uint64_t)
Seek.
Definition vlc_stream.h:224
stream_t * s
Input stream.
Definition vlc_stream.h:153
const char * psz_location
Location (URL with the scheme stripped)
Definition vlc_stream.h:140
char * psz_url
Full URL or MRL (can be NULL)
Definition vlc_stream.h:139
struct vlc_object_t obj
Definition vlc_stream.h:136
void * p_sys
Private data pointer.
Definition vlc_stream.h:246
char * psz_filepath
Local file path (if applicable)
Definition vlc_stream.h:141
ssize_t(* pf_read)(stream_t *, void *buf, size_t len)
Read data.
Definition vlc_stream.h:176
int(* pf_demux)(stream_t *)
Definition vlc_stream.h:212
int(* pf_readdir)(stream_t *, input_item_node_t *)
Read directory.
Definition vlc_stream.h:210
const struct vlc_stream_operations * ops
Implementation of the Stream/Demux API.
Definition vlc_stream.h:241
Definition vlc_frame.h:123
VLC object common members.
Definition vlc_objects.h:53
Definition stream_fifo.c:37
Definition vlc_stream.h:44
int(* get_meta)(stream_t *, vlc_meta_t *)
Definition vlc_stream.h:51
int(* nav_up)(demux_t *)
Definition vlc_stream.h:115
int(* get_title_info)(stream_t *, input_title_t ***, int *)
Definition vlc_stream.h:73
bool(* has_unsupported_meta)(demux_t *)
Definition vlc_stream.h:90
bool(* can_fastseek)(stream_t *)
Definition vlc_stream.h:62
int(* get_seekpoint)(stream_t *, unsigned *)
Definition vlc_stream.h:70
int(* get_tags)(stream_t *, const block_t **)
Definition vlc_stream.h:75
int(* filter_disable)(demux_t *)
Definition vlc_stream.h:123
int(* set_private_id_ca)(stream_t *, void *)
Definition vlc_stream.h:81
bool(* can_control_rate)(demux_t *)
Definition vlc_stream.h:85
int(* get_private_id_state)(stream_t *, int, bool *)
Definition vlc_stream.h:76
int(* set_time)(demux_t *, vlc_tick_t, bool)
Definition vlc_stream.h:104
int(* get_attachments)(demux_t *, input_attachment_t ***)
Definition vlc_stream.h:100
int(* set_group_all)(demux_t *)
Definition vlc_stream.h:109
int(* set_pause_state)(stream_t *, bool)
Definition vlc_stream.h:54
int(* seek)(stream_t *, uint64_t)
Definition vlc_stream.h:67
int(* get_normal_time)(demux_t *, vlc_tick_t *)
Definition vlc_stream.h:97
bool(* can_pause)(stream_t *)
Definition vlc_stream.h:47
int(* nav_activate)(demux_t *)
Definition vlc_stream.h:114
int(* set_group_default)(demux_t *)
Definition vlc_stream.h:108
double(* get_position)(demux_t *)
Definition vlc_stream.h:94
int(* set_position)(demux_t *, double, bool)
Definition vlc_stream.h:103
bool(* can_record)(demux_t *)
Definition vlc_stream.h:84
int(* set_es)(demux_t *, int)
Definition vlc_stream.h:111
int(* set_private_id_state)(stream_t *, int, bool)
Definition vlc_stream.h:80
int(* nav_menu)(demux_t *)
Definition vlc_stream.h:120
int(* get_signal)(stream_t *, double *, double *)
Definition vlc_stream.h:50
int(* set_group_list)(demux_t *, size_t, const int *)
Definition vlc_stream.h:110
int(* get_title)(stream_t *, unsigned *)
Definition vlc_stream.h:69
int(* nav_left)(demux_t *)
Definition vlc_stream.h:117
bool(* can_seek)(stream_t *)
Definition vlc_stream.h:46
int(* demux)(demux_t *)
Definition vlc_stream.h:87
vlc_tick_t(* get_pts_delay)(stream_t *)
Definition vlc_stream.h:77
int(* set_es_list)(demux_t *, size_t, const int *)
Definition vlc_stream.h:112
int(* set_next_demux_time)(demux_t *, vlc_tick_t)
Definition vlc_stream.h:105
int(* get_size)(stream_t *, uint64_t *)
Definition vlc_stream.h:71
ssize_t(* read)(stream_t *, void *buf, size_t len)
Definition vlc_stream.h:64
int(* get_content_type)(stream_t *, char **)
Definition vlc_stream.h:74
struct vlc_stream_operations::@280::@282 stream
int(* nav_right)(demux_t *)
Definition vlc_stream.h:118
int(* get_type)(stream_t *, int *)
Definition vlc_stream.h:52
int(* get_fps)(demux_t *, double *)
Definition vlc_stream.h:99
int(* set_rate)(demux_t *, float *)
Definition vlc_stream.h:107
int(* filter_enable)(demux_t *)
Definition vlc_stream.h:122
int(* test_and_clear_flags)(demux_t *, unsigned *)
Definition vlc_stream.h:125
int(* set_record_state)(stream_t *, bool, const char *, const char *)
Definition vlc_stream.h:79
bool(* can_control_pace)(stream_t *)
Definition vlc_stream.h:48
int(* set_title)(stream_t *, int)
Definition vlc_stream.h:56
vlc_tick_t(* get_time)(demux_t *)
Definition vlc_stream.h:96
int(* get_mtime)(stream_t *, uint64_t *)
Definition vlc_stream.h:72
void(* close)(stream_t *)
Definition vlc_stream.h:58
vlc_tick_t(* get_length)(demux_t *)
Definition vlc_stream.h:95
int(* nav_popup)(demux_t *)
Definition vlc_stream.h:119
int(* readdir)(stream_t *, input_item_node_t *)
Definition vlc_stream.h:66
int(* set_seek_point)(stream_t *, int)
Definition vlc_stream.h:55
int(* nav_down)(demux_t *)
Definition vlc_stream.h:116
This file is a collection of common definitions and types.
int strcasecmp(const char *, const char *)
int64_t vlc_tick_t
High precision date or time interval.
Definition vlc_tick.h:48