Go to the documentation of this file.
25 #ifndef LIBVLC_INPUT_STREAM_H
26 #define LIBVLC_INPUT_STREAM_H 1
112 char const** out_extra );
114 char *
get_path(
const char *location);
Structure containing information about the playlist.
Definition: vlc_playlist.h:151
size_t count
Definition: core.c:461
static ssize_t vlc_stream_ReadRaw(stream_t *s, void *buf, size_t len)
Definition: stream.c:387
#define TAB_CLEAN(count, tab)
Definition: vlc_arrays.h:46
ssize_t vlc_stream_ReadPartial(stream_t *s, void *buf, size_t len)
Reads partial data from a byte stream.
Definition: stream.c:431
size_t vlc_iconv(vlc_iconv_t, const char **, size_t *, char **, size_t *)
int vlc_stream_vaControl(stream_t *s, int cmd, va_list args)
Use to control the "stream_t *".
Definition: stream.c:655
playlist_item_t * playlist_NodeCreate(playlist_t *p_playlist, const char *psz_name, playlist_item_t *p_parent, int i_pos, int i_flags)
Create a playlist node.
Definition: tree.c:56
void stream_CommonDelete(stream_t *s)
Definition: stream.c:101
Main service discovery structure to build a SD module.
Definition: vlc_services_discovery.h:54
block_t * peek
Definition: stream.c:73
playlist_item_t * playlist_NodeAddInput(playlist_t *p_playlist, input_item_t *p_input, playlist_item_t *p_parent, int i_pos)
Add an input item to a given node.
Definition: item.c:517
mtime_t date
Definition: libvlc.h:230
void stats_ReinitInputStats(input_stats_t *p_stats)
Definition: stats.c:123
playlist item / node
Definition: vlc_playlist.h:126
#define vlc_probe(obj, cap, pcount)
Definition: vlc_probe.h:36
playlist_item_t * node
Definition: services_discovery.c:55
void playlist_Lock(playlist_t *pl)
Locks the playlist.
Definition: control.c:35
block_t *(* pf_block)(stream_t *, bool *eof)
Read data block.
Definition: vlc_stream.h:95
Definition: vlc_probe.h:39
size_t i_buffer
Payload length.
Definition: vlc_block.h:116
static int64_t stats_GetTotal(const counter_t *counter)
Definition: stats.c:51
void stats_Update(counter_t *p_counter, uint64_t val, uint64_t *new_val)
Update a counter element with new values.
Definition: stats.c:157
bool vlc_stream_Eof(const stream_t *s)
Checks for end of stream.
Definition: stream.c:586
stream_t * stream_AccessNew(vlc_object_t *, input_thread_t *, bool, const char *)
This function creates a raw stream_t from an URL.
Definition: access.c:270
stream_t *() vlc_stream_NewURL(vlc_object_t *p_parent, const char *psz_url)
Create a stream_t reading from a URL.
Definition: stream.c:128
playlist_item_t root
Definition: vlc_playlist.h:161
arg1= int res=can fail
Definition: vlc_stream.h:160
#define PLAYLIST_DELETE_FORCE
delete node even if read-only
Definition: playlist_internal.h:135
stream_t * stream_FilterChainNew(stream_t *source, const char *list)
Builds an explicit chain of stream filters.
Definition: stream_filter.c:86
Definition: playlist_internal.h:46
int category
Definition: services_discovery.c:58
int i_samples
Definition: libvlc.h:236
#define libvlc_stats(o)
Definition: libvlc.h:207
int i_children
Number of children, -1 if not a node.
Definition: vlc_playlist.h:132
#define msg_Dbg(p_this,...)
Definition: vlc_messages.h:86
int i_compute_type
Definition: libvlc.h:235
arg1= int res=can fail
Definition: vlc_stream.h:159
#define VLC_EGENERIC
Unspecified error.
Definition: vlc_common.h:350
static ssize_t vlc_stream_CopyBlock(block_t **restrict pp, void *buf, size_t len)
Definition: stream.c:361
counter_t * stats_CounterCreate(int i_compute_type)
Create a statistics counter.
Definition: stats.c:37
vlc_iconv_t conv
Definition: stream.c:79
static uint16_t U16_AT(const void *p)
Reads 16 bits in network byte order.
Definition: vlc_common.h:792
Definition: services_discovery.c:34
module_t * p_module
Loaded module.
Definition: vlc_services_discovery.h:57
struct stream_priv_t stream_priv_t
char name[]
Definition: services_discovery.c:57
block_t * vlc_stream_ReadBlock(stream_t *s)
Reads a data block from a byte stream.
Definition: stream.c:529
void * vlc_iconv_t
Definition: vlc_charset.h:113
#define TAB_ERASE(count, tab, index)
Definition: vlc_arrays.h:77
int(* pf_readdir)(stream_t *, input_item_node_t *)
Read directory.
Definition: vlc_stream.h:105
int playlist_ServicesDiscoveryAdd(playlist_t *playlist, const char *chain)
Add a service discovery module.
Definition: services_discovery.c:112
bool vlc_killed(void)
Checks if the interruption context was "killed".
Definition: interrupt.c:186
vlc_object_t * parent
Parent object.
Definition: vlc_common.h:448
#define CLOCK_FREQ
Definition: vlc_config.h:45
unsigned char char_width
Definition: stream.c:80
bool little_endian
Definition: stream.c:81
#define msg_Warn(p_this,...)
Definition: vlc_messages.h:84
int i_sds
Number of service discovery modules.
Definition: playlist_internal.h:56
module_t * p_module
Definition: vlc_stream.h:51
const char * description
Human-readable name.
Definition: vlc_services_discovery.h:62
#define vlc_object_release(a)
Definition: vlc_objects.h:63
stream_t * vlc_stream_CommonNew(vlc_object_t *parent, void(*destroy)(stream_t *))
Allocates a VLC stream object.
Definition: stream.c:67
static void playlist_sd_item_removed(services_discovery_t *sd, input_item_t *p_input)
Definition: services_discovery.c:78
playlist_item_t * p_parent
Item parent.
Definition: vlc_playlist.h:131
#define STREAM_PROBE_LINE
Read from the stream until first newline.
Definition: stream.c:170
#define TAB_INSERT(count, tab, p, index)
Definition: vlc_arrays.h:113
void playlist_ServicesDiscoveryKillAll(playlist_t *playlist)
Definition: services_discovery.c:246
int(* pf_seek)(stream_t *, uint64_t)
Seek.
Definition: vlc_stream.h:114
char * psz_url
Full URL or MRL (can be NULL)
Definition: vlc_stream.h:54
stream_t * stream_FilterAutoNew(stream_t *source)
Probes stream filters automatically.
Definition: stream_filter.c:70
static void * realloc_or_free(void *p, size_t sz)
This wrapper around realloc() will free the input pointer when realloc() returns NULL.
Definition: vlc_memory.h:42
static void block_Release(block_t *block)
Releases a block.
Definition: vlc_block.h:181
#define TAB_APPEND(count, tab, p)
Definition: vlc_arrays.h:64
ssize_t vlc_stream_Peek(stream_t *s, const uint8_t **restrict bufp, size_t len)
Definition: stream.c:475
int playlist_ServicesDiscoveryControl(playlist_t *playlist, const char *psz_name, int i_control,...)
Query a services discovery.
Definition: services_discovery.c:220
int vlc_stream_ReadDir(stream_t *s, input_item_node_t *p_node)
Returns a node containing all the input_item of the directory pointer by this stream.
Definition: stream.c:721
input_thread_t * p_input
Definition: vlc_stream.h:131
const char * psz_name
Definition: vlc_codecs.h:315
#define PLAYLIST_DELETE_STOP_IF_CURRENT
stop playlist playback if node is currently the one played
Definition: playlist_internal.h:136
void vlc_mutex_init(vlc_mutex_t *p_mutex)
Initializes a fast mutex.
Definition: thread.c:85
bool playlist_IsServicesDiscoveryLoaded(playlist_t *playlist, const char *psz_name)
Check whether a given SD is loaded.
Definition: services_discovery.c:199
stream_t definition
Definition: vlc_stream.h:46
Write-enabled ?
Definition: vlc_playlist.h:141
vlc_iconv_t vlc_iconv_open(const char *, const char *)
struct stream_priv_t::@28 text
int vlc_stream_Seek(stream_t *s, uint64_t offset)
Sets the current stream position.
Definition: stream.c:593
#define STREAM_LINE_MAX
Definition: stream.c:171
ssize_t vlc_stream_Read(stream_t *s, void *buf, size_t len)
Reads data from a byte stream.
Definition: stream.c:453
struct services_discovery_owner_t owner
Owner callbacks.
Definition: vlc_services_discovery.h:71
char * config_ChainCreate(char **ppsz_name, config_chain_t **pp_cfg, const char *psz_chain)
This function will parse a configuration string (psz_string) and.
Definition: chain.c:225
char * name
Definition: services_discovery.c:56
char * longname
Definition: services_discovery.c:57
input_stats_t * stats_NewInputStats(input_thread_t *p_input)
Definition: stats.c:67
void playlist_NodeDeleteExplicit(playlist_t *, playlist_item_t *, int flags)
Delete a node with explicit semantics.
Definition: tree.c:96
int(* pf_control)(stream_t *, int i_query, va_list)
Stream control.
Definition: vlc_stream.h:123
stream_t stream
Definition: stream.c:70
void stats_ComputeInputStats(input_thread_t *input, input_stats_t *st)
Definition: stats.c:80
uint64_t value
Definition: libvlc.h:229
Definition: vlc_services_discovery.h:43
#define likely(p)
Definition: vlc_common.h:113
stream_t * p_source
Definition: vlc_stream.h:60
The main vlc_object_t structure.
Definition: vlc_objects.h:39
block_t * vlc_stream_Block(stream_t *s, size_t size)
Read data into a block.
Definition: stream.c:697
#define VLC_ENOMEM
Not enough memory.
Definition: vlc_common.h:351
#define VLC_SUCCESS
No error.
Definition: vlc_common.h:349
static int vlc_sd_control(services_discovery_t *p_sd, int i_control, va_list args)
Ask for a research in the SD.
Definition: vlc_services_discovery.h:126
counter_sample_t ** pp_samples
Definition: libvlc.h:237
static void playlist_sd_item_added(services_discovery_t *sd, input_item_t *parent, input_item_t *p_input, const char *psz_cat)
Definition: services_discovery.c:41
char * strdup(const char *)
struct vlc_common_members obj
Definition: vlc_services_discovery.h:56
#define VLC_USED
Definition: fourcc_gen.c:31
int vlc_iconv_close(vlc_iconv_t)
#define vlc_custom_create(o, s, n)
Definition: libvlc.h:108
playlist_item_t * playlist_ChildSearchName(playlist_item_t *p_node, const char *psz_search)
Search a child of a node by its name.
Definition: tree.c:175
module_config_t ** list
Definition: core.c:460
#define PLAYLIST_END
Definition: vlc_playlist.h:204
mtime_t last_update
Definition: libvlc.h:239
const char name[16]
Definition: httpd.c:1249
ssize_t(* pf_read)(stream_t *, void *buf, size_t len)
Read data.
Definition: vlc_stream.h:77
config_chain_t * p_cfg
Configuration for the SD.
Definition: vlc_services_discovery.h:60
Definition: fourcc_gen.c:50
#define VLC_PROBE_CONTINUE
Definition: vlc_probe.h:62
void vlc_mutex_unlock(vlc_mutex_t *p_mutex)
Releases a mutex.
Definition: thread.c:138
#define unlikely(p)
Definition: vlc_common.h:114
char * psz_name
Main name of the SD.
Definition: vlc_services_discovery.h:59
#define pl_priv(pl)
Definition: playlist_internal.h:95
block_t * block_Alloc(size_t size)
Allocates a block.
Definition: block.c:119
int playlist_ServicesDiscoveryRemove(playlist_t *playlist, const char *name)
Remove a services discovery module by name.
Definition: services_discovery.c:167
playlist_item_t * playlist_ItemGetByInput(playlist_t *p_playlist, const input_item_t *item)
Finds a playlist item by input item.
Definition: item.c:406
uint64_t offset
Definition: stream.c:74
char * get_path(const char *location)
Definition: access.c:42
void * sys
Private data for the owner callbacks.
Definition: vlc_services_discovery.h:45
const char * vlc_strerror_c(int errnum)
Definition: error.c:34
Definition: services_discovery.c:32
int64_t mtime_t
High precision date or time interval.
Definition: vlc_common.h:150
void stream_CommonDelete(stream_t *s)
Definition: stream.c:101
uint8_t * p_buffer
Payload start.
Definition: vlc_block.h:115
void playlist_Unlock(playlist_t *pl)
Unlocks the playlist.
Definition: control.c:40
void stats_CounterClean(counter_t *p_c)
Definition: stats.c:139
uint64_t vlc_stream_Tell(const stream_t *s)
Tells the current stream position.
Definition: stream.c:579
char * vlc_stream_ReadLine(stream_t *s)
Definition: stream.c:172
block_t * block
Definition: stream.c:72
services_discovery_t * sd
Loaded service discovery modules.
Definition: services_discovery.c:56
static int vlc_probe_add(vlc_probe_t *obj, const void *data, size_t len)
Definition: vlc_probe.h:49
#define VLC_OBJECT(x)
Type-safe vlc_object_t cast.
Definition: vlc_common.h:464
static void * vlc_alloc(size_t count, size_t size)
Definition: vlc_common.h:948
mtime_t mdate(void)
Precision monotonic clock.
Definition: thread.c:406
void(* destroy)(stream_t *)
Definition: stream.c:71
#define module_unneed(a, b)
Definition: vlc_modules.h:49
void * p_sys
Private data pointer.
Definition: vlc_stream.h:128
void vlc_mutex_lock(vlc_mutex_t *p_mutex)
Acquires a mutex.
Definition: thread.c:123
Definition: vlc_block.h:111
void config_ChainDestroy(config_chain_t *p_cfg)
This function will release a linked list of config_chain_t (Including the head)
Definition: chain.c:253
#define msg_Err(p_this,...)
Definition: vlc_messages.h:82
static void playlist_ServicesDiscoveryInternalRemoveLocked(playlist_t *playlist, vlc_sd_internal_t *sds)
Definition: services_discovery.c:149
static float stats_GetRate(const counter_t *counter)
Definition: stats.c:58
#define module_need(a, b, c, d)
Definition: vlc_modules.h:47
bool eof
Definition: stream.c:75
block_t * block_TryRealloc(block_t *p_block, ssize_t i_prebody, size_t i_body)
Definition: block.c:147
void vlc_stream_Delete(stream_t *s)
Destroy a stream.
Definition: stream.c:120
vlc_sd_internal_t ** pp_sds
Definition: playlist_internal.h:55