Go to the documentation of this file.
21 #ifndef VLC_PLAYER_INTERNAL_H
22 #define VLC_PLAYER_INTERNAL_H
223 #define best_source sources[VLC_PLAYER_TIMER_TYPE_BEST]
224 #define smpte_source sources[VLC_PLAYER_TIMER_TYPE_SMPTE]
297 #define vlc_player_assert_locked(x) ((void) (0))
307 #define vlc_player_SendEvent(player, event, ...) do { \
308 vlc_player_listener_id *listener; \
309 vlc_list_foreach(listener, &player->listeners, node) \
311 if (listener->cbs->event) \
312 listener->cbs->event(player, ##__VA_ARGS__, listener->cbs_data); \
316 static inline const char *
323 case SPU_ES:
return "Subtitle";
324 default:
return NULL;
387 int title_offset,
int chapter_offset);
423 const char *str_ids);
465 bool es_source_is_master,
468 unsigned frame_rate,
unsigned frame_rate_base);
int i_buffer
Definition: httpd.c:154
void vlc_tls_ServerDelete(vlc_tls_server_t *crd)
Releases server-side TLS credentials.
Definition: tls.c:83
void vlc_player_destructor_AddJoinableInput(vlc_player_t *player, struct vlc_player_input *input)
Definition: player.c:181
audio_output_t * vlc_player_aout_Init(vlc_player_t *player)
Definition: aout.c:224
vlc_player_t * player
Definition: playlist.h:50
const char * name
Program name, always valid.
Definition: vlc_player.h:1179
#define VLC_VECTOR(type)
Vector struct body.
Definition: vlc_vector.h:65
httpd_host_t * vlc_http_HostNew(vlc_object_t *p_this)
Definition: httpd.c:889
char * vlc_player_GetCategoryLanguage(vlc_player_t *player, enum es_format_category_e cat)
Get the language of an ES category.
Definition: player.c:725
@ VLC_PLAYER_NAV_UP
Select a navigation item above or move the viewpoint up.
Definition: vlc_player.h:334
static void vlc_player_assert_seek_params(enum vlc_player_seek_speed speed, enum vlc_player_whence whence)
Definition: player.c:1375
int i_header
Definition: httpd.c:607
void vlc_mutex_init(vlc_mutex_t *mtx)
Initializes a fast mutex.
Definition: threads.c:123
int vlc_player_GetTimerPoint(vlc_player_t *player, vlc_tick_t system_now, vlc_tick_t *out_ts, float *out_pos)
Definition: timer.c:400
void vlc_player_Navigate(vlc_player_t *player, enum vlc_player_nav nav)
Navigate (for DVD/Bluray menus or viewpoint)
Definition: player.c:1554
char * psz_algorithm
Definition: vlc_http.h:47
httpd_host_t * host
Definition: httpd.c:108
ssize_t vlc_module_match(const char *capability, const char *names, bool strict, module_t ***restrict modules, size_t *restrict strict_matches)
Finds the candidate modules for given criteria.
Definition: modules.c:105
char * deinterlace
Definition: vlc_media_library.h:601
@ HTTPD_MSG_HEAD
Definition: vlc_httpd.h:41
struct vlc_player_title_list * vlc_player_GetTitleList(vlc_player_t *player)
Get the title list of the current media.
Definition: player.c:814
int64_t i_buffer_last_pos
Definition: httpd.c:621
vlc_tls_t * vlc_tls_ServerSessionCreate(vlc_tls_server_t *crd, vlc_tls_t *sock, const char *const *alpn)
Creates a TLS server session.
Definition: tls.c:205
@ VLC_PLAYER_MEDIA_STOPPED_STOP
Stop, even if there is a next media to play.
Definition: vlc_player.h:102
#define AI_IDN
Definition: vlc_network.h:280
vlc_mutex_t vout_listeners_lock
Definition: player.h:233
size_t count
Definition: core.c:401
size_t size
Definition: player.h:46
void vlc_player_SelectTitle(vlc_player_t *player, const struct vlc_player_title *title)
Select a title for the current media.
Definition: player.c:852
vlc_renderer_item_t * vlc_renderer_item_hold(vlc_renderer_item_t *p_item)
Hold a renderer item, i.e.
Definition: renderer_discovery.c:158
@ VLC_PLAYER_MEDIA_STOPPED_PAUSE
Pause when reaching the end of file.
Definition: vlc_player.h:100
int * fds
Definition: httpd.c:84
static ssize_t vlc_send_i11e(int fd, const void *buf, size_t len, int flags)
Definition: vlc_interrupt.h:131
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:317
void vlc_player_osd_Program(vlc_player_t *player, const char *name)
Definition: osd.c:245
void * data
Definition: player.h:179
int() var_Create(vlc_object_t *p_this, const char *psz_name, int i_type)
Creates a VLC object variable.
Definition: variables.c:291
#define net_ListenTCP(a, b, c)
Definition: vlc_network.h:179
static vlc_es_id_t ** vlc_player_GetEsIdList(vlc_player_t *player, const enum es_format_category_e cat, vlc_es_id_t *id)
Definition: player.c:520
@ VIDEO_ES
Definition: vlc_es.h:603
vlc_thread_t thread
Definition: player.h:272
uint8_t * p_body
Definition: vlc_httpd.h:104
void vlc_player_osd_Track(vlc_player_t *player, vlc_es_id_t *id, bool select)
Definition: osd.c:190
Player vout callbacks.
Definition: vlc_player.h:2512
httpd_callback_t cb
Definition: httpd.c:118
In-memory stream object.
Definition: vlc_memstream.h:41
enum vlc_player_state vlc_player_GetState(vlc_player_t *player)
Get the state of the player.
Definition: player.c:1261
void vlc_player_RemoveTimerSource(vlc_player_t *player, vlc_es_id_t *es_source)
Definition: timer.c:383
void * cbs_data
Definition: player.h:151
Definition: vlc_httpd.h:80
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
Definition: playlist.h:48
char * crop
Definition: vlc_media_library.h:600
#define vlc_cleanup_push(routine, arg)
Registers a thread cancellation handler.
Definition: vlc_threads.h:1010
int64_t i_last_keyframe_seen_pos
Definition: httpd.c:615
@ OSD_PAUSE_ICON
Definition: vlc_vout_osd.h:48
struct vlc_list stopping_inputs
Definition: player.h:276
void vlc_player_RestartEsId(vlc_player_t *player, vlc_es_id_t *id)
Restart a track from an ES identifier.
Definition: player.c:697
static bool var_InheritBool(vlc_object_t *obj, const char *name)
Definition: vlc_variables.h:675
enum vlc_player_media_stopped_action media_stopped_action
Definition: player.h:236
char * video_filter
Definition: vlc_media_library.h:602
void vlc_player_SetSubtitleTextScale(vlc_player_t *player, unsigned scale)
Set the subtitle text scaling factor.
Definition: player.c:1769
vlc_player_media_stopped_action
Action when the player is stopped.
Definition: vlc_player.h:96
void vlc_http_auth_Deinit(vlc_http_auth_t *p_auth)
Definition: http_auth.c:473
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:367
void vlc_player_osd_Tracks(vlc_player_t *player, vlc_es_id_t *const *selected, vlc_es_id_t *unselect)
Definition: osd.c:204
#define VOUT_SPU_CHANNEL_OSD
Definition: vlc_vout.h:128
static size_t httpd_HtmlError(char **body, int code, const char *url)
Definition: httpd.c:262
vlc_tls_client_t * vlc_tls_ClientCreate(vlc_object_t *obj)
Allocates TLS client-side credentials.
Definition: tls.c:93
void vlc_player_SeekByTime(vlc_player_t *player, vlc_tick_t time, enum vlc_player_seek_speed speed, enum vlc_player_whence whence)
Seek the current media by time.
Definition: player.c:1423
bool vlc_playlist_ComputeHasNext(vlc_playlist_t *playlist)
Definition: control.c:300
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:117
int strcasecmp(const char *, const char *)
struct vlc_list node
Definition: player.h:159
static int net_SetDSCP(int fd, uint8_t dscp)
Definition: udp.c:483
void vlc_player_SelectPrevTrack(vlc_player_t *player, enum es_format_category_e cat)
Select the Previous track.
Definition: player.c:669
static const struct vlc_player_media_provider player_media_provider
Definition: player.c:123
const struct vlc_tls_server_operations * ops
Definition: vlc_tls.h:221
enum vlc_player_abloop vlc_player_GetAtoBLoop(vlc_player_t *player, vlc_tick_t *a_time, float *a_pos, vlc_tick_t *b_time, float *b_pos)
Get the A to B loop status.
Definition: player.c:1531
vlc_tick_t vlc_player_GetTime(vlc_player_t *player)
Get the time of the current media.
Definition: player.c:1356
#define VLC_VAR_GETCHOICES
Definition: vlc_variables.h:99
void vlc_player_osd_Volume(vlc_player_t *player, bool mute_action)
Definition: osd.c:170
void vlc_player_IncrementRate(vlc_player_t *player)
Increment the rate of the player (faster)
Definition: player.c:1337
void vlc_player_osd_Program(vlc_player_t *player, const char *name)
Definition: osd.c:245
void(* close)(struct vlc_tls *)
Callback for closing.
Definition: vlc_tls.h:123
float position
Position in the range [0.0f;1.0].
Definition: vlc_player.h:3259
bool deleting
Definition: player.h:269
void vlc_rand_bytes(void *buf, size_t len)
Definition: rand.c:28
int vlc_player_SetEsIdDelay(vlc_player_t *player, vlc_es_id_t *es_id, vlc_tick_t delay, enum vlc_player_whence whence)
Set the delay of one track.
Definition: player.c:1680
const struct vlc_player_vout_cbs * cbs
Definition: player.h:150
char * ptr
Buffer start address.
Definition: vlc_memstream.h:48
static int SocksHandshakeTCP(vlc_object_t *p_obj, int fd, int i_socks_version, const char *psz_user, const char *psz_passwd, const char *psz_host, int i_port)
Definition: tcp.c:144
struct vlc_player_track_priv * vlc_player_track_priv_New(vlc_es_id_t *id, const char *name, const es_format_t *fmt)
Definition: track.c:106
vlc_thread_t thread
Definition: httpd.c:88
vlc_player_error
Error of the player.
Definition: vlc_player.h:289
struct vlc_player_title array[]
Definition: player.h:53
vlc_player_listener_id * vlc_player_AddListener(vlc_player_t *player, const struct vlc_player_cbs *cbs, void *cbs_data)
Add a listener callback.
Definition: player.c:970
#define AuthGetParamNoQuotes(HEADER, PARAM)
Definition: http_auth.c:64
#define unlikely(p)
Predicted false condition.
Definition: vlc_common.h:227
void() var_DelCallback(vlc_object_t *p_this, const char *psz_name, vlc_callback_t pf_callback, void *p_data)
Deregisters a callback from a variable.
Definition: variables.c:854
const char * vlc_ngettext(const char *msgid, const char *plural, unsigned long n)
Definition: textdomain.c:88
void vlc_playlist_state_NotifyChanges(vlc_playlist_t *playlist, struct vlc_playlist_state *saved_state)
Definition: notify.c:91
vlc_tick_t last_update_date
Definition: player.h:172
bool selected
True if the program is selected.
Definition: vlc_player.h:1181
float aout_VolumeGet(audio_output_t *aout)
Gets the volume of the audio output stream (independent of mute).
Definition: output.c:645
void vlc_player_osd_Icon(vlc_player_t *player, short type)
Definition: osd.c:109
unsigned df_fps
Definition: player.h:196
unsigned frame_rate
Definition: player.h:193
struct vlc_object_t obj
Definition: httpd.c:77
unsigned long last_framenum
Definition: player.h:192
#define SOL_IPV6
Definition: udp.c:65
Definition: vlc_http.h:40
Player title structure.
Definition: vlc_player.h:956
struct vlc_player_listener_id * player_listener
Definition: playlist.h:54
@ VLC_PLAYER_RESTORE_PLAYBACK_POS_ASK
Definition: vlc_player.h:380
@ VLC_PLAYER_LOCK_NORMAL
Normal lock.
Definition: vlc_player.h:79
void(* destroy)(struct vlc_tls_server *)
Definition: vlc_tls.h:231
int i_status
Definition: vlc_httpd.h:89
static void vlc_player_aout_AddCallbacks(vlc_player_t *player)
Definition: aout.c:196
struct vlc_object_internals * priv
Definition: vlc_objects.h:47
#define VLC_VAR_DOINHERIT
Creation flag.
Definition: vlc_variables.h:69
Player aout callbacks.
Definition: vlc_player.h:2285
#define VLC_THREAD_PRIORITY_LOW
Definition: vlc_threads.h:207
bool started
Definition: player.h:265
const struct vlc_player_program * vlc_player_GetProgram(vlc_player_t *player, int id)
Get a program from an ES group identifier.
Definition: player.c:279
@ HTTPD_MSG_ANSWER
Definition: vlc_httpd.h:37
void * media_provider_data
Definition: player.h:240
static bool net_SockAddrIsMulticast(const struct sockaddr *addr, socklen_t len)
Definition: vlc_network.h:297
int group_id
Id used for vlc_player_SelectProgram()
Definition: vlc_player.h:1177
#define vlc_mutex_assert(m)
Asserts that a mutex is locked by the calling thread.
Definition: vlc_threads.h:328
vlc_player_select_policy
Player selection policy.
Definition: vlc_player.h:1308
void vlc_player_SelectCategoryLanguage(vlc_player_t *player, enum es_format_category_e cat, const char *lang)
Select the language for an ES category.
Definition: player.c:706
static int net_Subscribe(vlc_object_t *obj, int fd, const struct sockaddr *addr, socklen_t addrlen)
Definition: udp.c:399
size_t i_buffer
Payload length.
Definition: vlc_block.h:122
int vlc_player_aout_IsMuted(vlc_player_t *player)
Check if the audio output is muted.
Definition: aout.c:159
int httpd_StreamSetHTTPHeaders(httpd_stream_t *p_stream, const httpd_header *p_headers, size_t i_headers)
Definition: httpd.c:2065
struct vlc_list clients
Definition: httpd.c:98
void vlc_player_osd_Message(vlc_player_t *player, const char *fmt,...)
Display an OSD message on all vouts.
Definition: osd.c:89
static httpd_client_t * httpd_ClientNew(vlc_tls_t *sock)
Definition: httpd.c:1229
static const char * httpd_ReasonFromCode(unsigned i_code)
Definition: httpd.c:182
struct vlc_logger * logger
Definition: vlc_objects.h:45
char * psz_nonce
Definition: vlc_http.h:44
#define vlc_player_foreach_inputs(it)
Definition: player.c:50
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:357
void httpd_RedirectDelete(httpd_redirect_t *rdir)
Definition: httpd.c:587
void vlc_player_osd_Icon(vlc_player_t *player, short type)
Definition: osd.c:109
#define VLC_PLAYER_CAP_PAUSE
Player capability: can pause.
Definition: vlc_player.h:360
#define net_Connect(a, b, c, d, e)
Definition: vlc_network.h:175
int fd
Definition: vlc_fixups.h:419
void vlc_player_SelectNextTitle(vlc_player_t *player)
Select the next title for the current media.
Definition: player.c:871
@ VLC_PLAYER_STATE_STARTED
The player is started.
Definition: vlc_player.h:258
vlc_tick_t vlc_player_GetCategoryDelay(vlc_player_t *player, enum es_format_category_e cat)
Get the delay of an ES category for the current media.
Definition: player.c:1667
httpd_file_callback_t pf_fill
Definition: httpd.c:304
static int httpd_ClientSend(httpd_client_t *cl)
Definition: httpd.c:1573
static void vlc_player_assert_locked(vlc_player_t *player)
Definition: player.h:291
ssize_t vlc_player_GetSelectedChapterIdx(vlc_player_t *player)
Get the selected chapter index for the current media.
Definition: player.c:895
httpd_message_t answer
Definition: httpd.c:166
struct vlc_list aout_listeners
Definition: player.h:247
@ DATA_ES
Definition: vlc_es.h:606
input_item_t * vlc_player_GetCurrentMedia(vlc_player_t *player)
Get the current played media.
Definition: player.c:1043
#define CMSG_LEN(len)
Definition: rootbind.c:60
static void vlc_list_init(struct vlc_list *restrict head)
Initializes an empty list head.
Definition: vlc_list.h:57
vlc_player_timer_state
Definition: player.h:203
const char sout_var[sizeof("sout-video")]
Definition: player.c:1733
struct vlc_list metadata_listeners
Definition: player.h:246
int vlc_player_aout_SetVolume(vlc_player_t *player, float volume)
Set the audio volume.
Definition: aout.c:135
int vlc_player_Stop(vlc_player_t *player)
Stop the playback of the current media.
Definition: player.c:1185
unsigned vlc_player_SelectEsIdList(vlc_player_t *player, enum es_format_category_e cat, vlc_es_id_t *const es_id_list[])
Select multiple tracks from a list of ES identifiers.
Definition: player.c:446
static char * AuthGetParamNoQuotesConcat(const char *psz_header, const char *psz_what)
Definition: http_auth.c:65
#define CMSG_SPACE(len)
Definition: rootbind.c:57
char * psz_cnonce
Definition: vlc_http.h:50
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:117
int() net_Connect(vlc_object_t *obj, const char *host, int serv, int type, int proto)
Definition: io.c:119
void vlc_player_SetTrackCategoryEnabled(vlc_player_t *player, enum es_format_category_e cat, bool enabled)
Enable or disable a track category.
Definition: player.c:1741
char * vlc_dlerror(void)
Formats an error message for vlc_dlopen() or vlc_dlsym().
Definition: plugin.c:65
static int vlc_tls_GetPollFD(vlc_tls_t *tls, short *events)
Generates an event polling description.
Definition: vlc_tls.h:314
unsigned frame_rate_base
Definition: player.h:194
char * httpd_ServerIP(const httpd_client_t *cl, char *ip, int *port)
Definition: httpd.c:1213
const char * httpd_MsgGet(const httpd_message_t *msg, const char *name)
Definition: httpd.c:1172
Definition: vlc_fixups.h:417
int vlc_spawnp(pid_t *pid, const char *path, const int *fds, const char *const *args)
Spawn a child process.
Definition: missing.c:299
static const char * es_format_category_to_string(enum es_format_category_e cat)
Definition: player.h:317
vlc_tls_server_t * vlc_tls_ServerCreate(vlc_object_t *obj, const char *cert_path, const char *key_path)
Allocates server TLS credentials.
Definition: tls.c:50
char * psz_stale
Definition: vlc_http.h:46
vlc_tick_t input_normal_time
Definition: player.h:218
static char * var_GetNonEmptyString(vlc_object_t *p_obj, const char *psz_name)
Definition: vlc_variables.h:447
void * p_address
Definition: vlc_common.h:463
void vlc_player_SelectProgram(vlc_player_t *player, int id)
Select a program from an ES group identifier.
Definition: player.c:292
int() vlc_memstream_puts(struct vlc_memstream *ms, const char *str)
Appends a nul-terminated string to a byte stream.
Definition: memstream.c:156
vlc_tick_t vlc_player_input_GetTime(struct vlc_player_input *input)
Definition: input.c:62
void vlc_player_aout_Deinit(vlc_player_t *player)
Definition: aout.c:236
@ VLC_VOUT_ORDER_PRIMARY
There is only one primary vout/spu_channel For vouts: this is the first vout, probably embedded in th...
Definition: vlc_vout.h:78
char * sub_string_ids
Definition: player.h:262
void() var_AddCallback(vlc_object_t *p_this, const char *psz_name, vlc_callback_t pf_callback, void *p_data)
Registers a callback for a variable.
Definition: variables.c:801
char mime[1]
Definition: httpd.c:306
@ VLC_PLAYER_STATE_PLAYING
The player is playing.
Definition: vlc_player.h:266
void vout_OSDSlider(vout_thread_t *vout, int channel, int position, short type)
Display a slider on the video output.
Definition: video_widgets.c:330
struct vlc_list listeners
Definition: player.h:245
void vlc_cond_wait(vlc_cond_t *cond, vlc_mutex_t *mutex)
Waits on a condition variable.
Definition: threads.c:340
#define VLC_VAR_BOOL
Definition: vlc_variables.h:49
vlc_object_t * vlc_player_GetObject(vlc_player_t *player)
Definition: player.c:2036
void vlc_player_destructor_AddStoppingInput(vlc_player_t *player, struct vlc_player_input *input)
Definition: player.c:167
@ HTTPD_PROTO_RTSP
Definition: vlc_httpd.h:61
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
int vlc_player_GetFirstSelectedTrackId(const vlc_player_track_vector *tracks)
Definition: track.c:212
int httpd_StreamHeader(httpd_stream_t *stream, uint8_t *p_data, int i_data)
Definition: httpd.c:811
void vlc_player_destructor_AddJoinableInput(vlc_player_t *player, struct vlc_player_input *input)
Definition: player.c:181
#define MS_FROM_VLC_TICK(vtk)
Definition: vlc_tick.h:123
Transport layer socket.
Definition: vlc_tls.h:65
void vlc_UrlClean(vlc_url_t *restrict url)
Definition: url.c:598
struct vlc_tls * p
Reserved.
Definition: vlc_tls.h:70
static char * GenerateCnonce()
Definition: http_auth.c:85
struct vlc_player_program * vlc_player_program_vector_FindById(vlc_player_program_vector *vec, int id, size_t *idx)
Definition: track.c:89
Player smpte timer callbacks.
Definition: vlc_player.h:3341
@ HTTPD_CLIENT_RECEIVING
Definition: httpd.c:126
void vout_Release(vout_thread_t *vout)
Definition: video_output.c:1906
#define msg_Dbg(p_this,...)
Definition: vlc_messages.h:106
void vlc_player_SetRenderer(vlc_player_t *player, vlc_renderer_item_t *renderer)
Set the renderer.
Definition: player.c:1447
@ VLC_PLAYER_TIMER_STATE_DISCONTINUITY
Definition: player.h:207
char * vlc_getProxyUrl(const char *url)
Determines the network proxy server to use (if any).
Definition: netconf.c:33
static ssize_t httpd_NetRecv(httpd_client_t *cl, uint8_t *p, size_t i_len)
Definition: httpd.c:1250
unsigned timeout_sec
Definition: httpd.c:99
void vlc_player_osd_Position(vlc_player_t *player, struct vlc_player_input *input, vlc_tick_t time, float position, enum vlc_player_whence whence)
Definition: osd.c:120
static void vlc_player_osd_ReleaseAll(vlc_player_t *player, vout_thread_t **vouts, size_t count)
Definition: osd.c:48
int vlc_player_Start(vlc_player_t *player)
Start the playback of the current media.
Definition: player.c:1136
#define _(str)
Definition: vlc_fixups.h:374
char * psz_password
Definition: vlc_url.h:149
input_item_t * media
Definition: item.h:31
#define vlc_hash_FinishHex(ctx, output)
Finish hash computation and return hex representation.
Definition: vlc_hash.h:61
static void httpd_AppendData(httpd_stream_t *stream, uint8_t *p_data, int i_data)
Definition: httpd.c:827
Player track structure.
Definition: vlc_player.h:1334
vlc_tls_t * vlc_tls_ClientSessionCreate(vlc_tls_client_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:149
static const struct @98 msg_type[]
int poll(struct pollfd *, unsigned, int)
static char * var_InheritString(vlc_object_t *obj, const char *name)
Definition: vlc_variables.h:705
vlc_object_t * vlc_player_GetV4l2Object(vlc_player_t *player)
Get the V4L2 object used to do controls.
Definition: player.c:1850
void vlc_player_RestorePlaybackPos(vlc_player_t *player)
Restore the previous playback position of the current media.
Definition: medialib.c:294
vlc_atomic_rc_t rc
Definition: player.h:51
void vlc_player_InvalidateNextMedia(vlc_player_t *player)
Invalidate the next media.
Definition: player.c:1123
@ VLC_PLAYER_NAV_ACTIVATE
Activate the navigation item selected.
Definition: vlc_player.h:332
struct vlc_list hosts
Definition: httpd.c:927
Viewpoints.
Definition: vlc_viewpoint.h:41
#define FromLocaleDup
Definition: vlc_charset.h:318
static int vlc_tls_SessionHandshake(vlc_tls_server_t *crd, vlc_tls_t *tls)
Definition: vlc_tls.h:247
#define VLC_EGENERIC
Unspecified error.
Definition: vlc_common.h:474
static void cleanup_tls(void *data)
Definition: tls.c:142
#define VLC_VAR_ADDRESS
Definition: vlc_variables.h:53
int vlc_memstream_open(struct vlc_memstream *ms)
Initializes a byte stream object.
Definition: memstream.c:105
uint8_t i_type
Definition: vlc_httpd.h:84
#define ARRAY_SIZE(x)
Definition: vlc_arrays.h:178
int() var_SetChecked(vlc_object_t *p_this, const char *psz_name, int expected_type, vlc_value_t val)
Definition: variables.c:676
vlc_tls_t * vlc_tls_SocketOpenTLS(vlc_tls_client_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:217
int vlc_memstream_close(struct vlc_memstream *ms)
Closes a byte stream object.
Definition: memstream.c:120
#define VLC_VAR_INTEGER
Definition: vlc_variables.h:50
#define VLC_VAR_STRING
Definition: vlc_variables.h:51
static char * getenv(const char *name)
Definition: vlc_fixups.h:292
static void * vlc_player_destructor_Thread(void *data)
Definition: player.c:199
Audio meter plugin owner structure.
Definition: vlc_aout.h:594
unsigned vlc_player_SelectEsId(vlc_player_t *player, vlc_es_id_t *id, enum vlc_player_select_policy policy)
Select a track from an ES identifier.
Definition: player.c:560
Doubly-linked list node.
Definition: vlc_list.h:43
#define VLC_VAR_FLOAT
Definition: vlc_variables.h:52
@ VLC_PLAYER_NAV_RIGHT
Select a navigation item on the right or move the viewpoint right.
Definition: vlc_player.h:340
struct vlc_player_title_list * vlc_player_title_list_Create(input_title_t *const *array, size_t count, int title_offset, int chapter_offset)
Definition: title.c:98
void vlc_renderer_item_release(vlc_renderer_item_t *p_item)
Releases a renderer item, i.e.
Definition: renderer_discovery.c:167
void vlc_player_DestroyTimer(vlc_player_t *player)
Definition: timer.c:546
struct vlc_player_track_priv ** data
Definition: player.h:46
@ HTTPD_MSG_DESCRIBE
Definition: vlc_httpd.h:46
static int net_SetMcastHopLimit(vlc_object_t *p_this, int fd, int family, int hlim)
Definition: udp.c:206
const char * vlc_gettext(const char *msgid)
In-tree plugins share their gettext domain with LibVLC.
Definition: textdomain.c:79
#define VLC_STATIC_MUTEX
Static initializer for (static) mutex.
Definition: vlc_threads.h:249
const struct vlc_player_track * vlc_player_GetTrackAt(vlc_player_t *player, enum es_format_category_e cat, size_t index)
Get the track at a specific index for an ES category.
Definition: player.c:367
static void on_player_media_meta_changed(vlc_player_t *player, input_item_t *media, void *userdata)
Definition: player.c:76
void vlc_player_SelectTeletextPage(vlc_player_t *player, unsigned page)
Select a teletext page or do an action from a key.
Definition: player.c:754
bool vlc_mutex_held(const vlc_mutex_t *mtx)
Checks if a mutex is locked.
Definition: threads.c:136
vlc_mutex_t metadata_listeners_lock
Definition: player.h:231
const char * name
Track name, always valid.
Definition: vlc_player.h:1339
static void httpd_MsgInit(httpd_message_t *msg)
Definition: httpd.c:1139
static struct @101 cat2vars[]
void() var_Destroy(vlc_object_t *p_this, const char *psz_name)
Destroys a VLC object variable.
Definition: variables.c:382
static void vouts_osd_Slider(vout_thread_t **vouts, size_t count, int position, short type)
Definition: osd.c:80
char * psz_url
Definition: vlc_httpd.h:92
static void vouts_osd_Message(vout_thread_t **vouts, size_t count, const char *fmt,...)
Definition: osd.c:58
static bool vlc_player_destructor_IsEmpty(vlc_player_t *player)
Definition: player.c:191
httpd_header * p_http_headers
Definition: httpd.c:625
int asprintf(char **, const char *,...)
audio_output_t * vlc_player_aout_Init(vlc_player_t *player)
Definition: aout.c:224
bool selected_by_user
Definition: player.h:58
void vlc_player_ChangeRate(vlc_player_t *player, float rate)
Change the rate of the player.
Definition: player.c:1292
vlc_player_lock_type
Player lock type (normal or reentrant)
Definition: vlc_player.h:71
int() var_Change(vlc_object_t *p_this, const char *psz_name, int i_action,...)
Performs a special action on a variable.
Definition: variables.c:423
void vlc_cond_signal(vlc_cond_t *cond)
Wakes up one thread waiting on a condition variable.
Definition: threads.c:253
void * vlc_module_map(vlc_logger_t *log, module_t *module)
Maps a module in memory.
Definition: modules.c:185
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:288
int64_t i_int
Definition: vlc_common.h:459
void randomizer_Select(struct randomizer *r, const vlc_playlist_item_t *item)
Force the selection of a specific item.
Definition: randomizer.c:469
short revents
Definition: vlc_fixups.h:421
int net_OpenDgram(vlc_object_t *obj, const char *psz_bind, unsigned i_bind, const char *psz_server, unsigned i_server, int protocol)
Definition: udp.c:607
@ VLC_PLAYER_NAV_DOWN
Select a navigation item under or move the viewpoint down.
Definition: vlc_player.h:336
httpd_url_t * url
Definition: httpd.c:408
#define VLC_LIST_INITIALIZER(h)
Static initializer for a list head.
Definition: vlc_list.h:52
httpd_url_t * url
Definition: httpd.c:527
Mutex.
Definition: vlc_threads.h:225
unsigned nfd
Definition: httpd.c:85
void vlc_player_vout_AddCallbacks(vlc_player_t *player, vout_thread_t *vout)
Definition: vout.c:140
struct vlc_list node
Definition: player.h:152
char * strndup(const char *, size_t)
@ VLC_PLAYLIST_PLAYBACK_ORDER_RANDOM
Definition: vlc_playlist.h:126
#define MSTRTIME_MAX_SIZE
Definition: vlc_tick.h:198
void vlc_player_DisplayPosition(vlc_player_t *player)
Display the player position on the vout OSD.
Definition: player.c:1386
static int net_ListenSingle(vlc_object_t *obj, const char *host, unsigned port, int protocol)
Definition: udp.c:146
#define net_errno
Definition: vlc_network.h:56
void aout_Release(audio_output_t *aout)
Definition: output.c:382
vlc_tls_t * vlc_tls_SocketOpen(int fd)
Creates a transport-layer stream from a socket.
Definition: stream.c:252
@ VLC_PLAYER_ABLOOP_B
Definition: vlc_player.h:354
vlc_tls_t * vlc_tls_SocketOpenAddrInfo(const struct addrinfo *restrict info, bool defer_connect)
Definition: stream.c:408
int aout_MuteSet(audio_output_t *aout, bool mute)
Sets the audio output stream mute flag.
Definition: output.c:706
@ VLC_PLAYER_ERROR_NONE
Definition: vlc_player.h:291
vout_thread_t * vout
Definition: player.h:53
static void httpdLoop(httpd_host_t *host)
Definition: httpd.c:1705
enum vlc_player_state global_state
Definition: player.h:264
void vlc_player_PrepareNextMedia(vlc_player_t *player)
Definition: player.c:54
#define net_Close(fd)
Definition: vlc_network.h:57
es_format_category_e
ES Categories.
Definition: vlc_es.h:600
static bool httpdAuthOk(const char *user, const char *pass, const char *b64)
Definition: httpd.c:1665
vlc_object_t * parent
Parent object (or NULL)
Definition: variables.h:37
int vlc_clone(vlc_thread_t *th, void *(*entry)(void *), void *data, int priority)
Creates and starts a new thread.
Definition: thread.c:144
void vlc_player_UpdateMLStates(vlc_player_t *player, struct vlc_player_input *input)
Definition: medialib.c:170
float vlc_player_GetPosition(vlc_player_t *player)
Get the position of the current media.
Definition: player.c:1367
void vlc_hash_md5_Init(vlc_hash_md5_t *ctx)
Initialize MD5 context.
Definition: md5.c:338
void vlc_tls_ClientDelete(vlc_tls_client_t *crd)
Releases TLS client-side credentials.
Definition: tls.c:122
#define LocaleFree(s)
Definition: vlc_charset.h:317
int i_buffer_size
Definition: httpd.c:153
int vlc_waitpid(pid_t pid)
Waits for a child process.
Definition: missing.c:307
float vlc_player_input_GetPos(struct vlc_player_input *input)
Definition: input.c:74
@ VLC_PLAYER_WHENCE_RELATIVE
The current position +/- the given time/position.
Definition: vlc_player.h:321
int i_proto
Definition: httpd.c:1270
vlc_http_cookie_jar_t * vlc_http_cookies_new(void)
Definition: httpcookies.c:271
void vlc_tls_SessionDelete(vlc_tls_t *session)
Destroys a TLS session.
Definition: tls.c:135
vlc_player_t * vlc_playlist_GetPlayer(vlc_playlist_t *playlist)
Return the player owned by the playlist.
Definition: player.c:168
bool has_prev
Definition: playlist.h:58
#define msg_Warn(p_this,...)
Definition: vlc_messages.h:104
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:308
Audio output object.
Definition: vlc_aout.h:141
bool b_bool
Definition: vlc_common.h:460
vlc_es_id_t * vlc_player_GetEsIdFromVout(vlc_player_t *player, vout_thread_t *vout)
Get the ES identifier of a video output.
Definition: player.c:420
#define VOUT_SPU_CHANNEL_OSD_VSLIDER
Definition: vlc_vout.h:130
vlc_player_aout_listener_id * vlc_player_aout_AddListener(vlc_player_t *player, const struct vlc_player_aout_cbs *cbs, void *cbs_data)
Add a listener callback for audio output events.
Definition: aout.c:50
static int SocksNegotiate(vlc_object_t *p_obj, int fd, int i_socks_version, const char *psz_socks_user, const char *psz_socks_passwd)
Definition: tcp.c:44
void vlc_player_SetRecordingEnabled(vlc_player_t *player, bool enable)
Enable or disable recording for the current media.
Definition: player.c:1618
vlc_mutex_t lock
Definition: player.h:230
static struct vlc_player_track_priv * vlc_player_GetPrivTrack(vlc_player_t *player, vlc_es_id_t *id)
Definition: player.c:382
static struct vlc_player_input * vlc_player_get_input_locked(vlc_player_t *player)
Definition: player.h:301
@ HTTPD_MSG_PLAY
Definition: vlc_httpd.h:48
size_t i_http_headers
Definition: httpd.c:624
#define vlc_assert_unreachable()
Impossible branch assertion.
Definition: vlc_common.h:253
void vlc_mutex_init_recursive(vlc_mutex_t *mtx)
Initializes a recursive mutex.
Definition: threads.c:128
int vlc_player_vout_OSDCallback(vlc_object_t *this, const char *var, vlc_value_t oldval, vlc_value_t newval, void *data)
Definition: osd.c:281
const struct input_stats_t * vlc_player_GetStatistics(vlc_player_t *player)
Get the statistics of the current media.
Definition: player.c:1797
static char * var_GetString(vlc_object_t *p_obj, const char *psz_name)
Get a string value.
Definition: vlc_variables.h:437
#define SEC_FROM_VLC_TICK(vtk)
Definition: vlc_tick.h:53
vlc_mutex_t lock
Definition: player.h:212
int aout_EnableFilter(audio_output_t *p_aout, const char *psz_name, bool b_add)
Enable or disable an audio filter ("audio-filter")
Definition: common.c:539
void vlc_player_Unlock(vlc_player_t *player)
Unlock the player.
Definition: player.c:957
void * p_sys
Definition: httpd.c:411
int net_Socket(vlc_object_t *p_this, int family, int socktype, int protocol)
Definition: io.c:65
@ HTTPD_MSG_PAUSE
Definition: vlc_httpd.h:49
void vlc_player_SetMediaStoppedAction(vlc_player_t *player, enum vlc_player_media_stopped_action action)
Setup an action when a media is stopped.
Definition: player.c:1203
httpd_url_t * httpd_UrlNew(httpd_host_t *host, const char *psz_url, const char *psz_user, const char *psz_password)
Definition: httpd.c:1042
int vlc_savecancel(void)
Disables thread cancellation.
Definition: thread.c:183
void vlc_player_SetAssociatedSubsFPS(vlc_player_t *player, float fps)
Set the associated subtitle FPS.
Definition: player.c:1104
static bool vlc_player_CanSeek(vlc_player_t *player)
Helper to get the seek capability.
Definition: vlc_player.h:573
bool releasing_media
Definition: player.h:256
@ OSD_VERT_SLIDER
Definition: vlc_vout_osd.h:53
Player program structure.
Definition: vlc_player.h:1174
#define AI_NUMERICSERV
Definition: vlc_network.h:277
#define MSG_NOSIGNAL
Definition: rootbind.c:66
void vlc_player_SelectTracksByStringIds(vlc_player_t *player, enum es_format_category_e cat, const char *str_ids)
Select tracks by their string identifier.
Definition: player.c:587
void vlc_playlist_PlayerDestroy(vlc_playlist_t *playlist)
Definition: player.c:158
#define VLC_PLAYER_TITLE_INTERACTIVE
vlc_player_title.flags: The title is interactive.
Definition: vlc_player.h:953
static int cmp_code(const void *k, const void *e)
Definition: httpd.c:174
@ VLC_LOCALE_DIR
Base directory for package read-only locale data.
Definition: vlc_configuration.h:288
static int var_SetString(vlc_object_t *p_obj, const char *psz_name, const char *psz_string)
Set the value of a string variable.
Definition: vlc_variables.h:345
#define VLC_PLAYER_CAP_REWIND
Player capability: can seek back.
Definition: vlc_player.h:364
vlc_tick_t vlc_tick_now(void)
Precision monotonic clock.
Definition: thread.c:261
char * current_subtitle_track
Definition: vlc_media_library.h:598
static void vlc_player_destructor_AddInput(vlc_player_t *player, struct vlc_player_input *input)
Definition: player.c:142
#define VAR_CREATE(var, flag)
void vlc_player_SelectNextProgram(vlc_player_t *player)
Select the next program.
Definition: player.c:342
@ HTTPD_MSG_GETPARAMETER
Definition: vlc_httpd.h:50
FILE * stream
Definition: vlc_memstream.h:45
size_t vlc_player_GetTrackCount(vlc_player_t *player, enum es_format_category_e cat)
Get the number of tracks for an ES category.
Definition: player.c:354
const struct vlc_player_program * vlc_player_GetProgramAt(vlc_player_t *player, size_t index)
Get the program at a specific index.
Definition: player.c:267
void vlc_playlist_Stop(vlc_playlist_t *playlist)
Stop the player.
Definition: player.c:180
int i_type
Definition: httpd.c:1269
void vlc_player_SeekByPos(vlc_player_t *player, float position, enum vlc_player_seek_speed speed, enum vlc_player_whence whence)
Seek the current media by position.
Definition: player.c:1398
void httpd_MsgAdd(httpd_message_t *msg, const char *name, const char *psz_value,...)
Definition: httpd.c:1180
@ HTTPD_MSG_GET
Definition: vlc_httpd.h:40
vlc_player_t * vlc_player_New(vlc_object_t *parent, enum vlc_player_lock_type lock_type, const struct vlc_player_media_provider *media_provider, void *media_provider_data)
Create a new player instance.
Definition: player.c:1921
int vlc_UrlParse(vlc_url_t *url, const char *str)
Parses an URI or IRI.
Definition: url.c:558
ssize_t current
Definition: playlist.h:57
Internal module descriptor.
Definition: modules.h:78
vlc_cond_t wait
Definition: player.h:273
char * psz_user
Definition: httpd.c:113
int vlc_player_SetCurrentMedia(vlc_player_t *player, input_item_t *media)
Set the current media.
Definition: player.c:1000
void vlc_player_Pause(vlc_player_t *player)
Pause the playback.
Definition: player.c:1237
struct httpd_callback_sys_t httpd_callback_sys_t
Definition: vlc_httpd.h:109
unsigned vlc_player_GetTeletextPage(vlc_player_t *player)
Get the current teletext page.
Definition: player.c:800
struct vlc_list node
Definition: player.h:181
vlc_tls_t *(* open)(struct vlc_tls_client *, vlc_tls_t *sock, const char *host, const char *const *alpn)
Definition: vlc_tls.h:149
void(* on_loudness)(vlc_tick_t date, const struct vlc_audio_loudness *loudness, void *data)
Called when new loudness measurements are available.
Definition: vlc_aout.h:577
float f_float
Definition: vlc_common.h:461
int64_t vlc_tick_t
High precision date or time interval.
Definition: vlc_tick.h:45
const char * vlc_es_id_GetStrId(vlc_es_id_t *id)
Get the unique string identifier.
Definition: es_out.c:4532
char * current_video_track
Definition: vlc_media_library.h:596
@ VLC_PLAYER_SELECT_EXCLUSIVE
Only one track per category is selected.
Definition: vlc_player.h:1314
bool vlc_playlist_ComputeHasPrev(vlc_playlist_t *playlist)
Definition: control.c:285
static void vlc_list_remove(struct vlc_list *restrict node)
Removes an element from a list.
Definition: vlc_list.h:135
httpd_handler_callback_t pf_fill
Definition: httpd.c:410
uint8_t * psz_args
Definition: vlc_httpd.h:95
void vout_OSDIcon(vout_thread_t *vout, int channel, short type)
Display an Icon on the video output.
Definition: video_widgets.c:335
int i_body
Definition: vlc_httpd.h:103
static void vlc_list_append(struct vlc_list *restrict node, struct vlc_list *head)
Appends an element into a list.
Definition: vlc_list.h:110
static void vouts_osd_Icon(vout_thread_t **vouts, size_t count, short type)
Definition: osd.c:73
bool pause_on_cork
Definition: player.h:242
#define POLLOUT
Definition: vlc_fixups.h:415
uint32_t i_flags
Definition: vlc_block.h:126
int vlc_player_vout_OSDCallback(vlc_object_t *this, const char *var, vlc_value_t oldval, vlc_value_t newval, void *data)
Definition: osd.c:281
static void httpd_ClientDestroy(httpd_client_t *cl)
Definition: httpd.c:1218
struct vlc_player_track_priv * vlc_player_track_vector_FindById(vlc_player_track_vector *vec, vlc_es_id_t *id, size_t *idx)
Definition: track.c:194
@ VLC_PLAYER_WHENCE_ABSOLUTE
Given time/position.
Definition: vlc_player.h:319
bool vlc_player_vout_IsFullscreen(vlc_player_t *player)
Check if the player is fullscreen.
Definition: vout.c:101
ssize_t vlc_playlist_IndexOfMedia(vlc_playlist_t *playlist, const input_item_t *media)
Return the index of a given media.
Definition: content.c:206
void * httpd_HandlerDelete(httpd_handler_t *handler)
Definition: httpd.c:512
void aout_RemoveMeterPlugin(audio_output_t *aout, vlc_audio_meter_plugin *plugin)
Definition: output.c:824
@ VLC_PLAYER_MEDIA_STOPPED_CONTINUE
Continue (or stop if there is no next media), default behavior.
Definition: vlc_player.h:98
int current_title
Definition: vlc_media_library.h:595
void httpd_StreamDelete(httpd_stream_t *stream)
Definition: httpd.c:866
void vlc_http_auth_ParseWwwAuthenticateHeader(vlc_object_t *p_this, vlc_http_auth_t *p_auth, const char *psz_header)
Definition: http_auth.c:210
struct httpd_file_sys_t httpd_file_sys_t
Definition: vlc_httpd.h:124
vlc_tick_t vlc_player_GetLength(vlc_player_t *player)
Get the length of the current media.
Definition: player.c:1349
#define SOL_IP
Definition: udp.c:62
const char * vlc_strerror_c(int errnum)
Definition: error.c:34
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:98
void vlc_player_CondWait(vlc_player_t *player, vlc_cond_t *cond)
Wait on a condition variable.
Definition: player.c:963
void vlc_player_SelectTitleIdx(vlc_player_t *player, size_t index)
Select a title index for the current media.
Definition: player.c:843
void httpd_HostDelete(httpd_host_t *host)
Definition: httpd.c:1010
vlc_mutex_t lock
Definition: httpd.c:600
static input_item_t * player_get_next_media(vlc_player_t *player, void *userdata)
Definition: player.c:116
int vlc_player_GetCapabilities(vlc_player_t *player)
Get the player capabilities.
Definition: player.c:1275
int64_t i_buffer_pos
Definition: httpd.c:620
void vlc_player_SelectPrevTitle(vlc_player_t *player)
Select the previous title for the current media.
Definition: player.c:883
int vlc_player_SetCategoryDelay(vlc_player_t *player, enum es_format_category_e cat, vlc_tick_t delay, enum vlc_player_whence whence)
Set the delay of one category for the current media.
Definition: player.c:1633
httpd_url_t * url
Definition: httpd.c:303
char * vlc_b64_decode(const char *psz_src)
Definition: strings.c:471
static void vlc_player_aout_DelCallbacks(vlc_player_t *player)
Definition: aout.c:210
static int vlc_tls_GetFD(vlc_tls_t *tls)
Returns the underlying file descriptor.
Definition: vlc_tls.h:325
#define VLC_TICK_INVALID
Definition: vlc_config.h:44
void vlc_objres_clear(vlc_object_t *obj)
Releases all resources of an object.
Definition: objres.c:84
vlc_cond_t start_delay_cond
Definition: player.h:234
void vlc_player_SetStartPaused(vlc_player_t *player, bool start_paused)
Ask to start in a paused state.
Definition: player.c:1214
static void vlc_player_SetPosition(vlc_player_t *player, float position)
Helper to set the absolute position precisely.
Definition: vlc_player.h:721
vlc_tick_t system_date
System date of this record (always valid), this date can be in the future or in the past.
Definition: vlc_player.h:3272
int vlc_close(int fd)
Closes a file descriptor.
Definition: filesystem.c:91
static bool vlc_list_is_empty(const struct vlc_list *head)
Checks if a list is empty.
Definition: vlc_list.h:167
@ VLC_PLAYER_TIMER_TYPE_COUNT
Definition: player.h:166
short events
Definition: vlc_fixups.h:420
void vlc_player_Lock(vlc_player_t *player)
Lock the player.
Definition: player.c:941
ssize_t recvmsg(int, struct msghdr *, int)
struct vlc_player_timer timer
Definition: player.h:280
struct vlc_player_timer_source::@109::@111 smpte
int vlc_getaddrinfo_i11e(const char *name, unsigned port, const struct addrinfo *hints, struct addrinfo **res)
Definition: getaddrinfo.c:39
static void vlc_player_SetTime(vlc_player_t *player, vlc_tick_t time)
Helper to set the absolute time precisely.
Definition: vlc_player.h:753
int vlc_player_OpenNextMedia(vlc_player_t *player)
Definition: player.c:70
struct vlc_player_t::@112 destructor
char * psz_realm
Definition: vlc_http.h:42
bool vlc_player_HasTeletextMenu(vlc_player_t *player)
Check if the media has a teletext menu.
Definition: player.c:781
Thread handle.
Definition: vlc_threads.h:180
static int var_SetBool(vlc_object_t *p_obj, const char *psz_name, bool b)
Set the value of an boolean variable.
Definition: vlc_variables.h:308
static void SetWBE(void *p, uint16_t w)
Writes 16 bits in network byte order.
Definition: vlc_common.h:1057
httpd_callback_sys_t * p_sys
Definition: httpd.c:119
bool vlc_player_IsTeletextTransparent(vlc_player_t *player)
Check if teletext is transparent.
Definition: player.c:807
size_t vlc_player_GetProgramCount(vlc_player_t *player)
Get the number of programs.
Definition: player.c:259
void net_ListenClose(int *fds)
Definition: io.c:296
@ VLC_PLAYER_NAV_LEFT
Select a navigation item on the left or move the viewpoint left.
Definition: vlc_player.h:338
vlc_player_abloop
A to B loop state.
Definition: vlc_player.h:350
@ VLC_PLAYER_RESTORE_PLAYBACK_POS_ALWAYS
Definition: vlc_player.h:381
vlc_es_id_t * es_id
Id used for any player actions, like vlc_player_SelectEsId()
Definition: vlc_player.h:1337
char * psz_string
Definition: vlc_common.h:462
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
int vlc_socket(int pf, int type, int proto, bool nonblock)
Creates a socket file descriptor.
Definition: filesystem.c:327
void httpd_UrlDelete(httpd_url_t *url)
Definition: httpd.c:1114
#define SOL_UDPLITE
Definition: udp.c:77
@ VLC_PLAYER_TIMER_STATE_PAUSED
Definition: player.h:206
struct httpd_url_t::@99 catch[HTTPD_MSG_MAX]
struct vlc_player_timer_source sources[VLC_PLAYER_TIMER_TYPE_COUNT]
Definition: player.h:222
bool seeking
Definition: player.h:215
bool vlc_killed(void)
Checks if the interruption context was "killed".
Definition: interrupt.c:185
@ VLC_PLAYER_STATE_STOPPING
The player is stopping.
Definition: vlc_player.h:281
@ OSD_HOR_SLIDER
Definition: vlc_vout_osd.h:52
#define VLC_HASH_MD5_DIGEST_HEX_SIZE
MD5 digest hex representation size.
Definition: vlc_hash.h:103
@ HTTPD_CLIENT_RECEIVE_DONE
Definition: httpd.c:127
#define vlc_cleanup_pop()
Unregisters the last cancellation handler.
Definition: vlc_threads.h:1018
struct vlc_player_timer_point vlc_player_input_GetTimerValue(struct vlc_player_input *input)
@ VLC_PLAYER_SEEK_PRECISE
Do a precise seek.
Definition: vlc_player.h:304
@ HTTPD_PROTO_HTTP0
Definition: vlc_httpd.h:62
vlc_tick_t period
Definition: player.h:171
int httpd_UrlCatch(httpd_url_t *url, int i_msg, httpd_callback_t cb, httpd_callback_sys_t *p_sys)
Definition: httpd.c:1102
#define POLLIN
Definition: vlc_fixups.h:414
const char * psz_mime
Definition: image.c:634
enum vlc_playlist_playback_order order
Definition: playlist.h:62
void vlc_player_osd_Tracks(vlc_player_t *player, vlc_es_id_t *const *selected, vlc_es_id_t *unselect)
Definition: osd.c:204
@ VLC_PLAYER_NAV_MENU
Activate disc Root Menu.
Definition: vlc_player.h:344
static void vlc_tls_Close(vlc_tls_t *session)
Closes a connection and its underlying resources.
Definition: vlc_tls.h:397
static float var_GetFloat(vlc_object_t *p_obj, const char *psz_name)
Get a float value.
Definition: vlc_variables.h:421
@ HTTPD_MSG_SETUP
Definition: vlc_httpd.h:47
vlc_player_seek_speed
Seek speed type.
Definition: vlc_player.h:301
static vlc_player_track_vector * vlc_player_input_GetTrackVector(struct vlc_player_input *input, enum es_format_category_e cat)
Definition: player.h:394
float vlc_player_aout_GetVolume(vlc_player_t *player)
Get the audio volume.
Definition: aout.c:123
#define vlc_player_SendEvent(player, event,...)
Definition: player.h:307
char * vlc_player_input_GetSelectedTrackStringIds(struct vlc_player_input *input, enum es_format_category_e cat)
Definition: input.c:877
#define static_assert
Definition: vlc_fixups.h:370
void vlc_player_SelectNextTrack(vlc_player_t *player, enum es_format_category_e cat)
Select the next track.
Definition: player.c:662
ssize_t vlc_player_GetSelectedTitleIdx(vlc_player_t *player)
Get the selected title index for the current media.
Definition: player.c:821
@ HTTPD_MSG_NONE
Definition: vlc_httpd.h:34
input_item_t * next_media
Definition: player.h:258
float vlc_player_GetAssociatedSubsFPS(vlc_player_t *player)
Get the associated subtitle FPS.
Definition: player.c:1116
static void vlc_player_CycleProgram(vlc_player_t *player, bool next)
Definition: player.c:308
int vlc_dlclose(void *handle)
Unloads a dynamic library.
Definition: plugin.c:52
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:626
static void vlc_playlist_AssertLocked(vlc_playlist_t *playlist)
Definition: playlist.h:69
vlc_player_whence
Player seek/delay directive.
Definition: vlc_player.h:316
float zoom
Definition: vlc_media_library.h:594
void vlc_player_input_SelectTracksByStringIds(struct vlc_player_input *input, enum es_format_category_e cat, const char *str_ids)
Definition: input.c:869
enum es_format_category_e vlc_es_id_GetCat(vlc_es_id_t *id)
Get the ES category.
Definition: es_out.c:4538
Opaque structure representing an ES (Elementary Stream) track.
Definition: es_out.c:94
static int vlc_player_AoutCallback(vlc_object_t *this, const char *var, vlc_value_t oldval, vlc_value_t newval, void *data)
Definition: aout.c:83
static int recv_fd(int p)
Receive a file descriptor from another process.
Definition: rootbind.c:77
char * psz_HA1
Definition: vlc_http.h:51
@ AUDIO_ES
Definition: vlc_es.h:604
struct vlc_player_track t
Definition: player.h:52
unsigned error_count
Definition: player.h:267
int frames_per_10mins
Definition: player.h:198
#define VLC_PLAYER_TITLE_MENU
vlc_player_title.flags: The title is a menu.
Definition: vlc_player.h:951
ssize_t() net_Write(vlc_object_t *obj, int fd, const void *buf, size_t len)
Writes data to a socket.
Definition: io.c:415
struct vlc_player_input * input
Definition: player.h:254
void vlc_player_aout_Deinit(vlc_player_t *player)
Definition: aout.c:236
@ HTTPD_PROTO_HTTP
Definition: vlc_httpd.h:60
const struct vlc_player_media_provider * media_provider
Definition: player.h:239
void vlc_player_osd_Position(vlc_player_t *player, struct vlc_player_input *input, vlc_tick_t time, float position, enum vlc_player_whence whence)
Definition: osd.c:120
int httpd_StreamSend(httpd_stream_t *stream, const block_t *p_block)
Definition: httpd.c:845
Definition: httpcookies.c:265
const struct vlc_player_timer_cbs * cbs
Definition: player.h:176
ssize_t(* writev)(struct vlc_tls *, const struct iovec *iov, unsigned len)
Callback for sending data.
Definition: vlc_tls.h:107
@ HTTPD_CLIENT_TLS_HS_IN
Definition: httpd.c:136
httpd_header * p_headers
Definition: vlc_httpd.h:99
static bool vlc_list_HasInput(struct vlc_list *list, struct vlc_player_input *input)
Definition: player.c:130
static void * xmalloc(size_t len)
Definition: vlc_common.h:1175
@ UNKNOWN_ES
Definition: vlc_es.h:602
void vlc_playlist_Pause(vlc_playlist_t *playlist)
Pause the player.
Definition: player.c:186
void vlc_restorecancel(int state)
Restores the cancellation state.
Definition: thread.c:193
void vlc_player_destructor_AddStoppingInput(vlc_player_t *player, struct vlc_player_input *input)
Definition: player.c:167
void vlc_player_input_HandleState(struct vlc_player_input *, enum vlc_player_state, vlc_tick_t state_date)
Definition: input.c:127
static httpd_host_t * httpd_HostCreate(vlc_object_t *, const char *, const char *, vlc_tls_server_t *, unsigned)
Definition: httpd.c:930
@ OSD_PLAY_ICON
Definition: vlc_vout_osd.h:47
#define AuthGetParam(HEADER, PARAM)
Definition: http_auth.c:45
Definition: vlc_url.h:145
void vlc_player_NextVideoFrame(vlc_player_t *player)
Pause and display the next video frame.
Definition: player.c:1249
vlc_playlist_item_t ** data
Definition: playlist.h:46
MD5 hash context.
Definition: vlc_hash.h:85
vlc_tls_t *(* open)(struct vlc_tls_server *, vlc_tls_t *sock, const char *const *alpn)
Definition: vlc_tls.h:228
static bool vout_osd_PrintVariableText(vout_thread_t *vout, const char *varname, int vartype, vlc_value_t varval, const char *osdfmt)
Definition: osd.c:251
VLC object common members.
Definition: vlc_objects.h:43
const struct vlc_player_aout_cbs * cbs
Definition: player.h:157
int vlc_player_AddAssociatedMedia(vlc_player_t *player, enum es_format_category_e cat, const char *uri, bool select, bool notify, bool check_ext)
Add an associated (or external) media to the current media.
Definition: player.c:1051
const struct vlc_player_timer_smpte_cbs * smpte_cbs
Definition: player.h:177
void vlc_player_DecrementRate(vlc_player_t *player)
Decrement the rate of the player (Slower)
Definition: player.c:1343
void vlc_player_ResetTimer(vlc_player_t *player)
Definition: timer.c:30
int aout_VolumeSet(audio_output_t *aout, float vol)
Sets the volume of the audio output stream.
Definition: output.c:655
uint8_t i_state
Definition: httpd.c:148
#define VLC_ENOMEM
Not enough memory.
Definition: vlc_common.h:476
@ VLC_PLAYER_TIMER_TYPE_SMPTE
Definition: player.h:165
size_t client_count
Definition: httpd.c:97
static void * var_GetAddress(vlc_object_t *p_obj, const char *psz_name)
Definition: vlc_variables.h:459
static ssize_t httpd_NetSend(httpd_client_t *cl, const uint8_t *p, size_t i_len)
Definition: httpd.c:1258
vlc_tls_t * sock
Definition: httpd.c:143
#define VLC_UNUSED(x)
Definition: vlc_common.h:1105
size_t count
Definition: player.h:52
int aout_MuteGet(audio_output_t *aout)
Gets the audio output stream mute flag.
Definition: output.c:697
void vlc_player_aout_RemoveListener(vlc_player_t *player, vlc_player_aout_listener_id *id)
Remove a aout listener callback.
Definition: aout.c:71
static vout_thread_t ** vlc_player_osd_HoldAll(vlc_player_t *player, size_t *count)
Definition: osd.c:33
static const struct vlc_player_cbs player_callbacks
Definition: player.c:127
#define ToLocaleDup
Definition: vlc_charset.h:319
@ VLC_PLAYER_ABLOOP_A
Definition: vlc_player.h:353
static void player_on_current_media_changed(vlc_player_t *player, input_item_t *new_media, void *userdata)
Definition: player.c:35
struct vlc_list urls
Definition: httpd.c:95
struct vlc_player_timer_point point
Definition: player.h:188
enum vlc_vout_order vout_order
Definition: player.h:56
#define VLC_SUCCESS
No error.
Definition: vlc_common.h:472
char * psz_mime
Definition: httpd.c:603
void vlc_playlist_NotifyMediaUpdated(vlc_playlist_t *playlist, input_item_t *media)
Definition: notify.c:113
int vlc_player_program_Update(struct vlc_player_program *prgm, int id, const char *name)
Definition: track.c:60
long vlc_mrand48(void)
PRNG uniformly distributed between -2^32 and 2^32 - 1.
Definition: rand.c:97
void vlc_player_SetPauseOnCork(vlc_player_t *player, bool enabled)
Enable or disable pause on cork event.
Definition: player.c:1805
static int var_SetFloat(vlc_object_t *p_obj, const char *psz_name, float f)
Set the value of a float variable.
Definition: vlc_variables.h:331
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:751
input_resource_t * resource
Definition: player.h:250
void vlc_player_UpdateTimerState(vlc_player_t *player, vlc_es_id_t *es_source, enum vlc_player_timer_state state, vlc_tick_t system_date)
Definition: timer.c:175
char * strdup(const char *)
bool vlc_player_IsTeletextEnabled(vlc_player_t *player)
Check if teletext is enabled.
Definition: player.c:788
static int64_t var_InheritInteger(vlc_object_t *obj, const char *name)
Definition: vlc_variables.h:685
@ VLC_PLAYER_SEEK_FAST
Do a fast seek.
Definition: vlc_player.h:306
vlc_mutex_t aout_listeners_lock
Definition: player.h:232
struct vlc_list node
Definition: httpd.c:145
#define VLC_TICK_FROM_MS(ms)
Definition: vlc_tick.h:122
const struct vlc_tls_client_operations * ops
Definition: vlc_tls.h:143
char * config_GetSysPath(vlc_sysdir_t type, const char *filename)
Gets an installation directory.
Definition: specific.c:306
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
int vlc_pipe(int fds[2])
Creates a pipe (see "man pipe" for further reference).
Definition: filesystem.c:275
char psz_value[8]
Definition: vout_intf.c:99
httpd_host_t * vlc_rtsp_HostNew(vlc_object_t *p_this)
Definition: httpd.c:918
@ HTTPD_CLIENT_SEND_DONE
Definition: httpd.c:130
@ HTTPD_MSG_POST
Definition: vlc_httpd.h:42
bool vlc_player_IsRecording(vlc_player_t *player)
Check if the playing is recording.
Definition: player.c:1610
vlc_mutex_t lock
Definition: httpd.c:89
int vlc_player_GetSignal(vlc_player_t *player, float *quality, float *strength)
Get the signal quality and strength of the current media.
Definition: player.c:1782
const struct vlc_player_track * vlc_player_GetTrack(vlc_player_t *player, vlc_es_id_t *id)
Get a track from an ES identifier.
Definition: player.c:397
static int net_SetupDgramSocket(vlc_object_t *p_obj, int fd, const struct addrinfo *ptr)
Definition: udp.c:92
bool has_next
Definition: playlist.h:59
vlc_tick_t last_ts
Definition: player.h:219
void vout_FlushSubpictureChannel(vout_thread_t *vout, size_t channel)
Definition: video_output.c:424
char * current_audio_track
Definition: vlc_media_library.h:597
int64_t i_body_offset
Definition: vlc_httpd.h:102
void vlc_player_osd_Volume(vlc_player_t *player, bool mute_action)
Definition: osd.c:170
#define vlc_custom_create(o, s, n)
Definition: libvlc.h:117
#define VLC_TICK_FROM_SEC(sec)
Definition: vlc_tick.h:52
@ HTTPD_MSG_OPTIONS
Definition: vlc_httpd.h:45
size_t i_headers
Definition: vlc_httpd.h:98
#define SOL_DCCP
Definition: udp.c:71
vlc_es_id_t * vlc_es_id_Hold(vlc_es_id_t *id)
Increase the ES track id reference count.
Definition: es_out.c:4507
struct vlc_player_program ** data
Definition: player.h:43
static bool var_GetBool(vlc_object_t *p_obj, const char *psz_name)
Get a boolean value.
Definition: vlc_variables.h:390
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:529
@ VLC_PLAYER_ABLOOP_NONE
Definition: vlc_player.h:352
void vlc_http_cookies_destroy(vlc_http_cookie_jar_t *p_jar)
Definition: httpcookies.c:283
char * audio_string_ids
Definition: player.h:261
static int net_GetSockAddress(int fd, char *address, int *port)
Definition: vlc_network.h:326
void vlc_mutex_lock(vlc_mutex_t *mtx)
Acquires a mutex.
Definition: threads.c:158
module_config_t ** list
Definition: core.c:400
httpd_url_t * url
Definition: httpd.c:142
bool selected
True if the track is selected.
Definition: vlc_player.h:1343
vlc_audio_meter_plugin * aout_AddMeterPlugin(audio_output_t *aout, const char *chain, const struct vlc_audio_meter_plugin_owner *owner)
Definition: output.c:815
const char name[16]
Definition: httpd.c:1268
bool vlc_playlist_PlayerInit(vlc_playlist_t *playlist, vlc_object_t *parent)
Definition: player.c:135
static void vlc_player_CycleTrack(vlc_player_t *player, enum es_format_category_e cat, bool next)
Definition: player.c:611
int() var_Type(vlc_object_t *p_this, const char *psz_name)
Get the type of a variable.
Definition: variables.c:655
Definition: renderer_discovery.c:34
bool b_stream_mode
Definition: httpd.c:147
int aout_VolumeUpdate(audio_output_t *aout, int value, float *volp)
Raises the volume.
Definition: output.c:671
Audio meter callback.
Definition: vlc_aout.h:568
vlc_player_state
State of the player.
Definition: vlc_player.h:243
void vlc_player_RemoveListener(vlc_player_t *player, vlc_player_listener_id *id)
Remove a listener callback.
Definition: player.c:989
Definition: fourcc_gen.c:51
void vlc_player_UnselectEsId(vlc_player_t *player, vlc_es_id_t *id)
Unselect a track from an ES identifier.
Definition: player.c:676
Condition variable.
Definition: vlc_threads.h:349
httpd_host_t * vlc_https_HostNew(vlc_object_t *obj)
Definition: httpd.c:894
struct vlc_list vout_listeners
Definition: player.h:248
vlc_vout_order
vout or spu_channel order
Definition: vlc_vout.h:70
char * psz_domain
Definition: vlc_http.h:43
int net_SetCSCov(int fd, int sendcov, int recvcov)
net_SetCSCov: Sets the send and receive checksum coverage of a socket:
Definition: udp.c:692
#define VLC_PLAYER_CAP_CHANGE_RATE
Player capability: can change the rate.
Definition: vlc_player.h:362
static void vlc_player_UnselectTrack(vlc_player_t *player, const struct vlc_player_track *track)
Helper to unselect a track.
Definition: vlc_player.h:1664
int vlc_player_aout_Mute(vlc_player_t *player, bool mute)
Mute or unmute the audio output.
Definition: aout.c:171
httpd_file_sys_t * p_sys
Definition: httpd.c:305
unsigned frame_resolution
Definition: player.h:195
@ SPU_ES
Definition: vlc_es.h:605
static void * xrealloc(void *ptr, size_t len)
Definition: vlc_common.h:1183
atomic_uint ref
Definition: httpd.c:81
static int var_SetInteger(vlc_object_t *p_obj, const char *psz_name, int64_t i)
Set the value of an integer variable.
Definition: vlc_variables.h:293
int vlc_player_OpenNextMedia(vlc_player_t *player)
Definition: player.c:70
#define net_Read(a, b, c, d)
Definition: vlc_network.h:237
static unsigned vlc_player_SelectTrack(vlc_player_t *player, const struct vlc_player_track *track, enum vlc_player_select_policy policy)
Helper to select a track.
Definition: vlc_player.h:1577
char * vlc_b64_encode(const char *src)
Base64 encoding (string).
Definition: strings.c:408
char dst[1]
Definition: httpd.c:528
void vlc_player_SetTeletextTransparency(vlc_player_t *player, bool enabled)
Enable or disable teletext transparency.
Definition: player.c:767
int vlc_poll_i11e(struct pollfd *fds, unsigned nfds, int timeout)
Interruptible variant of poll().
Definition: interrupt.c:367
char * psz_url
Definition: httpd.c:112
unsigned port
Definition: httpd.c:86
@ HTTPD_CLIENT_WAITING
Definition: httpd.c:132
double loudness_momentary
Momentary loudness (last 400 ms), in LUFS.
Definition: vlc_aout.h:552
unsigned vlc_player_GetSubtitleTextScale(vlc_player_t *player)
Get the subtitle text scaling factor.
Definition: player.c:1776
int net_ConnectDgram(vlc_object_t *p_this, const char *psz_host, unsigned i_port, int i_hlim, int proto)
Definition: udp.c:522
bool vlc_player_IsTrackCategoryEnabled(vlc_player_t *player, enum es_format_category_e cat)
Check if a track category is enabled.
Definition: player.c:1761
void * vlc_dlsym(void *handle, const char *psz_function)
Looks up a symbol from a dynamically loaded library.
Definition: plugin.c:57
ssize_t() net_Read(vlc_object_t *restrict obj, int fd, void *restrict buf, size_t len)
Definition: io.c:368
static int64_t var_GetInteger(vlc_object_t *p_obj, const char *psz_name)
Get an integer value.
Definition: vlc_variables.h:374
int vlc_player_input_Start(struct vlc_player_input *input)
Definition: input.c:94
static int net_GetPeerAddress(int fd, char *address, int *port)
Definition: vlc_network.h:337
const struct vlc_audio_meter_cbs * cbs
Definition: vlc_aout.h:596
char * psz_qop
Definition: vlc_http.h:48
void vlc_player_input_RestoreMlStates(struct vlc_player_input *input, bool force_pos)
Definition: medialib.c:30
TLS client-side credentials.
Definition: vlc_tls.h:140
int() net_ConnectTCP(vlc_object_t *obj, const char *host, int serv)
Definition: tcp.c:247
void vlc_player_UpdateTimer(vlc_player_t *player, vlc_es_id_t *es_source, bool es_source_is_master, const struct vlc_player_timer_point *point, vlc_tick_t normal_time, unsigned frame_rate, unsigned frame_rate_base)
Definition: timer.c:259
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:483
void vlc_playlist_state_Save(vlc_playlist_t *playlist, struct vlc_playlist_state *state)
Definition: notify.c:82
void vlc_playlist_Resume(vlc_playlist_t *playlist)
Resume the player.
Definition: player.c:192
#define net_Write(a, b, c, d)
Definition: vlc_network.h:250
#define vlc_list_foreach(pos, head, member)
List iteration macro.
Definition: vlc_list.h:261
void vlc_http_auth_Init(vlc_http_auth_t *p_auth)
Definition: http_auth.c:468
char * vlc_xml_encode(const char *str)
Encodes XML entites.
Definition: strings.c:289
void vlc_hash_md5_Update(vlc_hash_md5_t *ctx, const void *data, size_t length)
Update MD5 hash computation with new data.
Definition: md5.c:343
float rate
Definition: vlc_media_library.h:593
uint8_t * p_header
Definition: httpd.c:606
@ HTTPD_MSG_MAX
Definition: vlc_httpd.h:54
vlc_object_t * vlc_player_GetObject(vlc_player_t *player)
Definition: player.c:2036
void vlc_player_Delete(vlc_player_t *player)
Delete a player instance.
Definition: player.c:1873
@ VLC_PLAYER_TIMER_STATE_PLAYING
Definition: player.h:205
vlc_player_timer_source_type
Definition: player.h:162
#define IPPROTO_IPV6
Definition: udp.c:68
int vlc_player_aout_IncrementVolume(vlc_player_t *player, int steps, float *result)
Increment the audio volume.
Definition: aout.c:147
int vlc_player_SetAtoBLoop(vlc_player_t *player, enum vlc_player_abloop abloop)
Enable A to B loop of the current media.
Definition: player.c:1474
int vlc_playlist_Start(vlc_playlist_t *playlist)
Start the player.
Definition: player.c:174
void vlc_player_osd_Message(vlc_player_t *player, const char *fmt,...)
Definition: osd.c:89
struct randomizer randomizer
Definition: playlist.h:56
@ VLC_PLAYER_NAV_POPUP
Activate the popup Menu (for BD)
Definition: vlc_player.h:342
vlc_player_nav
Menu (VCD/DVD/BD) and viewpoint navigations.
Definition: vlc_player.h:329
#define ToLocale(u)
Definition: vlc_charset.h:316
void vlc_player_SelectChapter(vlc_player_t *player, const struct vlc_player_title *title, size_t chapter_idx)
Select a chapter for the current media.
Definition: player.c:861
void vlc_player_osd_Track(vlc_player_t *player, vlc_es_id_t *id, bool select)
Definition: osd.c:190
@ VLC_PLAYER_TIMER_TYPE_BEST
Definition: player.h:164
float vlc_player_GetRate(vlc_player_t *player)
Get the rate of the player.
Definition: player.c:1282
void vlc_player_SelectPrevChapter(vlc_player_t *player)
Select the previous chapter for the current media.
Definition: player.c:929
@ HTTPD_CLIENT_SENDING
Definition: httpd.c:129
struct vlc_player_input * vlc_player_input_New(vlc_player_t *player, input_item_t *item)
Definition: input.c:909
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:104
vlc_mutex_t mutex
Definition: httpd.c:926
#define vlc_object_delete(obj)
Definition: vlc_objects.h:136
int vlc_playlist_ExpandItemFromNode(vlc_playlist_t *playlist, input_item_node_t *subitems)
Definition: preparse.c:66
void vlc_player_SelectChapterIdx(vlc_player_t *player, size_t index)
Select a chapter index for the current media.
Definition: player.c:905
int vlc_bindtextdomain(const char *domain)
Definition: textdomain.c:33
audio_output_t * vlc_player_aout_Hold(vlc_player_t *player)
Get the audio output.
Definition: aout.c:44
#define likely(p)
Predicted true condition.
Definition: vlc_common.h:218
ssize_t(* readv)(struct vlc_tls *, struct iovec *iov, unsigned len)
Callback for receiving data.
Definition: vlc_tls.h:93
struct vlc_player_track_priv * vlc_player_input_FindTrackById(struct vlc_player_input *input, vlc_es_id_t *id, size_t *idx)
Definition: input.c:31
int net_Accept(vlc_object_t *obj, int *fds)
Accepts an new connection on a set of listening sockets.
Definition: io.c:308
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:414
uint8_t i_proto
Definition: vlc_httpd.h:85
uint8_t * p_buffer
Payload start.
Definition: vlc_block.h:121
struct vlc_list listeners
Definition: player.h:186
httpd_url_t * url
Definition: httpd.c:601
#define VLC_OBJECT(x)
Type-safe vlc_object_t cast.
Definition: vlc_objects.h:70
httpd_message_t query
Definition: httpd.c:165
vout_thread_t * vlc_player_GetEsIdVout(vlc_player_t *player, vlc_es_id_t *es_id, enum vlc_vout_order *order)
Get and the video output used by a ES identifier.
Definition: player.c:405
input_item_t * vlc_playlist_GetNextMedia(vlc_playlist_t *playlist)
Definition: control.c:436
httpd_client_t * cl
Definition: vlc_httpd.h:82
bool start_paused
Definition: player.h:237
vlc_tick_t i_timeout_date
Definition: httpd.c:150
void vlc_player_InitTimer(vlc_player_t *player)
Definition: timer.c:532
void vlc_player_track_priv_Delete(struct vlc_player_track_priv *trackpriv)
Definition: track.c:139
static void vlc_player_SetPause(vlc_player_t *player, bool pause)
Definition: player.c:1221
Video output thread descriptor.
Definition: vlc_vout.h:55
static void httpd_ClientTlsHandshake(httpd_host_t *host, httpd_client_t *cl)
Definition: httpd.c:1654
void vlc_player_aout_Reset(vlc_player_t *player)
Reset the main audio output.
Definition: aout.c:242
int vlc_player_track_priv_Update(struct vlc_player_track_priv *trackpriv, const char *name, const es_format_t *fmt)
Definition: track.c:169
playlist_item_vector_t items
Definition: playlist.h:55
char * psz_password
Definition: httpd.c:114
void vlc_player_SelectNextChapter(vlc_player_t *player)
Select the next chapter for the current media.
Definition: player.c:917
static void vlc_player_InitLocks(vlc_player_t *player, enum vlc_player_lock_type lock_type)
Definition: player.c:1858
const struct vlc_player_cbs * cbs
Definition: player.h:130
int(* handshake)(vlc_tls_t *session, const char *hostname, const char *service, char **alp)
Definition: vlc_tls.h:151
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:345
es_format_t fmt
Es format.
Definition: vlc_player.h:1341
httpd_file_sys_t * httpd_FileDelete(httpd_file_t *file)
Definition: httpd.c:392
void vlc_cond_init(vlc_cond_t *cond)
Initializes a condition variable.
Definition: threads.c:234
bool b_has_keyframes
Definition: httpd.c:614
int * net_Listen(vlc_object_t *p_this, const char *psz_host, unsigned i_port, int type, int protocol)
Definition: io.c:214
@ VLC_PLAYER_STATE_STOPPED
The player is stopped.
Definition: vlc_player.h:251
void vlc_player_SelectPrevProgram(vlc_player_t *player)
Select the previous program.
Definition: player.c:348
struct vlc_list inputs
Definition: player.h:275
char * httpd_ClientIP(const httpd_client_t *cl, char *ip, int *port)
Definition: httpd.c:1208
void(* on_current_media_changed)(vlc_player_t *player, input_item_t *new_media, void *data)
Called when the current media has changed.
Definition: vlc_player.h:2759
int i_buffer_size
Definition: httpd.c:618
struct vlc_list node
Definition: player.h:132
char * aspect_ratio
Definition: vlc_media_library.h:599
static void * vlc_alloc(size_t count, size_t size)
Definition: vlc_common.h:1144
struct vlc_list joinable_inputs
Definition: player.h:277
@ HTTPD_MSG_TEARDOWN
Definition: vlc_httpd.h:51
bool next_media_requested
Definition: player.h:257
input_item_t * media
Definition: player.h:253
void(* destroy)(struct vlc_tls_client *)
Definition: vlc_tls.h:154
static thread_local struct @76 state
uint8_t * p_buffer
Definition: httpd.c:619
vlc_mutex_t lock
Definition: httpd.c:110
static void * httpd_HostThread(void *)
Definition: httpd.c:2056
enum vlc_player_timer_state state
Definition: player.h:214
Player callbacks.
Definition: vlc_player.h:2742
@ HTTPD_CLIENT_DEAD
Definition: httpd.c:134
static ssize_t vlc_recv_i11e(int fd, void *buf, size_t len, int flags)
Definition: vlc_interrupt.h:125
static void vlc_player_ChangeRateOffset(vlc_player_t *player, bool increment)
Definition: player.c:1313
Player timer point.
Definition: vlc_player.h:3256
uint8_t * p_buffer
Definition: httpd.c:155
const char * vlc_mime_Ext2Mime(const char *psz_url)
Definition: mime.c:90
void vlc_join(vlc_thread_t handle, void **result)
Waits for a thread to complete (if needed), then destroys it.
Definition: thread.c:151
vlc_renderer_item_t * renderer
Definition: player.h:251
#define NI_MAXNUMERICHOST
Definition: vlc_network.h:274
vlc_tick_t delay
Definition: player.h:54
VLC value structure.
Definition: vlc_common.h:457
static char * AuthGetParamConcat(const char *psz_header, const char *psz_what)
Definition: http_auth.c:46
size_t size
Definition: player.h:43
@ OSD_MUTE_ICON
Definition: vlc_vout_osd.h:50
void vout_OSDMessageVa(vout_thread_t *vout, int channel, const char *format, va_list args)
Write an informative message at the default location, for the default duration and only if the OSD op...
Definition: video_text.c:141
Player timer callbacks.
Definition: vlc_player.h:3301
void vlc_mutex_unlock(vlc_mutex_t *mtx)
Releases a mutex.
Definition: threads.c:209
vlc_tls_server_t * p_tls
Definition: httpd.c:102
static int httpd_ClientRecv(httpd_client_t *cl)
Definition: httpd.c:1287
#define vlc_object_instance(o)
Definition: vlc_objects.h:195
@ HTTPD_PROTO_NONE
Definition: vlc_httpd.h:59
vlc_tick_t vlc_player_GetEsIdDelay(vlc_player_t *player, vlc_es_id_t *es_id)
Get the delay of a track.
Definition: player.c:1720
Definition: vlc_atomic.h:41
const char var[sizeof("video")]
Definition: player.c:1732
struct vlc_list node
Definition: httpd.c:109
Definition: vlc_block.h:117
vout_thread_t * vlc_player_vout_Hold(vlc_player_t *player)
Get and hold the main video output.
Definition: vout.c:43
void * vlc_dlopen(const char *psz_file, bool lazy)
Loads a dynamically linked library.
Definition: plugin.c:40
struct vlc_player_program * vlc_player_program_New(int id, const char *name)
Definition: track.c:42
@ VLC_PLAYER_LOCK_REENTRANT
Reentrant lock.
Definition: vlc_player.h:88
const struct vlc_tls_operations * ops
Callbacks to operate on the stream.
Definition: vlc_tls.h:68
int i_nonce
Definition: vlc_http.h:49
vlc_es_id_t * es
Definition: player.h:187
void vlc_player_SetTeletextEnabled(vlc_player_t *player, bool enabled)
Enable or disable teletext.
Definition: player.c:741
#define msg_Err(p_this,...)
Definition: vlc_messages.h:102
#define VLC_PLAYER_CAP_SEEK
Player capability: can seek.
Definition: vlc_player.h:358
static void vlc_player_UnselectTrackCategory(vlc_player_t *player, enum es_format_category_e cat)
Helper to unselect all tracks from an ES category.
Definition: vlc_player.h:1674
int vlc_player_aout_EnableFilter(vlc_player_t *player, const char *name, bool add)
Enable or disable an audio filter.
Definition: aout.c:183
httpd_redirect_t * httpd_RedirectNew(httpd_host_t *host, const char *psz_url_dst, const char *psz_url_src)
Definition: httpd.c:559
struct vlc_list node
Definition: httpd.c:78
void vlc_player_Resume(vlc_player_t *player)
Resume the playback from a pause.
Definition: player.c:1243
void vlc_player_vout_DelCallbacks(vlc_player_t *player, vout_thread_t *vout)
Definition: vout.c:150
static ssize_t vlc_player_GetTitleIdx(vlc_player_t *player, const struct vlc_player_title *title)
Definition: player.c:831
static void on_player_media_subitems_changed(vlc_player_t *player, input_item_t *media, input_item_node_t *subitems, void *userdata)
Definition: player.c:106
vlc_tick_t input_length
Definition: player.h:217
vlc_cond_t notify
Definition: player.h:274
static void httpd_MsgClean(httpd_message_t *msg)
Definition: httpd.c:1159
char * config_GetPsz(const char *psz_name)
Gets a string configuration item's value.
Definition: core.c:123
#define vlc_player_aout_SendEvent(player, event,...)
Definition: aout.c:32
vlc_renderer_item_t * vlc_player_GetRenderer(vlc_player_t *player)
Get the renderer.
Definition: player.c:1467
void * cbs_data
Definition: player.h:131
void vlc_player_PrepareNextMedia(vlc_player_t *player)
Definition: player.c:54
void vlc_testcancel(void)
Issues an explicit deferred cancellation point.
Definition: thread.c:201
bool corked
Definition: player.h:243
char * secstotimestr(char *psz_buffer, int32_t i_seconds)
Convert seconds to a time in the format h:mm:ss.
Definition: mtime.c:41
#define HTTPD_CL_BUFSIZE
Definition: httpd.c:68
TLS server-side credentials.
Definition: vlc_tls.h:218
char * video_string_ids
Definition: player.h:260
void vlc_player_input_Delete(struct vlc_player_input *input)
Definition: input.c:1010
char * vlc_uri_compose(const vlc_url_t *uri)
Composes an URI.
Definition: url.c:710
enum vlc_player_error vlc_player_GetError(vlc_player_t *player)
Get the error state of the player.
Definition: player.c:1268
int df
Definition: player.h:197
#define VOUT_SPU_CHANNEL_OSD_HSLIDER
Definition: vlc_vout.h:129
static void on_player_media_length_changed(vlc_player_t *player, vlc_tick_t new_length, void *userdata)
Definition: player.c:89
static void vlc_player_CancelWaitError(vlc_player_t *player)
Definition: player.c:120
int64_t i_keyframe_wait_to_pass
Definition: httpd.c:162
#define vlc_vector_foreach(item, pv)
For-each loop.
Definition: vlc_vector.h:637
uint16_t i_port
Definition: keystore.c:216
char * psz_opaque
Definition: vlc_http.h:45
static int vlc_player_CorkCallback(vlc_object_t *this, const char *var, vlc_value_t oldval, vlc_value_t newval, void *data)
Definition: player.c:1812
Audio loudness measurement.
Definition: vlc_aout.h:549
void vlc_player_UpdateViewpoint(vlc_player_t *player, const vlc_viewpoint_t *viewpoint, enum vlc_player_whence whence)
Update the viewpoint.
Definition: player.c:1592
@ HTTPD_CLIENT_TLS_HS_OUT
Definition: httpd.c:137
void * cbs_data
Definition: player.h:158
uint8_t i_version
Definition: vlc_httpd.h:86
struct vlc_object_t obj
Definition: player.h:229
#define BLOCK_FLAG_TYPE_I
Intra frame.
Definition: vlc_block.h:69
static int net_SetMcastOut(vlc_object_t *p_this, int fd, int family, const char *iface)
Definition: udp.c:257
void vlc_cancel(vlc_thread_t thread_id)
Marks a thread as cancelled.
Definition: thread.c:167
Definition: vlc_media_library.h:591
float input_position
Definition: player.h:220