443 bool can_fast_seek =
false;
445 return can_fast_seek;
562 return (int64_t)1 << 62;
571 const char *ext = strrchr(
name,
'.' );
572 return ext != NULL && !
strcasecmp( ext, extension );
599 mime_type[strcspn( mime_type,
" ;" )] =
'\0';
631 size_t size,
bool preserve)
VLC_USED;
632#define vlc_stream_MemoryNew(a, b, c, d) \
633 vlc_stream_MemoryNew(VLC_OBJECT(a), b, c, d)
641#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:611
static int vlc_stream_GetContentType(stream_t *s, char **content_type)
Definition: vlc_stream.h:506
block_t * vlc_stream_Block(stream_t *s, size_t)
Read data into a block.
Definition: stream.c:906
uint64_t vlc_stream_Tell(const stream_t *)
Tells the current stream position.
Definition: stream.c:625
static int vlc_stream_SetPauseState(stream_t *s, bool pause_state)
Definition: vlc_stream.h:521
static int vlc_stream_GetSeekpoint(stream_t *s, unsigned *seekpoint)
Definition: vlc_stream.h:468
ssize_t vlc_stream_Peek(stream_t *, const uint8_t **, size_t)
Peeks at data from a byte stream.
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:473
static int vlc_stream_GetMeta(stream_t *s, vlc_meta_t *meta)
Definition: vlc_stream.h:483
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:200
static int64_t stream_Size(stream_t *s)
Definition: vlc_stream.h:556
static bool vlc_stream_CanSeek(stream_t *s)
Definition: vlc_stream.h:435
int vlc_stream_Seek(stream_t *, uint64_t offset)
Sets the current stream position.
Definition: stream.c:639
static bool vlc_stream_CanPause(stream_t *s)
Definition: vlc_stream.h:449
block_t * vlc_stream_ReadBlock(stream_t *)
Reads a data block from a byte stream.
Definition: stream.c:575
ssize_t vlc_stream_ReadPartial(stream_t *, void *buf, size_t len)
Reads partial data from a byte stream.
Definition: stream.c:477
static char * stream_MimeType(stream_t *s)
Get the mime-type of a stream.
Definition: vlc_stream.h:595
static bool vlc_stream_CanPace(stream_t *s)
Definition: vlc_stream.h:456
static int vlc_stream_SetRecordState(stream_t *s, bool record_state, const char *dir_path, const char *ext)
Definition: vlc_stream.h:536
static int vlc_stream_SetTitle(stream_t *s, int title)
Definition: vlc_stream.h:531
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:632
static int vlc_stream_GetType(stream_t *s, int *type)
Definition: vlc_stream.h:488
static int vlc_stream_SetPrivateIdState(stream_t *s, int priv_id, bool state)
Definition: vlc_stream.h:541
static int vlc_stream_Control(stream_t *s, int query,...)
Definition: vlc_stream.h:401
static bool stream_HasExtension(stream_t *s, const char *extension)
Definition: vlc_stream.h:568
static int vlc_stream_SetPrivateIdCa(stream_t *s, void *ca)
Set the private ID ca.
Definition: vlc_stream.h:551
static int vlc_stream_GetTitle(stream_t *s, unsigned *title)
Definition: vlc_stream.h:478
static int vlc_stream_GetPtsDelay(stream_t *s, vlc_tick_t *pts_delay)
Definition: vlc_stream.h:463
static int vlc_stream_GetTags(stream_t *s, const block_t **tags)
Definition: vlc_stream.h:511
static int vlc_stream_GetTitleInfo(stream_t *s, input_title_t ***title_info, int *size)
Definition: vlc_stream.h:501
stream_query_e
Possible commands to send to vlc_stream_Control() and vlc_stream_vaControl()
Definition: vlc_stream.h:251
static int vlc_stream_GetSize(stream_t *s, uint64_t *size)
Get the size of the stream.
Definition: vlc_stream.h:496
int vlc_stream_ReadDir(stream_t *s, input_item_node_t *node)
Reads a directory.
Definition: stream.c:926
ssize_t vlc_stream_Read(stream_t *, void *buf, size_t len)
Reads data from a byte stream.
Definition: stream.c:499
static int vlc_stream_GetPrivateIdState(stream_t *s, int priv_id, bool *state)
Definition: vlc_stream.h:516
static int vlc_stream_SetSeekPoint(stream_t *s, int seekpoint)
Definition: vlc_stream.h:526
static bool vlc_stream_CanFastSeek(stream_t *s)
Definition: vlc_stream.h:442
#define vlc_stream_MemoryNew(a, b, c, d)
Definition: vlc_stream.h:633
int vlc_stream_vaControl(stream_t *s, int query, va_list args)
Use to control the "stream_t *".
Definition: stream.c:706
static char * stream_ContentType(stream_t *s)
Get the Content-Type of a stream, or NULL if unknown.
Definition: vlc_stream.h:580
#define vlc_stream_NewURL(a, b)
Definition: vlc_stream.h:642
@ STREAM_GET_PRIVATE_ID_STATE
Definition: vlc_stream.h:281
@ STREAM_SET_PRIVATE_ID_CA
Definition: vlc_stream.h:280
@ STREAM_GET_TITLE
arg1=unsigned * res=can fail
Definition: vlc_stream.h:263
@ STREAM_CAN_CONTROL_PACE
arg1= bool * res=cannot fail
Definition: vlc_stream.h:256
@ STREAM_SET_PAUSE_STATE
arg1= bool res=can fail
Definition: vlc_stream.h:271
@ STREAM_SET_RECORD_STATE
arg1=bool, arg2=const char *dir_path (if arg1 is true) arg3=const char *psz_ext (if arg1 is true) res...
Definition: vlc_stream.h:276
@ STREAM_GET_PTS_DELAY
arg1= vlc_tick_t* res=cannot fail
Definition: vlc_stream.h:261
@ STREAM_GET_TAGS
arg1=const block_t ** res=can fail
Definition: vlc_stream.h:268
@ STREAM_GET_CONTENT_TYPE
arg1= char ** res=can fail
Definition: vlc_stream.h:266
@ STREAM_CAN_FASTSEEK
arg1= bool * res=cannot fail
Definition: vlc_stream.h:254
@ STREAM_CAN_PAUSE
arg1= bool * res=cannot fail
Definition: vlc_stream.h:255
@ STREAM_SET_TITLE
arg1= int res=can fail
Definition: vlc_stream.h:272
@ STREAM_CAN_SEEK
arg1= bool * res=cannot fail
Definition: vlc_stream.h:253
@ STREAM_GET_SIGNAL
arg1=double *pf_quality, arg2=double *pf_strength res=can fail
Definition: vlc_stream.h:267
@ STREAM_GET_TYPE
arg1=int* res=can fail
Definition: vlc_stream.h:269
@ STREAM_GET_SEEKPOINT
arg1=unsigned * res=can fail
Definition: vlc_stream.h:264
@ STREAM_GET_SIZE
arg1= uint64_t * res=can fail
Definition: vlc_stream.h:258
@ STREAM_SET_PRIVATE_ID_STATE
Definition: vlc_stream.h:279
@ STREAM_GET_TITLE_INFO
arg1=input_title_t*** arg2=int* res=can fail
Definition: vlc_stream.h:262
@ STREAM_GET_META
arg1= vlc_meta_t * res=can fail
Definition: vlc_stream.h:265
@ STREAM_SET_SEEKPOINT
arg1= int res=can fail
Definition: vlc_stream.h:273
const char name[16]
Definition: httpd.c:1281
static thread_local struct @81 state
Definition: vlc_es_out.h:148
stream_t definition
Definition: vlc_stream.h:133
bool b_preparsing
True if this access is used to preparse.
Definition: vlc_stream.h:140
input_item_t * p_input_item
Input item (can be NULL)
Definition: vlc_stream.h:141
char * psz_name
Definition: vlc_stream.h:136
es_out_t * out
Definition: vlc_stream.h:154
int(* pf_control)(stream_t *, int i_query, va_list)
Stream control.
Definition: vlc_stream.h:232
int(* pf_seek)(stream_t *, uint64_t)
Seek.
Definition: vlc_stream.h:222
stream_t * s
Input stream.
Definition: vlc_stream.h:151
const char * psz_location
Location (URL with the scheme stripped)
Definition: vlc_stream.h:138
char * psz_url
Full URL or MRL (can be NULL)
Definition: vlc_stream.h:137
struct vlc_object_t obj
Definition: vlc_stream.h:134
void * p_sys
Private data pointer.
Definition: vlc_stream.h:244
char * psz_filepath
Local file path (if applicable)
Definition: vlc_stream.h:139
ssize_t(* pf_read)(stream_t *, void *buf, size_t len)
Read data.
Definition: vlc_stream.h:174
int(* pf_demux)(stream_t *)
Definition: vlc_stream.h:210
int(* pf_readdir)(stream_t *, input_item_node_t *)
Read directory.
Definition: vlc_stream.h:208
const struct vlc_stream_operations * ops
Implementation of the Stream/Demux API.
Definition: vlc_stream.h:239
Definition: vlc_frame.h:123
VLC object common members.
Definition: vlc_objects.h:45
Definition: stream_fifo.c:37
Definition: vlc_stream.h:44
int(* get_meta)(stream_t *, vlc_meta_t *)
Definition: vlc_stream.h:52
int(* nav_up)(demux_t *)
Definition: vlc_stream.h:113
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:89
bool(* can_fastseek)(stream_t *)
Definition: vlc_stream.h:63
int(* get_seekpoint)(stream_t *, unsigned *)
Definition: vlc_stream.h:71
int(* get_tags)(stream_t *, const block_t **)
Definition: vlc_stream.h:75
int(* filter_disable)(demux_t *)
Definition: vlc_stream.h:121
int(* set_private_id_ca)(stream_t *, void *)
Definition: vlc_stream.h:80
bool(* can_control_rate)(demux_t *)
Definition: vlc_stream.h:84
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:102
int(* get_attachments)(demux_t *, input_attachment_t ***)
Definition: vlc_stream.h:99
int(* set_group_all)(demux_t *)
Definition: vlc_stream.h:107
int(* set_pause_state)(stream_t *, bool)
Definition: vlc_stream.h:55
int(* seek)(stream_t *, uint64_t)
Definition: vlc_stream.h:68
int(* get_normal_time)(demux_t *, vlc_tick_t *)
Definition: vlc_stream.h:96
bool(* can_pause)(stream_t *)
Definition: vlc_stream.h:47
int(* nav_activate)(demux_t *)
Definition: vlc_stream.h:112
int(* set_group_default)(demux_t *)
Definition: vlc_stream.h:106
double(* get_position)(demux_t *)
Definition: vlc_stream.h:93
int(* set_position)(demux_t *, double, bool)
Definition: vlc_stream.h:101
bool(* can_record)(demux_t *)
Definition: vlc_stream.h:83
int(* get_pts_delay)(stream_t *, vlc_tick_t *)
Definition: vlc_stream.h:50
int(* set_es)(demux_t *, int)
Definition: vlc_stream.h:109
int(* set_private_id_state)(stream_t *, int, bool)
Definition: vlc_stream.h:79
int(* nav_menu)(demux_t *)
Definition: vlc_stream.h:118
int(* get_signal)(stream_t *, double *, double *)
Definition: vlc_stream.h:51
int(* set_group_list)(demux_t *, size_t, const int *)
Definition: vlc_stream.h:108
int(* get_title)(stream_t *, unsigned *)
Definition: vlc_stream.h:70
int(* nav_left)(demux_t *)
Definition: vlc_stream.h:115
bool(* can_seek)(stream_t *)
Definition: vlc_stream.h:46
int(* demux)(demux_t *)
Definition: vlc_stream.h:86
int(* set_es_list)(demux_t *, size_t, const int *)
Definition: vlc_stream.h:110
int(* set_next_demux_time)(demux_t *, vlc_tick_t)
Definition: vlc_stream.h:103
int(* get_size)(stream_t *, uint64_t *)
Definition: vlc_stream.h:72
ssize_t(* read)(stream_t *, void *buf, size_t len)
Definition: vlc_stream.h:65
int(* get_content_type)(stream_t *, char **)
Definition: vlc_stream.h:74
int(* nav_right)(demux_t *)
Definition: vlc_stream.h:116
int(* get_type)(stream_t *, int *)
Definition: vlc_stream.h:53
int(* get_fps)(demux_t *, double *)
Definition: vlc_stream.h:98
int(* set_rate)(demux_t *, float *)
Definition: vlc_stream.h:105
int(* filter_enable)(demux_t *)
Definition: vlc_stream.h:120
int(* test_and_clear_flags)(demux_t *, unsigned *)
Definition: vlc_stream.h:123
int(* set_record_state)(stream_t *, bool, const char *, const char *)
Definition: vlc_stream.h:78
bool(* can_control_pace)(stream_t *)
Definition: vlc_stream.h:48
int(* set_title)(stream_t *, int)
Definition: vlc_stream.h:57
vlc_tick_t(* get_time)(demux_t *)
Definition: vlc_stream.h:95
struct vlc_stream_operations::@277::@279 stream
void(* close)(stream_t *)
Definition: vlc_stream.h:59
vlc_tick_t(* get_length)(demux_t *)
Definition: vlc_stream.h:94
int(* nav_popup)(demux_t *)
Definition: vlc_stream.h:117
int(* readdir)(stream_t *, input_item_node_t *)
Definition: vlc_stream.h:67
int(* set_seek_point)(stream_t *, int)
Definition: vlc_stream.h:56
int(* nav_down)(demux_t *)
Definition: vlc_stream.h:114
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:45