24 #define VLC_STREAM_H 1 132 int (*
pf_seek)(stream_t *, uint64_t);
141 int (*
pf_control)(stream_t *,
int i_query, va_list);
350 return (int64_t)1 << 62;
359 const char *ext = strrchr( name,
'.' );
360 return ext != NULL && !
strcasecmp( ext, extension );
387 mime_type[strcspn( mime_type,
" ;" )] =
'\0';
419 size_t size,
bool preserve)
VLC_USED;
420 #define vlc_stream_MemoryNew(a, b, c, d) \ 421 vlc_stream_MemoryNew(VLC_OBJECT(a), b, c, d) 429 #define vlc_stream_NewURL(a, b) vlc_stream_NewURL(VLC_OBJECT(a), b) arg1= bool * res=cannot fail
Definition: vlc_stream.h:156
char * psz_url
Full URL or MRL (can be NULL)
Definition: vlc_stream.h:51
int vlc_stream_Seek(stream_t *, uint64_t offset)
Sets the current stream position.
Definition: stream.c:611
ssize_t vlc_stream_Read(stream_t *, void *buf, size_t len)
Reads data from a byte stream.
Definition: stream.c:471
int(* pf_demux)(stream_t *)
Definition: vlc_stream.h:124
arg1= vlc_meta_t * res=can fail
Definition: vlc_stream.h:168
arg1= char ** res=can fail
Definition: vlc_stream.h:169
static int64_t stream_Size(stream_t *s)
Definition: vlc_stream.h:344
arg1= int res=can fail
Definition: vlc_stream.h:175
void * p_sys
Private data pointer.
Definition: vlc_stream.h:147
Definition: stream_fifo.c:36
int(* pf_readdir)(stream_t *, input_item_node_t *)
Read directory.
Definition: vlc_stream.h:122
char * psz_filepath
Local file path (if applicable)
Definition: vlc_stream.h:53
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:171
arg1= bool * res=cannot fail
Definition: vlc_stream.h:158
arg1=unsigned * res=can fail
Definition: vlc_stream.h:167
arg1=double *pf_quality, arg2=double *pf_strength res=can fail
Definition: vlc_stream.h:170
uint64_t vlc_stream_Tell(const stream_t *)
Tells the current stream position.
Definition: stream.c:597
vlc_stream_fifo_t * vlc_stream_fifo_New(vlc_object_t *parent, stream_t **reader)
Creates a FIFO stream.
Definition: stream_fifo.c:119
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
arg1=input_title_t*** arg2=int* res=can fail
Definition: vlc_stream.h:165
static int vlc_stream_Control(stream_t *s, int query,...)
Definition: vlc_stream.h:302
stream_t * vlc_stream_CommonNew(vlc_object_t *, void(*)(stream_t *))
Definition: stream.c:108
struct vlc_object_t obj
Definition: vlc_stream.h:48
arg1= vlc_tick_t* res=cannot fail
Definition: vlc_stream.h:164
arg1=unsigned * res=can fail
Definition: vlc_stream.h:166
Data block definition and functions.
int(* pf_control)(stream_t *, int i_query, va_list)
Stream control.
Definition: vlc_stream.h:142
#define vlc_stream_NewURL(a, b)
Definition: vlc_stream.h:430
arg1= uint64_t * res=can fail
Definition: vlc_stream.h:161
input_item_t * p_input_item
Input item (can be NULL)
Definition: vlc_stream.h:55
static char * stream_ContentType(stream_t *s)
Get the Content-Type of a stream, or NULL if unknown.
Definition: vlc_stream.h:368
Definition: vlc_es_out.h:143
arg1= bool * res=cannot fail
Definition: vlc_stream.h:159
Definition: vlc_stream.h:182
ssize_t(* pf_read)(stream_t *, void *buf, size_t len)
Read data.
Definition: vlc_stream.h:94
static bool stream_IsMimeType(stream_t *s, const char *type)
Checks for a MIME type.
Definition: vlc_stream.h:399
ssize_t vlc_stream_Peek(stream_t *, const uint8_t **, size_t)
Peeks at data from a byte stream.
arg1=const block_t ** res=can fail
Definition: vlc_stream.h:171
int vlc_stream_ReadDir(stream_t *s, input_item_node_t *node)
Reads a directory.
Definition: stream.c:735
const char name[16]
Definition: httpd.c:1269
ssize_t vlc_stream_ReadPartial(stream_t *, void *buf, size_t len)
Reads partial data from a byte stream.
Definition: stream.c:449
stream_query_e
Possible commands to send to vlc_stream_Control() and vlc_stream_vaControl()
Definition: vlc_stream.h:153
es_out_t * out
Definition: vlc_stream.h:77
int vlc_stream_vaControl(stream_t *s, int query, va_list args)
Use to control the "stream_t *".
Definition: stream.c:673
static int vlc_stream_GetSize(stream_t *s, uint64_t *size)
Get the size of the stream.
Definition: vlc_stream.h:339
char * vlc_stream_ReadLine(stream_t *)
Definition: stream.c:187
arg1= bool * res=cannot fail
Definition: vlc_stream.h:157
Definition: vlc_stream.h:181
#define VLC_API
Definition: fourcc_gen.c:31
stream_t definition
Definition: vlc_stream.h:46
int(* pf_seek)(stream_t *, uint64_t)
Seek.
Definition: vlc_stream.h:133
stream_t * s
Input stream.
Definition: vlc_stream.h:66
const char * psz_location
Location (URL with the scheme stripped)
Definition: vlc_stream.h:52
int vlc_stream_fifo_Queue(vlc_stream_fifo_t *s, block_t *block)
Writes a block to a FIFO stream.
Definition: stream_fifo.c:150
arg1= int res=can fail
Definition: vlc_stream.h:174
block_t * vlc_stream_Block(stream_t *s, size_t)
Read data into a block.
Definition: stream.c:715
arg1=bool, arg2=const char *psz_ext (if arg1 is true) res=can fail
Definition: vlc_stream.h:178
Definition: vlc_block.h:117
int strcasecmp(const char *, const char *)
#define vlc_stream_MemoryNew(a, b, c, d)
Definition: vlc_stream.h:421
bool vlc_stream_Eof(const stream_t *)
Checks for end of stream.
Definition: stream.c:604
static bool stream_HasExtension(stream_t *s, const char *extension)
Definition: vlc_stream.h:356
void vlc_stream_Delete(stream_t *s)
Closes a byte stream.
Definition: stream.c:133
Definition: vlc_stream.h:180
VLC object common members.
Definition: vlc_objects.h:43
bool b_preparsing
True if this access is used to preparse.
Definition: vlc_stream.h:54
block_t * vlc_stream_ReadBlock(stream_t *)
Reads a data block from a byte stream.
Definition: stream.c:547
void vlc_stream_fifo_Close(vlc_stream_fifo_t *s)
Terminates a FIFO stream.
Definition: stream_fifo.c:182
char * psz_name
Definition: vlc_stream.h:50
#define VLC_USED
Definition: fourcc_gen.c:32
static char * stream_MimeType(stream_t *s)
Get the mime-type of a stream.
Definition: vlc_stream.h:383
arg1= bool res=can fail
Definition: vlc_stream.h:173
demux_t * p_next
Input demuxer.
Definition: vlc_stream.h:73