Go to the documentation of this file.
24 #define VLC_STREAM_H 1
342 return (int64_t)1 << 62;
351 const char *ext = strrchr(
name,
'.' );
352 return ext != NULL && !
strcasecmp( ext, extension );
379 mime_type[strcspn( mime_type,
" ;" )] =
'\0';
411 size_t size,
bool preserve)
VLC_USED;
412 #define vlc_stream_MemoryNew(a, b, c, d) \
413 vlc_stream_MemoryNew(VLC_OBJECT(a), b, c, d)
421 #define vlc_stream_NewURL(a, b) vlc_stream_NewURL(VLC_OBJECT(a), b)
@ STREAM_CAN_PAUSE
arg1= bool * res=cannot fail
Definition: vlc_stream.h:149
VLC_EXPORT int vlc_stream_vaControl(stream_t *s, int query, va_list args)
Use to control the "stream_t *".
Definition: stream.c:687
VLC_EXPORT uint64_t vlc_stream_Tell(const stream_t *)
Tells the current stream position.
Definition: stream.c:611
VLC_EXPORT 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
@ STREAM_GET_TITLE
arg1=unsigned * res=can fail
Definition: vlc_stream.h:157
#define VLC_API
Definition: fourcc_gen.c:31
VLC_EXPORT 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_EXPORT block_t * vlc_stream_Block(stream_t *s, size_t)
Read data into a block.
Definition: stream.c:729
struct vlc_object_marker * obj
Definition: vlc_objects.h:48
static int vlc_stream_GetSize(stream_t *s, uint64_t *size)
Get the size of the stream.
Definition: vlc_stream.h:331
int strcasecmp(const char *, const char *)
struct vlc_object_t obj
Definition: vlc_stream.h:48
@ STREAM_SET_RECORD_STATE
arg1=bool, arg2=const char *psz_ext (if arg1 is true) res=can fail
Definition: vlc_stream.h:170
@ STREAM_GET_TITLE_INFO
arg1=input_title_t*** arg2=int* res=can fail
Definition: vlc_stream.h:156
bool b_preparsing
True if this access is used to preparse.
Definition: vlc_stream.h:54
VLC_EXPORT vlc_stream_fifo_t * vlc_stream_fifo_New(vlc_object_t *parent, stream_t **reader)
Creates a FIFO stream.
Definition: stream_fifo.c:106
@ STREAM_SET_SEEKPOINT
arg1= int res=can fail
Definition: vlc_stream.h:167
VLC_EXPORT char * vlc_stream_ReadLine(stream_t *)
Definition: stream.c:187
#define vlc_stream_NewURL(a, b)
Definition: vlc_stream.h:422
@ STREAM_SET_TITLE
arg1= int res=can fail
Definition: vlc_stream.h:166
VLC_EXPORT void vlc_stream_fifo_Close(vlc_stream_fifo_t *s)
Terminates a FIFO stream.
Definition: stream_fifo.c:162
@ STREAM_SET_PAUSE_STATE
arg1= bool res=can fail
Definition: vlc_stream.h:165
stream_query_e
Possible commands to send to vlc_stream_Control() and vlc_stream_vaControl()
Definition: vlc_stream.h:144
@ STREAM_SET_PRIVATE_ID_CA
Definition: vlc_stream.h:173
static bool stream_HasExtension(stream_t *s, const char *extension)
Definition: vlc_stream.h:348
int(* pf_demux)(stream_t *)
Definition: vlc_stream.h:115
es_out_t * out
Definition: vlc_stream.h:68
const char * psz_location
Location (URL with the scheme stripped)
Definition: vlc_stream.h:52
@ STREAM_CAN_SEEK
arg1= bool * res=cannot fail
Definition: vlc_stream.h:147
int(* pf_readdir)(stream_t *, input_item_node_t *)
Read directory.
Definition: vlc_stream.h:113
char * psz_name
Definition: vlc_stream.h:50
@ STREAM_SET_PRIVATE_ID_STATE
Definition: vlc_stream.h:172
Definition: vlc_es_out.h:143
Definition: stream_fifo.c:37
VLC_EXPORT int vlc_stream_ReadDir(stream_t *s, input_item_node_t *node)
Reads a directory.
Definition: stream.c:749
int(* pf_seek)(stream_t *, uint64_t)
Seek.
Definition: vlc_stream.h:124
char * psz_url
Full URL or MRL (can be NULL)
Definition: vlc_stream.h:51
#define vlc_stream_MemoryNew(a, b, c, d)
Definition: vlc_stream.h:413
static int vlc_stream_Control(stream_t *s, int query,...)
Definition: vlc_stream.h:294
stream_t definition
Definition: vlc_stream.h:46
@ STREAM_GET_META
arg1= vlc_meta_t * res=can fail
Definition: vlc_stream.h:159
stream_t * s
Input stream.
Definition: vlc_stream.h:65
VLC_EXPORT int vlc_stream_Seek(stream_t *, uint64_t offset)
Sets the current stream position.
Definition: stream.c:625
@ STREAM_GET_PTS_DELAY
arg1= vlc_tick_t* res=cannot fail
Definition: vlc_stream.h:155
VLC_EXPORT ssize_t vlc_stream_Read(stream_t *, void *buf, size_t len)
Reads data from a byte stream.
Definition: stream.c:485
int(* pf_control)(stream_t *, int i_query, va_list)
Stream control.
Definition: vlc_stream.h:133
input_item_t * p_input_item
Input item (can be NULL)
Definition: vlc_stream.h:55
@ STREAM_GET_SEEKPOINT
arg1=unsigned * res=can fail
Definition: vlc_stream.h:158
VLC object common members.
Definition: vlc_objects.h:43
static char * stream_ContentType(stream_t *s)
Get the Content-Type of a stream, or NULL if unknown.
Definition: vlc_stream.h:360
#define VLC_USED
Definition: fourcc_gen.c:32
const char name[16]
Definition: httpd.c:1268
ssize_t(* pf_read)(stream_t *, void *buf, size_t len)
Read data.
Definition: vlc_stream.h:85
VLC_EXPORT block_t * vlc_stream_ReadBlock(stream_t *)
Reads a data block from a byte stream.
Definition: stream.c:561
VLC_EXPORT ssize_t vlc_stream_Peek(stream_t *, const uint8_t **, size_t)
Peeks at data from a byte stream.
@ STREAM_GET_CONTENT_TYPE
arg1= char ** res=can fail
Definition: vlc_stream.h:160
static int64_t stream_Size(stream_t *s)
Definition: vlc_stream.h:336
VLC_EXPORT 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
VLC_EXPORT stream_t * vlc_stream_CommonNew(vlc_object_t *, void(*)(stream_t *))
Definition: stream.c:108
VLC_EXPORT void vlc_stream_Delete(stream_t *s)
Closes a byte stream.
Definition: stream.c:133
@ STREAM_CAN_CONTROL_PACE
arg1= bool * res=cannot fail
Definition: vlc_stream.h:150
static char * stream_MimeType(stream_t *s)
Get the mime-type of a stream.
Definition: vlc_stream.h:375
@ STREAM_GET_PRIVATE_ID_STATE
Definition: vlc_stream.h:174
static bool stream_IsMimeType(stream_t *s, const char *type)
Checks for a MIME type.
Definition: vlc_stream.h:391
VLC_EXPORT bool vlc_stream_Eof(const stream_t *)
Checks for end of stream.
Definition: stream.c:618
char * psz_filepath
Local file path (if applicable)
Definition: vlc_stream.h:53
@ STREAM_GET_SIGNAL
arg1=double *pf_quality, arg2=double *pf_strength res=can fail
Definition: vlc_stream.h:161
@ STREAM_GET_SIZE
arg1= uint64_t * res=can fail
Definition: vlc_stream.h:152
@ STREAM_GET_TAGS
arg1=const block_t ** res=can fail
Definition: vlc_stream.h:162
@ STREAM_GET_TYPE
arg1=int* res=can fail
Definition: vlc_stream.h:163
@ STREAM_CAN_FASTSEEK
arg1= bool * res=cannot fail
Definition: vlc_stream.h:148
void * p_sys
Private data pointer.
Definition: vlc_stream.h:138
Definition: vlc_block.h:117
VLC_EXPORT ssize_t vlc_stream_ReadPartial(stream_t *, void *buf, size_t len)
Reads partial data from a byte stream.
Definition: stream.c:463