VLC  3.0.15
art.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * art.h:
3  *****************************************************************************
4  * Copyright (C) 1999-2008 VLC authors and VideoLAN
5  * $Id: da13e7956a71da45be25a7018465f4ccb502dfc5 $
6  *
7  * Authors: Samuel Hocevar <sam@zoy.org>
8  * ClĂ©ment Stenac <zorglub@videolan.org>
9  *
10  * This program is free software; you can redistribute it and/or modify it
11  * under the terms of the GNU Lesser General Public License as published by
12  * the Free Software Foundation; either version 2.1 of the License, or
13  * (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU Lesser General Public License for more details.
19  *
20  * You should have received a copy of the GNU Lesser General Public License
21  * along with this program; if not, write to the Free Software Foundation,
22  * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
23  *****************************************************************************/
24 
25 #ifndef _PLAYLIST_ART_H
26 #define _PLAYLIST_ART_H 1
27 
30 
32  const void *, size_t, const char *psz_type );
33 
34 #endif
35 
httpd_client_t::i_buffer
int i_buffer
Definition: httpd.c:154
EndMD5
void EndMD5(struct md5_s *h)
Definition: md5.c:345
vlc_loaddir
int vlc_loaddir(DIR *dir, char ***namelist, int(*select)(const char *), int(*compar)(const char **, const char **))
Does the same as vlc_scandir(), but takes an open directory pointer instead of a directory path.
Definition: filesystem.c:110
vlc_http_HostNew
httpd_host_t * vlc_http_HostNew(vlc_object_t *p_this)
Definition: httpd.c:860
HTTPD_PROTO_RTSP
Definition: vlc_httpd.h:61
httpd_stream_t::i_header
int i_header
Definition: httpd.c:596
vlc_http_auth_t::psz_algorithm
char * psz_algorithm
Definition: vlc_http.h:47
httpd_url_t::host
httpd_host_t * host
Definition: httpd.c:107
playlist_FindArtInCacheUsingItemUID
int playlist_FindArtInCacheUsingItemUID(input_item_t *p_item)
Definition: art.c:230
playlist_t
Structure containing information about the playlist.
Definition: vlc_playlist.h:151
net_SetCSCov
int net_SetCSCov(int fd, int sendcov, int recvcov)
net_SetCSCov: Sets the send and receive checksum coverage of a socket:
Definition: udp.c:684
httpd_stream_t::i_buffer_last_pos
int64_t i_buffer_last_pos
Definition: httpd.c:610
AI_IDN
#define AI_IDN
Definition: vlc_network.h:194
count
size_t count
Definition: core.c:461
net_Printf
ssize_t net_Printf(vlc_object_t *p_this, int fd, const char *psz_fmt,...)
Definition: io.c:383
httpd_host_t::fds
int * fds
Definition: httpd.c:81
vlc_tls_SocketWrite
static ssize_t vlc_tls_SocketWrite(vlc_tls_t *tls, const struct iovec *iov, unsigned count)
Definition: tls.c:367
vlc_send_i11e
static ssize_t vlc_send_i11e(int fd, const void *buf, size_t len, int flags)
Definition: vlc_interrupt.h:132
net_SourceSubscribe
static int net_SourceSubscribe(vlc_object_t *obj, int fd, const struct sockaddr *src, socklen_t srclen, const struct sockaddr *grp, socklen_t grplen)
IP-agnostic multicast join, with fallback to old APIs, and fallback from SSM to ASM.
Definition: udp.c:311
TAB_CLEAN
#define TAB_CLEAN(count, tab)
Definition: vlc_arrays.h:46
input_item_t::p_meta
vlc_meta_t * p_meta
Definition: vlc_input_item.h:80
vlc_fopen
FILE * vlc_fopen(const char *filename, const char *mode)
Opens a FILE pointer.
Definition: filesystem.c:46
HTTPD_MSG_PLAY
Definition: vlc_httpd.h:48
net_ListenTCP
#define net_ListenTCP(a, b, c)
Definition: vlc_network.h:129
httpd_message_t::p_body
uint8_t * p_body
Definition: vlc_httpd.h:104
VLC_COMMON_MEMBERS
#define VLC_COMMON_MEMBERS
Backward compatibility macro.
Definition: vlc_common.h:453
vlc_tls_ConnectWrite
static ssize_t vlc_tls_ConnectWrite(vlc_tls_t *tls, const struct iovec *iov, unsigned count)
Definition: tls.c:521
httpd_url_t::cb
httpd_callback_t cb
Definition: httpd.c:117
httpd
Definition: httpd.c:894
httpd_message_t
Definition: vlc_httpd.h:80
playlist_SaveArt
int playlist_SaveArt(vlc_object_t *obj, input_item_t *p_item, const void *data, size_t length, const char *psz_type)
Definition: art.c:267
vlc_restorecancel
void vlc_restorecancel(int state)
Restores the cancellation state.
Definition: thread.c:323
vlc_meta_Get
const char * vlc_meta_Get(const vlc_meta_t *p_meta, vlc_meta_type_t meta_type)
Definition: meta.c:131
vlc_cleanup_push
#define vlc_cleanup_push(routine, arg)
Registers a thread cancellation handler.
Definition: vlc_threads.h:975
httpd_stream_t::i_last_keyframe_seen_pos
int64_t i_last_keyframe_seen_pos
Definition: httpd.c:604
tls_client_load
static int tls_client_load(void *func, va_list ap)
Definition: tls.c:69
vlc_http.h
vlc_http_auth_Deinit
void vlc_http_auth_Deinit(vlc_http_auth_t *p_auth)
Definition: http_auth.c:491
vlc_http_auth_FormatAuthorizationHeader
char * vlc_http_auth_FormatAuthorizationHeader(vlc_object_t *p_this, vlc_http_auth_t *p_auth, const char *psz_method, const char *psz_path, const char *psz_username, const char *psz_password)
Definition: http_auth.c:385
vlc_xml_encode
char * vlc_xml_encode(const char *str)
Encodes XML entites.
Definition: strings.c:288
vlc_tls_SocketRead
static ssize_t vlc_tls_SocketRead(vlc_tls_t *tls, struct iovec *iov, unsigned count)
Definition: tls.c:355
httpd_HtmlError
static size_t httpd_HtmlError(char **body, int code, const char *url)
Definition: httpd.c:256
rootwrap_bind
int rootwrap_bind(int family, int socktype, int protocol, const struct sockaddr *addr, size_t alen)
Tries to obtain a bound TCP socket from the root process.
Definition: rootbind.c:114
strcasecmp
int strcasecmp(const char *, const char *)
vlc_tls::writev
ssize_t(* writev)(struct vlc_tls *, const struct iovec *, unsigned)
Definition: vlc_tls.h:47
net_SetDSCP
static int net_SetDSCP(int fd, uint8_t dscp)
Definition: udp.c:477
vlc_tls_Write
ssize_t vlc_tls_Write(vlc_tls_t *session, const void *buf, size_t len)
Sends data through a socket.
Definition: tls.c:268
HTTPD_MSG_GET
Definition: vlc_httpd.h:40
vlc_module_load
#define vlc_module_load(o, c, n, s,...)
Definition: vlc_modules.h:39
vlc_tls_GetLine
char * vlc_tls_GetLine(vlc_tls_t *session)
Receives a text line through a socket.
Definition: tls.c:307
httpd_header::value
char * value
Definition: vlc_httpd.h:77
vlc_meta_Album
Definition: vlc_meta.h:39
vlc_rand_bytes
void vlc_rand_bytes(void *buf, size_t len)
Definition: rand.c:27
HTTPD_PROTO_NONE
Definition: vlc_httpd.h:59
httpd_host_t::thread
vlc_thread_t thread
Definition: httpd.c:85
net_OpenDgram
int net_OpenDgram(vlc_object_t *obj, const char *psz_bind, int i_bind, const char *psz_server, int i_server, int protocol)
Definition: udp.c:599
vlc_input_item.h
EMPTY_STR
#define EMPTY_STR(str)
Definition: vlc_common.h:768
httpd_client_t
Definition: httpd.c:139
vlc_tls_creds
TLS credentials.
Definition: vlc_tls.h:67
SOL_TCP
#define SOL_TCP
Definition: tls.c:47
vlc_common.h
GetFileByItemUID
static char * GetFileByItemUID(char *psz_dir, const char *psz_type)
Definition: art.c:220
SOL_IPV6
#define SOL_IPV6
Definition: udp.c:61
HTTPD_MSG_POST
Definition: vlc_httpd.h:42
md5_s
Definition: vlc_md5.h:32
vlc_http_auth_t
Definition: vlc_http.h:40
DIR_SEP
#define DIR_SEP
Definition: vlc_common.h:1023
httpd_message_t::i_status
int i_status
Definition: vlc_httpd.h:89
VLC_THREAD_PRIORITY_LOW
#define VLC_THREAD_PRIORITY_LOW
Definition: vlc_threads.h:321
HTTPD_MSG_DESCRIBE
Definition: vlc_httpd.h:46
vlc_httpd.h
net_SockAddrIsMulticast
static bool net_SockAddrIsMulticast(const struct sockaddr *addr, socklen_t len)
Definition: vlc_network.h:211
playlist_MuteGet
int playlist_MuteGet(playlist_t *pl)
Definition: aout.c:89
block_t::i_buffer
size_t i_buffer
Payload length.
Definition: vlc_block.h:116
vlc_interrupt.h
httpd_StreamSetHTTPHeaders
int httpd_StreamSetHTTPHeaders(httpd_stream_t *p_stream, const httpd_header *p_headers, size_t i_headers)
Definition: httpd.c:2056
var_InheritInteger
#define var_InheritInteger(o, n)
Definition: vlc_variables.h:612
input_item_t
Describes an input and is used to spawn input_thread_t objects.
Definition: vlc_input_item.h:58
vlc_pipe
int vlc_pipe(int fds[2])
Creates a pipe (see "man pipe" for further reference).
Definition: filesystem.c:263
httpd_HostCreate
static httpd_host_t * httpd_HostCreate(vlc_object_t *, const char *, const char *, vlc_tls_creds_t *)
Definition: httpd.c:902
httpd_ReasonFromCode
static const char * httpd_ReasonFromCode(unsigned i_code)
Definition: httpd.c:173
vlc_http_auth_t::psz_nonce
char * psz_nonce
Definition: vlc_http.h:44
httpd_FileNew
httpd_file_t * httpd_FileNew(httpd_host_t *host, const char *psz_url, const char *psz_mime, const char *psz_user, const char *psz_password, httpd_file_callback_t pf_fill, httpd_file_sys_t *p_sys)
Definition: httpd.c:350
httpd_RedirectDelete
void httpd_RedirectDelete(httpd_redirect_t *rdir)
Definition: httpd.c:578
pollfd::fd
int fd
Definition: vlc_fixups.h:416
vlc_tls_Read
ssize_t vlc_tls_Read(vlc_tls_t *session, void *buf, size_t len, bool waitall)
Receives data through a socket.
Definition: tls.c:227
httpd_file_t::pf_fill
httpd_file_callback_t pf_fill
Definition: httpd.c:296
httpd_ClientSend
static int httpd_ClientSend(httpd_client_t *cl)
Definition: httpd.c:1563
HTTPD_MSG_TEARDOWN
Definition: vlc_httpd.h:51
httpd_client_t::answer
httpd_message_t answer
Definition: httpd.c:166
input_item_SetArtURL
#define input_item_SetArtURL
Definition: vlc_input_item.h:314
CMSG_LEN
#define CMSG_LEN(len)
Definition: rootbind.c:57
input_item_t::lock
vlc_mutex_t lock
Lock for the item.
Definition: vlc_input_item.h:93
httpd::host
httpd_host_t ** host
Definition: httpd.c:898
msg_type
static const struct @72 msg_type[]
CMSG_SPACE
#define CMSG_SPACE(len)
Definition: rootbind.c:54
vlc_http_auth_t::psz_cnonce
char * psz_cnonce
Definition: vlc_http.h:50
rootwrap_bind
int rootwrap_bind(int, int, int, const struct sockaddr *, size_t)
Tries to obtain a bound TCP socket from the root process.
Definition: rootbind.c:114
net_Listen
int * net_Listen(vlc_object_t *p_this, const char *psz_host, int i_port, int type, int protocol)
Definition: io.c:104
vlc_mkdir
int vlc_mkdir(const char *dirname, mode_t mode)
Creates a directory.
Definition: filesystem.c:93
AuthGetParam
static char * AuthGetParam(const char *psz_header, const char *psz_param)
Definition: http_auth.c:43
vlc_network.h
httpd_ServerIP
char * httpd_ServerIP(const httpd_client_t *cl, char *ip, int *port)
Definition: httpd.c:1201
httpd_MsgGet
const char * httpd_MsgGet(const httpd_message_t *msg, const char *name)
Definition: httpd.c:1145
pollfd
Definition: vlc_fixups.h:414
vlc_scandir
int vlc_scandir(const char *dirname, char ***namelist, int(*select)(const char *), int(*compar)(const char **, const char **))
Selects file entries from a directory, as GNU C scandir().
Definition: filesystem.c:177
vlc_http_auth_t::psz_stale
char * psz_stale
Definition: vlc_http.h:46
HTTPD_CLIENT_TLS_HS_OUT
Definition: httpd.c:136
vlc_charset.h
tls_server_load
static int tls_server_load(void *func, va_list ap)
Definition: tls.c:59
httpd_file_t::mime
char mime[1]
Definition: httpd.c:298
httpd_host_t::wait
vlc_cond_t wait
Definition: httpd.c:87
vlc_tls_SocketAddrInfo
static vlc_tls_t * vlc_tls_SocketAddrInfo(const struct addrinfo *restrict info)
Allocates an unconnected transport layer socket.
Definition: tls.c:448
httpd_file_callback_t
int(* httpd_file_callback_t)(httpd_file_sys_t *, httpd_file_t *, uint8_t *psz_request, uint8_t **pp_data, int *pi_data)
Definition: vlc_httpd.h:125
vlc_socket_setup
static void vlc_socket_setup(int fd, bool nonblock)
Definition: filesystem.c:307
httpd_StreamHeader
int httpd_StreamHeader(httpd_stream_t *stream, uint8_t *p_data, int i_data)
Definition: httpd.c:783
vlc_tls
Transport layer socket.
Definition: vlc_tls.h:43
playlist_private_t
Definition: playlist_internal.h:46
vlc_tls::p
struct vlc_tls * p
Definition: vlc_tls.h:51
GenerateCnonce
static char * GenerateCnonce()
Definition: http_auth.c:85
HTTPD_PROTO_HTTP0
Definition: vlc_httpd.h:62
msg_Dbg
#define msg_Dbg(p_this,...)
Definition: vlc_messages.h:86
xstrdup
static char * xstrdup(const char *str)
Definition: vlc_common.h:994
httpd_file_t
Definition: httpd.c:292
httpd_NetRecv
static ssize_t httpd_NetRecv(httpd_client_t *cl, uint8_t *p, size_t i_len)
Definition: httpd.c:1231
HTTPD_MSG_HEAD
Definition: vlc_httpd.h:41
vlc_tls::close
void(* close)(struct vlc_tls *)
Definition: vlc_tls.h:49
httpd_AppendData
static void httpd_AppendData(httpd_stream_t *stream, uint8_t *p_data, int i_data)
Definition: httpd.c:799
psz_ext
const char psz_ext[7]
Definition: image.c:581
pathconf
long pathconf(const char *path, int name)
poll
int poll(struct pollfd *, unsigned, int)
O_TMPFILE
#define O_TMPFILE
Definition: filesystem.c:45
net_Write
ssize_t() net_Write(vlc_object_t *obj, int fd, const void *buf, size_t len)
Writes data to a socket.
Definition: io.c:287
httpd_url_t::catch
struct httpd_url_t::@73 catch[HTTPD_MSG_MAX]
VLC_EGENERIC
#define VLC_EGENERIC
Unspecified error.
Definition: vlc_common.h:350
vlc_getaddrinfo_i11e
int vlc_getaddrinfo_i11e(const char *name, unsigned port, const struct addrinfo *hints, struct addrinfo **res)
Definition: getaddrinfo.c:38
httpd_redirect_t
Definition: httpd.c:514
ArtCachePath
static char * ArtCachePath(input_item_t *p_item)
Definition: art.c:105
cleanup_tls
static void cleanup_tls(void *data)
Definition: tls.c:161
httpd_message_t::i_type
uint8_t i_type
Definition: vlc_httpd.h:84
vlc_clone
int vlc_clone(vlc_thread_t *th, void *(*entry)(void *), void *data, int priority)
Creates and starts a new thread.
Definition: thread.c:263
vlc_stat
int vlc_stat(const char *filename, struct stat *buf)
Finds file/inode information - like stat().
Definition: filesystem.c:170
playlist_EnableAudioFilter
void playlist_EnableAudioFilter(playlist_t *pl, const char *name, bool add)
Definition: aout.c:115
vlc_poll_i11e
int vlc_poll_i11e(struct pollfd *fds, unsigned nfds, int timeout)
Interruptible variant of poll().
Definition: interrupt.c:372
getenv
static char * getenv(const char *name)
Definition: vlc_fixups.h:293
vlc_getaddrinfo
int vlc_getaddrinfo(const char *node, unsigned port, const struct addrinfo *hints, struct addrinfo **res)
Resolves a host name to a list of socket addresses (like getaddrinfo()).
Definition: getaddrinfo.c:77
vlc_tls_socket_t
struct vlc_tls_socket vlc_tls_socket_t
lstat
#define lstat(a, b)
Definition: filesystem.c:40
vlc_cond_signal
void vlc_cond_signal(vlc_cond_t *p_condvar)
Wakes up one thread waiting on a condition variable.
Definition: thread.c:256
net_SetMcastHopLimit
static int net_SetMcastHopLimit(vlc_object_t *p_this, int fd, int family, int hlim)
Definition: udp.c:202
vlc_b64_decode
char * vlc_b64_decode(const char *psz_src)
Definition: strings.c:468
HTTPD_CLIENT_TLS_HS_IN
Definition: httpd.c:135
vlc_tls_WaitConnect
static int vlc_tls_WaitConnect(vlc_tls_t *tls)
Waits for pending transport layer socket connection.
Definition: tls.c:469
var_InheritString
#define var_InheritString(o, n)
Definition: vlc_variables.h:639
playlist_FindArtInCache
int playlist_FindArtInCache(input_item_t *)
Definition: art.c:161
vlc_b64_encode
char * vlc_b64_encode(const char *src)
Definition: strings.c:395
vlc_cond_t
pthread_cond_t vlc_cond_t
Condition variable.
Definition: vlc_threads.h:279
httpd_MsgInit
static void httpd_MsgInit(httpd_message_t *msg)
Definition: httpd.c:1112
httpd_message_t::psz_url
char * psz_url
Definition: vlc_httpd.h:92
playlist_private_t::p_input_resource
input_resource_t * p_input_resource
input resources
Definition: playlist_internal.h:59
vlc_gettext
char * vlc_gettext(const char *msgid)
In-tree plugins share their gettext domain with LibVLC.
Definition: textdomain.c:89
httpd_stream_t::p_http_headers
httpd_header * p_http_headers
Definition: httpd.c:614
asprintf
int asprintf(char **, const char *,...)
vlc_http_auth_ParseAuthenticationInfoHeader
int vlc_http_auth_ParseAuthenticationInfoHeader(vlc_object_t *p_this, vlc_http_auth_t *p_auth, const char *psz_header, const char *psz_method, const char *psz_path, const char *psz_username, const char *psz_password)
Definition: http_auth.c:306
vlc_rand.h
pollfd::revents
short revents
Definition: vlc_fixups.h:418
httpd_handler_t::url
httpd_url_t * url
Definition: httpd.c:399
playlist_VolumeGet
float playlist_VolumeGet(playlist_t *pl)
Definition: aout.c:45
httpd_redirect_t::url
httpd_url_t * url
Definition: httpd.c:517
httpd_host_t::nfd
unsigned nfd
Definition: httpd.c:82
vlc_tls_SocketGetFD
static int vlc_tls_SocketGetFD(vlc_tls_t *tls)
Definition: tls.c:348
strndup
char * strndup(const char *, size_t)
ArtCacheName
static char * ArtCacheName(input_item_t *p_item, const char *psz_type)
Definition: art.c:138
net_Subscribe
int net_Subscribe(vlc_object_t *obj, int fd, const struct sockaddr *grp, socklen_t grplen)
Definition: udp.c:393
net_errno
#define net_errno
Definition: vlc_network.h:56
AddMD5
void AddMD5(struct md5_s *restrict h, const void *data, size_t len)
Definition: md5.c:340
vlc_getcwd
char * vlc_getcwd(void)
Determines the current working directory.
Definition: filesystem.c:215
dummy_select
static int dummy_select(const char *str)
Definition: filesystem.c:100
httpdLoop
static void httpdLoop(httpd_host_t *host)
Definition: httpd.c:1695
GetDirByItemUIDs
static char * GetDirByItemUIDs(char *psz_uid)
Definition: art.c:205
net_Close
#define net_Close(fd)
Definition: vlc_network.h:57
dirfd
int() dirfd(DIR *)
vlc_meta_Title
Definition: vlc_meta.h:35
httpdAuthOk
static bool httpdAuthOk(const char *user, const char *pass, const char *b64)
Definition: httpd.c:1655
aout_ChangeFilterString
bool aout_ChangeFilterString(vlc_object_t *manager, vlc_object_t *aout, const char *var, const char *name, bool b_add)
Definition: common.c:538
module_Load
int module_Load(vlc_object_t *p_this, const char *psz_file, module_handle_t *p_handle, bool lazy)
Load a dynamically linked library using a system dependent method.
Definition: plugin.c:49
httpd_client_t::i_buffer_size
int i_buffer_size
Definition: httpd.c:153
vlc_mime.h
i_proto
int i_proto
Definition: httpd.c:1251
vlc_killed
bool vlc_killed(void)
Checks if the interruption context was "killed".
Definition: interrupt.c:186
httpd_client_t::i_activity_date
mtime_t i_activity_date
Definition: httpd.c:149
CLOCK_FREQ
#define CLOCK_FREQ
Definition: vlc_config.h:45
vlc_ngettext
char * vlc_ngettext(const char *msgid, const char *plural, unsigned long n)
Definition: textdomain.c:98
msg_Warn
#define msg_Warn(p_this,...)
Definition: vlc_messages.h:84
vlc_tls_Delete
void vlc_tls_Delete(vlc_tls_creds_t *crd)
Releases TLS credentials.
Definition: tls.c:128
vlc_lstat
int vlc_lstat(const char *filename, struct stat *buf)
Finds file/inode information, as lstat().
Definition: filesystem.c:175
httpd_FileCallBack
static int httpd_FileCallBack(httpd_callback_sys_t *p_sys, httpd_client_t *cl, httpd_message_t *answer, const httpd_message_t *query)
Definition: httpd.c:301
audio_output
Audio output object.
Definition: vlc_aout.h:114
httpd_handler_t
Definition: httpd.c:396
httpd_stream_t::i_http_headers
size_t i_http_headers
Definition: httpd.c:613
HTTPD_MSG_PAUSE
Definition: vlc_httpd.h:49
httpd_client_t::i_activity_timeout
mtime_t i_activity_timeout
Definition: httpd.c:150
vlc_tls_socket::peer
struct sockaddr peer[]
Definition: tls.c:345
httpd_handler_t::p_sys
void * p_sys
Definition: httpd.c:402
vlc_close
int vlc_close(int fd)
Closes a file descriptor.
Definition: filesystem.c:88
net_Socket
int net_Socket(vlc_object_t *p_this, int family, int socktype, int protocol)
Definition: io.c:53
vlc_object_release
#define vlc_object_release(a)
Definition: vlc_objects.h:63
httpd_UrlNew
httpd_url_t * httpd_UrlNew(httpd_host_t *host, const char *psz_url, const char *psz_user, const char *psz_password)
Definition: httpd.c:1037
filename_sanitize
void filename_sanitize(char *str)
Sanitize a file name.
Definition: strings.c:875
AI_NUMERICSERV
#define AI_NUMERICSERV
Definition: vlc_network.h:191
MSG_NOSIGNAL
#define MSG_NOSIGNAL
Definition: rootbind.c:63
vlc_tls_socket
Definition: tls.c:340
vlc_memfd
int vlc_memfd(void)
Creates an anonymous regular file descriptor, i.e.
Definition: filesystem.c:82
vlc_rename
int vlc_rename(const char *oldpath, const char *newpath)
Moves a file atomically.
Definition: filesystem.c:194
net_Accept
int net_Accept(vlc_object_t *p_this, int *pi_fd)
Accepts an new connection on a set of listening sockets.
Definition: tcp.c:271
vlc_tls_SocketPair
int vlc_tls_SocketPair(int family, int protocol, vlc_tls_t *pair[2])
Creates a connected pair of transport-layer sockets.
Definition: tls.c:419
vlc_unlink
int vlc_unlink(const char *filename)
Removes a file.
Definition: filesystem.c:180
playlist_SaveArt
int playlist_SaveArt(vlc_object_t *, input_item_t *, const void *, size_t, const char *psz_type)
Definition: art.c:267
vlc_meta_Artist
Definition: vlc_meta.h:36
i_type
int i_type
Definition: httpd.c:1250
httpd_MsgAdd
void httpd_MsgAdd(httpd_message_t *msg, const char *name, const char *psz_value,...)
Definition: httpd.c:1153
vlc_testcancel
void vlc_testcancel(void)
Issues an explicit deferred cancellation point.
Definition: thread.c:331
aout_VolumeGet
float aout_VolumeGet(audio_output_t *aout)
Gets the volume of the audio output stream (independent of mute).
Definition: output.c:727
httpd_client_t::i_ref
int i_ref
Definition: httpd.c:144
VLC_TS_INVALID
#define VLC_TS_INVALID
Definition: vlc_config.h:42
httpd_url_t::psz_user
char * psz_user
Definition: httpd.c:112
HTTPD_PROTO_HTTP
Definition: vlc_httpd.h:60
input_item_t::psz_name
char * psz_name
text describing this item
Definition: vlc_input_item.h:60
httpd_callback_sys_t
struct httpd_callback_sys_t httpd_callback_sys_t
Definition: vlc_httpd.h:109
vlc_tls::shutdown
int(* shutdown)(struct vlc_tls *, bool duplex)
Definition: vlc_tls.h:48
vlc_tls::readv
ssize_t(* readv)(struct vlc_tls *, struct iovec *, unsigned)
Definition: vlc_tls.h:46
httpd_handler_t::pf_fill
httpd_handler_callback_t pf_fill
Definition: httpd.c:401
vlc_socket_setup
static void vlc_socket_setup(int fd, bool nonblock)
Definition: filesystem.c:282
httpd_message_t::psz_args
uint8_t * psz_args
Definition: vlc_httpd.h:95
httpd_message_t::i_body
int i_body
Definition: vlc_httpd.h:103
module_handle_t
void * module_handle_t
The plugin handle type.
Definition: modules.h:29
POLLOUT
#define POLLOUT
Definition: vlc_fixups.h:412
HTTPD_MSG_SETUP
Definition: vlc_httpd.h:47
block_t::i_flags
uint32_t i_flags
Definition: vlc_block.h:120
ToLocaleDup
#define ToLocaleDup
Definition: vlc_charset.h:253
httpd_ClientDestroy
static void httpd_ClientDestroy(httpd_client_t *cl)
Definition: httpd.c:1206
vlc_open
int vlc_open(const char *filename, int flags,...)
Opens a system file handle.
Definition: filesystem.c:49
vlc_meta_ArtworkURL
Definition: vlc_meta.h:51
net_Socket
int net_Socket(vlc_object_t *p_this, int i_family, int i_socktype, int i_protocol)
Definition: io.c:53
httpd_HandlerDelete
void * httpd_HandlerDelete(httpd_handler_t *handler)
Definition: httpd.c:504
playlist_VolumeUp
int playlist_VolumeUp(playlist_t *pl, int value, float *volp)
Raises the volume.
Definition: aout.c:76
httpd_host_t
Definition: httpd.c:73
httpd_StreamDelete
void httpd_StreamDelete(httpd_stream_t *stream)
Definition: httpd.c:838
playlist_GetAout
audio_output_t * playlist_GetAout(playlist_t *pl)
Definition: aout.c:35
vlc_strings.h
vlc_http_auth_ParseWwwAuthenticateHeader
void vlc_http_auth_ParseWwwAuthenticateHeader(vlc_object_t *p_this, vlc_http_auth_t *p_auth, const char *psz_header)
Definition: http_auth.c:228
httpd_host_t::client
httpd_client_t ** client
Definition: httpd.c:98
httpd_file_sys_t
struct httpd_file_sys_t httpd_file_sys_t
Definition: vlc_httpd.h:124
SOL_IP
#define SOL_IP
Definition: udp.c:58
net_ListenSingle
static int net_ListenSingle(vlc_object_t *obj, const char *host, int port, int protocol)
Definition: udp.c:142
httpd_HostDelete
void httpd_HostDelete(httpd_host_t *host)
Definition: httpd.c:995
aout_MuteSet
int aout_MuteSet(audio_output_t *aout, bool mute)
Sets the audio output stream mute flag.
Definition: output.c:791
httpd_stream_t::lock
vlc_mutex_t lock
Definition: httpd.c:589
httpd_stream_t::i_buffer_pos
int64_t i_buffer_pos
Definition: httpd.c:609
net_Socket
int net_Socket(vlc_object_t *p_this, int i_family, int i_socktype, int i_protocol)
Definition: io.c:53
httpd_file_t::url
httpd_url_t * url
Definition: httpd.c:295
vlc_tls_GetFD
static int vlc_tls_GetFD(vlc_tls_t *tls)
Definition: vlc_tls.h:187
vlc_tls_creds::module
module_t * module
Definition: vlc_tls.h:71
TAB_APPEND
#define TAB_APPEND(count, tab, p)
Definition: vlc_arrays.h:64
vlc_opendir
DIR * vlc_opendir(const char *dirname)
Opens a DIR pointer.
Definition: filesystem.c:107
httpd_host_t::i_ref
unsigned i_ref
Definition: httpd.c:78
playlist_internal.h
pollfd::events
short events
Definition: vlc_fixups.h:417
recvmsg
ssize_t recvmsg(int, struct msghdr *, int)
GetWindowsError
static char * GetWindowsError(void)
Definition: plugin.c:76
var_Type
#define var_Type(a, b)
Definition: vlc_variables.h:130
vlc_mkstemp
int vlc_mkstemp(char *template)
Definition: filesystem.c:99
HTTPD_MSG_MAX
Definition: vlc_httpd.h:54
vlc_meta_New
vlc_meta_t * vlc_meta_New(void)
vlc_meta contructor.
Definition: meta.c:92
vlc_http_auth_t::psz_realm
char * psz_realm
Definition: vlc_http.h:42
vlc_thread_t
Thread handle.
Definition: vlc_threads.h:252
SetWBE
static void SetWBE(void *p, uint16_t w)
Writes 16 bits in network byte order.
Definition: vlc_common.h:864
httpd_url_t::p_sys
httpd_callback_sys_t * p_sys
Definition: httpd.c:118
vlc_win32_tmpfile
FILE * vlc_win32_tmpfile(void)
Definition: filesystem.c:359
vlc_mutex_init
void vlc_mutex_init(vlc_mutex_t *p_mutex)
Initializes a fast mutex.
Definition: thread.c:85
playlist_FindArtInCache
int playlist_FindArtInCache(input_item_t *p_item)
Definition: art.c:161
httpd_callback_t
int(* httpd_callback_t)(httpd_callback_sys_t *, httpd_client_t *, httpd_message_t *answer, const httpd_message_t *query)
Definition: vlc_httpd.h:110
httpd_UrlDelete
void httpd_UrlDelete(httpd_url_t *url)
Definition: httpd.c:1084
SOL_UDPLITE
#define SOL_UDPLITE
Definition: udp.c:73
HTTPD_CLIENT_RECEIVE_DONE
Definition: httpd.c:126
httpd_host_t::i_url
int i_url
Definition: httpd.c:93
vlc_cleanup_pop
#define vlc_cleanup_pop()
Unregisters the last cancellation handler.
Definition: vlc_threads.h:983
modules.h
httpd_UrlCatch
int httpd_UrlCatch(httpd_url_t *url, int i_msg, httpd_callback_t cb, httpd_callback_sys_t *p_sys)
Definition: httpd.c:1072
POLLIN
#define POLLIN
Definition: vlc_fixups.h:411
psz_mime
const char * psz_mime
Definition: image.c:629
vlc_tls_Close
static void vlc_tls_Close(vlc_tls_t *session)
Closes a connection and its underlying resources.
Definition: vlc_tls.h:257
vlc_tls_ServerSessionCreate
vlc_tls_t * vlc_tls_ServerSessionCreate(vlc_tls_creds_t *crd, vlc_tls_t *sock, const char *const *alpn)
Creates a TLS server session.
Definition: tls.c:220
HTTPD_MSG_OPTIONS
Definition: vlc_httpd.h:45
static_assert
#define static_assert
Definition: vlc_fixups.h:367
HTTPD_CLIENT_SEND_DONE
Definition: httpd.c:129
net_Connect
int net_Connect(vlc_object_t *p_this, const char *psz_host, int i_port, int type, int proto)
Definition: tcp.c:67
httpd_StreamCallBack
static int httpd_StreamCallBack(httpd_callback_sys_t *p_sys, httpd_client_t *cl, httpd_message_t *answer, const httpd_message_t *query)
Definition: httpd.c:616
recv_fd
static int recv_fd(int p)
Receive a file descriptor from another process.
Definition: rootbind.c:74
vlc_http_auth_t::psz_HA1
char * psz_HA1
Definition: vlc_http.h:51
module_Unload
void module_Unload(module_handle_t handle)
CloseModule: unload a dynamic library.
Definition: plugin.c:76
playlist_VolumeSet
int playlist_VolumeSet(playlist_t *pl, float vol)
Definition: aout.c:58
playlist_FindArtInCacheUsingItemUID
int playlist_FindArtInCacheUsingItemUID(input_item_t *)
Definition: art.c:230
SocksHandshakeTCP
static int SocksHandshakeTCP(vlc_object_t *, int fd, int i_socks_version, const char *psz_user, const char *psz_passwd, const char *psz_host, int i_port)
Definition: tcp.c:424
vlc_tls_SocketOpenTCP
vlc_tls_t * vlc_tls_SocketOpenTCP(vlc_object_t *obj, const char *name, unsigned port)
Creates a transport-layer TCP stream from a name and port.
Definition: tls.c:586
vlc_fs.h
net_vaPrintf
ssize_t net_vaPrintf(vlc_object_t *p_this, int fd, const char *psz_fmt, va_list args)
Definition: io.c:395
httpd_StreamSend
int httpd_StreamSend(httpd_stream_t *stream, const block_t *p_block)
Definition: httpd.c:817
vlc_statEx
static int vlc_statEx(const char *filename, struct stat *buf, bool deref)
Definition: filesystem.c:155
LoadLibraryFlags
DWORD LoadLibraryFlags
Definition: specific.c:41
HTTPD_CLIENT_RECEIVING
Definition: httpd.c:125
httpd_message_t::p_headers
httpd_header * p_headers
Definition: vlc_httpd.h:99
art.h
us_vasprintf
int us_vasprintf(char **ret, const char *format, va_list ap)
us_vasprintf() has the same prototype as vasprintf(), but doesn't use the system locale.
Definition: charset.c:97
xmalloc
static void * xmalloc(size_t len)
Definition: vlc_common.h:970
vlc_url.h
input_item_GetInfo
char * input_item_GetInfo(input_item_t *p_i, const char *psz_cat, const char *psz_name)
Get a info item from a given category in a given input item.
Definition: item.c:728
sendmsg
ssize_t sendmsg(int, const struct msghdr *, int)
ArtCacheGetDirPath
static char * ArtCacheGetDirPath(const char *psz_arturl, const char *psz_artist, const char *psz_album, const char *psz_title)
Definition: art.c:60
DIR_SEP_CHAR
#define DIR_SEP_CHAR
Definition: vlc_common.h:1022
likely
#define likely(p)
Definition: vlc_common.h:113
httpd_ClientInit
static void httpd_ClientInit(httpd_client_t *cl, mtime_t now)
Definition: httpd.c:1181
vlc_object_t
The main vlc_object_t structure.
Definition: vlc_objects.h:39
vlc_savecancel
int vlc_savecancel(void)
Disables thread cancellation.
Definition: thread.c:313
vlc_write
ssize_t vlc_write(int fd, const void *buf, size_t len)
Writes data to a file descriptor.
Definition: filesystem.c:277
httpd_client_t::i_state
uint8_t i_state
Definition: httpd.c:147
vlc_tls_SocketClose
static void vlc_tls_SocketClose(vlc_tls_t *tls)
Definition: tls.c:384
VLC_ENOMEM
#define VLC_ENOMEM
Not enough memory.
Definition: vlc_common.h:351
httpd_NetSend
static ssize_t httpd_NetSend(httpd_client_t *cl, const uint8_t *p, size_t i_len)
Definition: httpd.c:1239
httpd_client_t::sock
vlc_tls_t * sock
Definition: httpd.c:142
VLC_UNUSED
#define VLC_UNUSED(x)
Definition: vlc_common.h:912
vlc_mutex_t
pthread_mutex_t vlc_mutex_t
Mutex.
Definition: vlc_threads.h:267
VLC_SUCCESS
#define VLC_SUCCESS
No error.
Definition: vlc_common.h:349
httpd_stream_t::psz_mime
char * psz_mime
Definition: httpd.c:592
vlc_mrand48
long vlc_mrand48(void)
PRNG uniformly distributed between -2^32 and 2^32 - 1.
Definition: rand.c:98
httpd_StreamNew
httpd_stream_t * httpd_StreamNew(httpd_host_t *host, const char *psz_url, const char *psz_mime, const char *psz_user, const char *psz_password)
Definition: httpd.c:741
vlc_tls_SocketOpen
vlc_tls_t * vlc_tls_SocketOpen(int fd)
Creates a transport-layer stream from a socket.
Definition: tls.c:414
strdup
char * strdup(const char *)
vlc_tls_creds::open
vlc_tls_t *(* open)(struct vlc_tls_creds *, vlc_tls_t *sock, const char *host, const char *const *alpn)
Definition: vlc_tls.h:74
httpd_handler_callback_t
int(* httpd_handler_callback_t)(void *, httpd_handler_t *, char *psz_url, uint8_t *psz_request, int i_type, uint8_t *p_in, int i_in, char *psz_remote_addr, char *psz_remote_host, uint8_t **pp_data, int *pi_data)
Definition: vlc_httpd.h:131
httpd_header::name
char * name
Definition: vlc_httpd.h:76
httpd_host_t::p_tls
vlc_tls_creds_t * p_tls
Definition: httpd.c:101
vlc_tls_socket::tls
struct vlc_tls tls
Definition: tls.c:342
psz_value
char psz_value[8]
Definition: vout_intf.c:91
vlc_rtsp_HostNew
httpd_host_t * vlc_rtsp_HostNew(vlc_object_t *p_this)
Definition: httpd.c:889
httpd_host_t::lock
vlc_mutex_t lock
Definition: httpd.c:86
net_SetupDgramSocket
static int net_SetupDgramSocket(vlc_object_t *p_obj, int fd, const struct addrinfo *ptr)
Definition: udp.c:91
httpd_message_t::i_body_offset
int64_t i_body_offset
Definition: vlc_httpd.h:102
VLC_CACHE_DIR
Definition: vlc_configuration.h:124
vlc_custom_create
#define vlc_custom_create(o, s, n)
Definition: libvlc.h:108
httpd_message_t::i_headers
size_t i_headers
Definition: vlc_httpd.h:98
SOL_DCCP
#define SOL_DCCP
Definition: udp.c:67
httpd_RedirectCallBack
static int httpd_RedirectCallBack(httpd_callback_sys_t *p_sys, httpd_client_t *cl, httpd_message_t *answer, const httpd_message_t *query)
Definition: httpd.c:520
vlc_md5.h
vlc_block.h
net_GetSockAddress
static int net_GetSockAddress(int fd, char *address, int *port)
Definition: vlc_network.h:240
httpd_client_t::url
httpd_url_t * url
Definition: httpd.c:141
net_Gets
char * net_Gets(vlc_object_t *obj, int fd)
Reads a line from a file descriptor.
Definition: io.c:334
name
const char name[16]
Definition: httpd.c:1249
aout_MuteGet
int aout_MuteGet(audio_output_t *aout)
Gets the audio output stream mute flag.
Definition: output.c:782
vlc_cond_destroy
void vlc_cond_destroy(vlc_cond_t *p_condvar)
Deinitializes a condition variable.
Definition: thread.c:228
httpd_client_t::b_stream_mode
bool b_stream_mode
Definition: httpd.c:146
config_GetUserDir
char * config_GetUserDir(vlc_userdir_t type)
Definition: specific.c:272
vlc_cond_init
void vlc_cond_init(vlc_cond_t *p_condvar)
Initializes a condition variable.
Definition: thread.c:216
entry
Definition: fourcc_gen.c:50
vlc_cond_wait
void vlc_cond_wait(vlc_cond_t *p_condvar, vlc_mutex_t *p_mutex)
Waits on a condition variable.
Definition: thread.c:267
psz_md5_hash
static char * psz_md5_hash(struct md5_s *md5_s)
Returns a char representation of the md5 hash, as shown by UNIX md5 or md5sum tools.
Definition: vlc_md5.h:48
vlc_https_HostNew
httpd_host_t * vlc_https_HostNew(vlc_object_t *obj)
Definition: httpd.c:865
input_resource_HoldAout
audio_output_t * input_resource_HoldAout(input_resource_t *p_resource)
Definition: resource.c:387
HTTPD_CLIENT_DEAD
Definition: httpd.c:133
vlc_http_auth_t::psz_domain
char * psz_domain
Definition: vlc_http.h:43
vlc_tls_Connect
static ssize_t vlc_tls_Connect(vlc_tls_t *tls)
Connects a transport layer socket.
Definition: tls.c:504
httpd_file_t::p_sys
httpd_file_sys_t * p_sys
Definition: httpd.c:297
playlist_MuteSet
int playlist_MuteSet(playlist_t *pl, bool mute)
Definition: aout.c:102
xrealloc
static void * xrealloc(void *ptr, size_t len)
Definition: vlc_common.h:978
vlc_path2uri
char * vlc_path2uri(const char *path, const char *scheme)
Converts local path to URL.
Definition: url.c:138
TAB_REMOVE
#define TAB_REMOVE(count, tab, p)
Definition: vlc_arrays.h:91
vlc_tls_socket::peerlen
socklen_t peerlen
Definition: tls.c:344
net_Read
#define net_Read(a, b, c, d)
Definition: vlc_network.h:170
vlc_mutex_destroy
void vlc_mutex_destroy(vlc_mutex_t *p_mutex)
Deinitializes a mutex.
Definition: thread.c:110
vlc_tls.h
httpd_redirect_t::dst
char dst[1]
Definition: httpd.c:518
httpd_url_t::psz_url
char * psz_url
Definition: httpd.c:111
httpd_host_t::port
unsigned port
Definition: httpd.c:83
vlc_tls_ClientSessionCreate
vlc_tls_t * vlc_tls_ClientSessionCreate(vlc_tls_creds_t *crd, vlc_tls_t *sock, const char *host, const char *service, const char *const *alpn, char **alp)
Initiates a client TLS session.
Definition: tls.c:169
vlc_tls_SocketOpenAddrInfo
vlc_tls_t * vlc_tls_SocketOpenAddrInfo(const struct addrinfo *restrict info, bool defer_connect)
Definition: tls.c:563
httpd_stream_t
Definition: httpd.c:586
vlc_mutex_unlock
void vlc_mutex_unlock(vlc_mutex_t *p_mutex)
Releases a mutex.
Definition: thread.c:138
net_Read
ssize_t() net_Read(vlc_object_t *restrict obj, int fd, void *restrict buf, size_t len)
Reads data from a socket, blocking until all requested data is received or the end of the stream is r...
Definition: io.c:231
unlikely
#define unlikely(p)
Definition: vlc_common.h:114
net_GetPeerAddress
static int net_GetPeerAddress(int fd, char *address, int *port)
Definition: vlc_network.h:251
vlc_http_auth_t::psz_qop
char * psz_qop
Definition: vlc_http.h:48
net_ListenClose
void net_ListenClose(int *pi_fd)
Definition: tcp.c:527
pl_priv
#define pl_priv(pl)
Definition: playlist_internal.h:95
httpd_HandlerNew
httpd_handler_t * httpd_HandlerNew(httpd_host_t *host, const char *psz_url, const char *psz_user, const char *psz_password, httpd_handler_callback_t pf_fill, void *p_sys)
Definition: httpd.c:475
net_Write
#define net_Write(a, b, c, d)
Definition: vlc_network.h:172
vlc_http_auth_Init
void vlc_http_auth_Init(vlc_http_auth_t *p_auth)
Definition: http_auth.c:486
vlc_tls_ClientCreate
vlc_tls_creds_t * vlc_tls_ClientCreate(vlc_object_t *obj)
Allocates TLS credentials for a client.
Definition: tls.c:109
module_Lookup
void * module_Lookup(module_handle_t handle, const char *psz_function)
Looks up a symbol from a dynamically loaded library.
Definition: plugin.c:92
httpd_stream_t::p_header
uint8_t * p_header
Definition: httpd.c:595
IPPROTO_IPV6
#define IPPROTO_IPV6
Definition: udp.c:64
AuthGetParamNoQuotes
static char * AuthGetParamNoQuotes(const char *psz_header, const char *psz_param)
Definition: http_auth.c:63
tls_unload
static void tls_unload(void *func, va_list ap)
Definition: tls.c:77
libvlc.h
vlc_strerror_c
const char * vlc_strerror_c(int errnum)
Definition: error.c:34
vlc_tls_SessionHandshake
static int vlc_tls_SessionHandshake(vlc_tls_creds_t *crd, vlc_tls_t *tls)
Definition: vlc_tls.h:101
vlc_openat
int vlc_openat(int dir, const char *filename, int flags,...)
Opens a system file handle relative to an existing directory handle.
Definition: filesystem.c:75
vlc_tls_SocketShutdown
static int vlc_tls_SocketShutdown(vlc_tls_t *tls, bool duplex)
Definition: tls.c:379
HTTPD_CLIENT_WAITING
Definition: httpd.c:131
httpd_host_t::b_no_timeout
bool b_no_timeout
Definition: httpd.c:96
AuthDigest
static char * AuthDigest(vlc_object_t *p_this, vlc_http_auth_t *p_auth, const char *psz_method, const char *psz_path, const char *psz_username, const char *psz_password)
Definition: http_auth.c:99
vlc_assert_unreachable
#define vlc_assert_unreachable()
Definition: vlc_common.h:118
httpd::mutex
vlc_mutex_t mutex
Definition: httpd.c:896
vlc_cancel
void vlc_cancel(vlc_thread_t thread_id)
Marks a thread as cancelled.
Definition: thread.c:297
mtime_t
int64_t mtime_t
High precision date or time interval.
Definition: vlc_common.h:150
httpd_header
Definition: vlc_httpd.h:74
vlc_bindtextdomain
int vlc_bindtextdomain(const char *domain)
Definition: textdomain.c:32
vlc_playlist.h
vlc_tls::get_fd
int(* get_fd)(struct vlc_tls *)
Definition: vlc_tls.h:45
HTTPD_MSG_GETPARAMETER
Definition: vlc_httpd.h:50
timespec
Definition: vlc_fixups.h:443
httpd_HandlerCallBack
static int httpd_HandlerCallBack(httpd_callback_sys_t *p_sys, httpd_client_t *cl, httpd_message_t *answer, const httpd_message_t *query)
Definition: httpd.c:406
httpd_message_t::i_proto
uint8_t i_proto
Definition: vlc_httpd.h:85
block_t::p_buffer
uint8_t * p_buffer
Payload start.
Definition: vlc_block.h:115
httpd_stream_t::url
httpd_url_t * url
Definition: httpd.c:590
vlc_tls_SessionDelete
void vlc_tls_SessionDelete(vlc_tls_t *session)
Destroys a TLS session down.
Definition: tls.c:154
httpd_client_t::query
httpd_message_t query
Definition: httpd.c:165
vlc_aout.h
HTTPD_MSG_NONE
Definition: vlc_httpd.h:34
httpd_message_t::cl
httpd_client_t * cl
Definition: vlc_httpd.h:82
vlc_tls_socket::fd
int fd
Definition: tls.c:343
vlc_socketpair
int vlc_socketpair(int pf, int type, int proto, int fds[2], bool nonblock)
Creates a pair of socket file descriptors.
Definition: filesystem.c:323
widen_path
static wchar_t * widen_path(const char *path)
Definition: filesystem.c:50
httpd_ClientTlsHandshake
static void httpd_ClientTlsHandshake(httpd_host_t *host, httpd_client_t *cl)
Definition: httpd.c:1644
vlc_dup
int vlc_dup(int oldfd)
Duplicates a file descriptor.
Definition: filesystem.c:252
vlc_module_unload
#define vlc_module_unload(o, m, d,...)
Definition: vlc_modules.h:43
aout_VolumeSet
int aout_VolumeSet(audio_output_t *aout, float vol)
Sets the volume of the audio output stream.
Definition: output.c:737
httpd_url_t::psz_password
char * psz_password
Definition: httpd.c:113
VLC_OBJECT
#define VLC_OBJECT(x)
Type-safe vlc_object_t cast.
Definition: vlc_common.h:464
httpd_host_t::i_client
int i_client
Definition: httpd.c:97
httpd_FileDelete
httpd_file_sys_t * httpd_FileDelete(httpd_file_t *file)
Definition: httpd.c:385
httpd_stream_t::b_has_keyframes
bool b_has_keyframes
Definition: httpd.c:603
vlc_accept
int vlc_accept(int lfd, struct sockaddr *addr, socklen_t *alen, bool nonblock)
Accepts an inbound connection request on a listening socket.
Definition: filesystem.c:333
httpd_ClientIP
char * httpd_ClientIP(const httpd_client_t *cl, char *ip, int *port)
Definition: httpd.c:1196
vlc_readdir
const char * vlc_readdir(DIR *dir)
Reads the next file name from an open directory.
Definition: filesystem.c:123
httpd_stream_t::i_buffer_size
int i_buffer_size
Definition: httpd.c:607
vlc_alloc
static void * vlc_alloc(size_t count, size_t size)
Definition: vlc_common.h:948
mdate
mtime_t mdate(void)
Precision monotonic clock.
Definition: thread.c:406
vlc_tls_ServerCreate
vlc_tls_creds_t * vlc_tls_ServerCreate(vlc_object_t *obj, const char *cert_path, const char *key_path)
Allocates server TLS credentials.
Definition: tls.c:86
vlc_tls_creds::handshake
int(* handshake)(struct vlc_tls_creds *, vlc_tls_t *session, const char *hostname, const char *service, char **alp)
Definition: vlc_tls.h:76
RUNNING_ON_VALGRIND
#define RUNNING_ON_VALGRIND
Definition: thread.c:156
InitMD5
void InitMD5(struct md5_s *h)
Definition: md5.c:335
httpd_stream_t::p_buffer
uint8_t * p_buffer
Definition: httpd.c:608
httpd_url_t::lock
vlc_mutex_t lock
Definition: httpd.c:109
SocksNegotiate
static int SocksNegotiate(vlc_object_t *, int fd, int i_socks_version, const char *psz_user, const char *psz_passwd)
Definition: tcp.c:325
httpd_HostThread
static void * httpd_HostThread(void *)
Definition: httpd.c:2045
VLC_STATIC_MUTEX
#define VLC_STATIC_MUTEX
Static initializer for (static) mutex.
Definition: vlc_threads.h:272
vlc_recv_i11e
static ssize_t vlc_recv_i11e(int fd, void *buf, size_t len, int flags)
Definition: vlc_interrupt.h:126
vlc_writev
ssize_t vlc_writev(int fd, const struct iovec *iov, int count)
Writes data from an iovec structure to a file descriptor.
Definition: filesystem.c:284
httpd_client_t::p_buffer
uint8_t * p_buffer
Definition: httpd.c:155
vlc_mime_Ext2Mime
const char * vlc_mime_Ext2Mime(const char *psz_url)
Definition: mime.c:89
NI_MAXNUMERICHOST
#define NI_MAXNUMERICHOST
Definition: vlc_network.h:188
FromCharset
char * FromCharset(const char *charset, const void *data, size_t data_size)
Converts a string from the given character encoding to utf-8.
Definition: unicode.c:235
HTTPD_CLIENT_SENDING
Definition: httpd.c:128
if_nametoindex
#define if_nametoindex(name)
Definition: vlc_fixups.h:436
vlc_tls_SocketAlloc
static vlc_tls_t * vlc_tls_SocketAlloc(int fd, const struct sockaddr *restrict peer, socklen_t peerlen)
Definition: tls.c:390
httpd_ClientRecv
static int httpd_ClientRecv(httpd_client_t *cl)
Definition: httpd.c:1269
vlc_mutex_lock
void vlc_mutex_lock(vlc_mutex_t *p_mutex)
Acquires a mutex.
Definition: thread.c:123
aout_VolumeUpdate
int aout_VolumeUpdate(audio_output_t *aout, int value, float *volp)
Raises the volume.
Definition: output.c:756
block_t
Definition: vlc_block.h:111
var_GetIfIndex
static unsigned var_GetIfIndex(vlc_object_t *obj)
Definition: udp.c:292
vlc_http_auth_t::i_nonce
int i_nonce
Definition: vlc_http.h:49
vlc_tls_SocketOpenTLS
vlc_tls_t * vlc_tls_SocketOpenTLS(vlc_tls_creds_t *creds, const char *name, unsigned port, const char *service, const char *const *alpn, char **alp)
Initiates a TLS session over TCP.
Definition: tls.c:626
msg_Err
#define msg_Err(p_this,...)
Definition: vlc_messages.h:82
httpd_RedirectNew
httpd_redirect_t * httpd_RedirectNew(httpd_host_t *host, const char *psz_url_dst, const char *psz_url_src)
Definition: httpd.c:550
vasprintf
int vasprintf(char **, const char *, va_list)
httpd::i_host
int i_host
Definition: httpd.c:899
httpd_MsgClean
static void httpd_MsgClean(httpd_message_t *msg)
Definition: httpd.c:1132
httpd_url_t
Definition: httpd.c:105
HTTPD_MSG_ANSWER
Definition: vlc_httpd.h:37
HTTPD_CL_BUFSIZE
#define HTTPD_CL_BUFSIZE
Definition: httpd.c:66
httpd_host_t::url
httpd_url_t ** url
Definition: httpd.c:94
net_ConnectDgram
int net_ConnectDgram(vlc_object_t *p_this, const char *psz_host, int i_port, int i_hlim, int proto)
Definition: udp.c:515
vlc_join
void vlc_join(vlc_thread_t handle, void **result)
Waits for a thread to complete (if needed), then destroys it.
Definition: thread.c:270
httpd_ClientNew
static httpd_client_t * httpd_ClientNew(vlc_tls_t *sock, mtime_t now)
Definition: httpd.c:1216
vlc_socket
int vlc_socket(int pf, int type, int proto, bool nonblock)
Creates a socket file descriptor.
Definition: filesystem.c:315
httpd_client_t::i_keyframe_wait_to_pass
int64_t i_keyframe_wait_to_pass
Definition: httpd.c:162
vlc_tls_SessionCreate
static vlc_tls_t * vlc_tls_SessionCreate(vlc_tls_creds_t *crd, vlc_tls_t *sock, const char *host, const char *const *alpn)
Definition: tls.c:140
i_port
uint16_t i_port
Definition: keystore.c:210
vlc_http_auth_t::psz_opaque
char * psz_opaque
Definition: vlc_http.h:45
mutex_cleanup_push
#define mutex_cleanup_push(lock)
Definition: vlc_threads.h:1013
net_AcceptSingle
int net_AcceptSingle(vlc_object_t *obj, int lfd)
Definition: tcp.c:239
p
#define p(t)
vlc_modules.h
httpd_message_t::i_version
uint8_t i_version
Definition: vlc_httpd.h:86
BLOCK_FLAG_TYPE_I
#define BLOCK_FLAG_TYPE_I
Intra frame.
Definition: vlc_block.h:68
ArtCacheCreateDir
static void ArtCacheCreateDir(const char *psz_dir)
Definition: art.c:40
vlc_cloexec
static void vlc_cloexec(int fd)
Definition: filesystem.c:52
net_SetMcastOut
static int net_SetMcastOut(vlc_object_t *p_this, int fd, int family, const char *iface)
Definition: udp.c:253
config_GetDataDir
char * config_GetDataDir(void)
Definition: dirs.c:94