VLC  4.0.0-dev
vlm_event.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * vlm_event.h: VLM event functions
3  *****************************************************************************
4  * Copyright (C) 2009 Laurent Aimar
5  *
6  * Authors: Laurent Aimar <fenrir _AT_ videolan _DOT_ fr>
7  *
8  * This program is free software; you can redistribute it and/or modify it
9  * under the terms of the GNU Lesser General Public License as published by
10  * the Free Software Foundation; either version 2.1 of the License, or
11  * (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16  * GNU Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public License
19  * along with this program; if not, write to the Free Software Foundation,
20  * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
21  *****************************************************************************/
22 
23 #ifndef LIBVLC_VLM_EVENT_H
24 #define LIBVLC_VLM_EVENT_H 1
25 
26 #include <vlc_common.h>
27 
28 /*****************************************************************************
29  *
30  *****************************************************************************/
31 void vlm_SendEventMediaAdded( vlm_t *, int64_t id, const char *psz_name );
32 void vlm_SendEventMediaRemoved( vlm_t *, int64_t id, const char *psz_name );
33 void vlm_SendEventMediaChanged( vlm_t *, int64_t id, const char *psz_name );
34 
35 void vlm_SendEventMediaInstanceStarted( vlm_t *, int64_t id, const char *psz_name );
36 void vlm_SendEventMediaInstanceStopped( vlm_t *, int64_t id, const char *psz_name );
37 void vlm_SendEventMediaInstanceState( vlm_t *, int64_t id, const char *psz_name, const char *psz_instance_name, vlm_state_e state );
38 
39 #endif
vlc_player_t
Definition: player.h:227
vlm_SendEventMediaAdded
void vlm_SendEventMediaAdded(vlm_t *, int64_t id, const char *psz_name)
Definition: vlm_event.c:43
vlm_internal.h
vlc_stream_memory_private::i_size
size_t i_size
Definition: stream_memory.c:53
STREAM_CAN_PAUSE
@ STREAM_CAN_PAUSE
arg1= bool * res=cannot fail
Definition: vlc_stream.h:149
INPUT_EVENT_THUMBNAIL_READY
@ INPUT_EVENT_THUMBNAIL_READY
Definition: input_internal.h:145
vlc_runnable::userdata
void * userdata
Userdata passed back to run().
Definition: vlc_executor.h:60
vlc_mutex_init
void vlc_mutex_init(vlc_mutex_t *mtx)
Initializes a fast mutex.
Definition: threads.c:123
vlm_media_t::broadcast
struct vlm_media_t::@274 broadcast
stream_MemoryDelete
static void stream_MemoryDelete(stream_t *s)
Definition: stream_memory.c:52
vlm_ControlMediaInstanceGets
static int vlm_ControlMediaInstanceGets(vlm_t *p_vlm, int64_t id, vlm_media_instance_t ***ppp_idsc, int *pi_instance)
Definition: vlm.c:803
vlc_thumbnailer.h
vlc_readdir
const char * vlc_readdir(DIR *dir)
Reads the next file name from an open directory.
Definition: filesystem.c:126
vlm_schedule_sys_t::i_repeat
int i_repeat
Definition: vlm_internal.h:73
count
size_t count
Definition: core.c:401
vlc_executor.h
VLM_EVENT_MEDIA_INSTANCE_STATE
@ VLM_EVENT_MEDIA_INSTANCE_STATE
Definition: vlc_vlm.h:100
vlc_player.h
vlm_media_instance_sys_t
Definition: vlm_internal.h:31
vlc_stream_FilterNew
stream_t * vlc_stream_FilterNew(stream_t *p_source, const char *psz_stream_filter)
Try to add a stream filter to an open stream.
Definition: stream_filter.c:50
STREAM_GET_TITLE
@ STREAM_GET_TITLE
arg1=unsigned * res=can fail
Definition: vlc_stream.h:157
TaskDelete
static void TaskDelete(task_t *task)
Definition: thumbnailer.c:114
se_StreamControl
static int se_StreamControl(stream_t *stream, int req, va_list args)
Definition: stream_extractor.c:175
stream_CommonDelete
void stream_CommonDelete(stream_t *s)
Definition: stream.c:114
TAB_CLEAN
#define TAB_CLEAN(count, tab)
Definition: vlc_arrays.h:61
var_Create
int() var_Create(vlc_object_t *p_this, const char *psz_name, int i_type)
Creates a VLC object variable.
Definition: variables.c:291
SLAVE_TYPE_SPU
@ SLAVE_TYPE_SPU
Definition: vlc_input_item.h:145
vlm_event_t
Definition: vlc_vlm.h:113
vlc_stream_fifo_Control
static int vlc_stream_fifo_Control(stream_t *s, int query, va_list ap)
Definition: stream_fifo.c:83
vlc_stream_fifo_Write
ssize_t vlc_stream_fifo_Write(vlc_stream_fifo_t *writer, const void *buf, size_t len)
Writes data to a FIFO stream.
Definition: stream_fifo.c:151
vlc_memstream
In-memory stream object.
Definition: vlc_memstream.h:41
input_attachment_t
Definition: vlc_input.h:159
block_ChainRelease
static void block_ChainRelease(block_t *p_block)
Definition: vlc_block.h:358
se_ReadDir
static int se_ReadDir(stream_t *stream, input_item_node_t *node)
Definition: stream_extractor.c:168
VLM_EVENT_MEDIA_ADDED
@ VLM_EVENT_MEDIA_ADDED
Definition: vlc_vlm.h:93
se_CleanStream
static void se_CleanStream(struct stream_extractor_private *priv)
Definition: stream_extractor.c:218
vlc_stream_fifo_Writer
static vlc_stream_fifo_t * vlc_stream_fifo_Writer(stream_t *s)
Definition: stream_fifo.c:46
vlm_t::i_media
int i_media
Definition: vlm_internal.h:94
vlc_thumbnailer_Cancel
void vlc_thumbnailer_Cancel(vlc_thumbnailer_t *thumbnailer, task_t *task)
vlc_thumbnailer_Cancel Cancel a thumbnail request
Definition: thumbnailer.c:289
input_item_slave::i_priority
enum slave_priority i_priority
Slave priority.
Definition: vlc_input_item.h:189
vlc_thumbnailer_Release
void vlc_thumbnailer_Release(vlc_thumbnailer_t *thumbnailer)
vlc_thumbnailer_Release releases a thumbnailer and cancel all pending requests
Definition: thumbnailer.c:338
VLM_CLEAR_MEDIAS
@ VLM_CLEAR_MEDIAS
Definition: vlc_vlm.h:129
vlc_queue
Thread-safe queue (a.k.a.
Definition: vlc_queue.h:44
strcasecmp
int strcasecmp(const char *, const char *)
task::userdata
void * userdata
Definition: fetcher.c:60
psz_name
const char * psz_name
Definition: text_style.c:53
vlm_media_instance_t::d_position
double d_position
Definition: vlc_vlm.h:73
vlc_stat
int vlc_stat(const char *filename, struct stat *buf)
Finds file/inode information - like stat().
Definition: filesystem.c:173
vlc_player_GetTime
vlc_tick_t vlc_player_GetTime(vlc_player_t *player)
Get the time of the current media.
Definition: player.c:1356
stream_directory_t::pf_readdir
int(* pf_readdir)(struct stream_directory_t *, input_item_node_t *)
Definition: vlc_stream_extractor.h:85
TriggerInstanceState
static void TriggerInstanceState(vlm_t *, int i_type, int64_t id, const char *psz_name, const char *psz_instance_name, vlm_state_e input_state)
Definition: vlm_event.c:85
vlc_thumbnailer_request_t::fast_seek
bool fast_seek
Definition: thumbnailer.c:63
vlm_media_instance_t::f_rate
float f_rate
Definition: vlc_vlm.h:75
input_item_slave_New
input_item_slave_t * input_item_slave_New(const char *psz_uri, enum slave_type i_type, enum slave_priority i_priority)
Definition: item.c:634
stream_extractor_t::pf_control
int(* pf_control)(struct stream_extractor_t *, int request, va_list args)
Definition: vlc_stream_extractor.h:65
input_item_AddOption
int input_item_AddOption(input_item_t *p_input, const char *psz_option, unsigned flags)
This function allows to add an option to an existing input_item_t.
Definition: item.c:497
StreamExtractorCreateMRL
static char * StreamExtractorCreateMRL(char const *base, char const *subentry)
Create an MRL for a specific sub-entry.
Definition: stream_extractor.c:89
vlm_ControlMediaGetByName
static vlm_media_sys_t * vlm_ControlMediaGetByName(vlm_t *p_vlm, const char *psz_name)
Definition: vlm.c:404
task
Definition: fetcher.c:54
vlc_thumbnailer_request_t::runnable
struct vlc_runnable runnable
to be passed to the executor
Definition: thumbnailer.c:77
vlm_schedule_sys_t::command
char ** command
Definition: vlm_internal.h:64
libvlc_int_t
Definition: vlc_objects.h:114
vlc_memstream::ptr
char * ptr
Buffer start address.
Definition: vlc_memstream.h:48
vlm_ControlMediaAdd
static int vlm_ControlMediaAdd(vlm_t *p_vlm, vlm_media_t *p_cfg, int64_t *p_id)
Definition: vlm.c:461
vlc_player_AddListener
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
unlikely
#define unlikely(p)
Predicted false condition.
Definition: vlc_common.h:227
vlc_queue_Lock
static void vlc_queue_Lock(vlc_queue_t *q)
Locks a queue.
Definition: vlc_queue.h:87
SLAVE_PRIORITY_MATCH_LEFT
@ SLAVE_PRIORITY_MATCH_LEFT
Definition: vlc_input_item.h:153
seek_target::time
vlc_tick_t time
Definition: thumbnailer.c:49
vlc_common.h
vlm_media_instance_t::psz_name
char * psz_name
Definition: vlc_vlm.h:69
vlc_vlm.h
STREAM_GET_TITLE_INFO
@ STREAM_GET_TITLE_INFO
arg1=input_title_t*** arg2=int* res=can fail
Definition: vlc_stream.h:156
vlc_stream_fifo_New
vlc_stream_fifo_t * vlc_stream_fifo_New(vlc_object_t *parent, stream_t **reader)
Creates a FIFO stream.
Definition: stream_fifo.c:106
VLC_PLAYER_LOCK_NORMAL
@ VLC_PLAYER_LOCK_NORMAL
Normal lock.
Definition: vlc_player.h:79
stream_t::pf_block
block_t *(* pf_block)(stream_t *, bool *eof)
Read data block.
Definition: vlc_stream.h:103
DIR_SEP
#define DIR_SEP
Definition: vlc_common.h:1221
vlm_media_Copy
static void vlm_media_Copy(vlm_media_t *restrict p_dst, const vlm_media_t *restrict p_src)
Copy a vlm_media_t instance into another vlm_media_t instance.
Definition: vlc_vlm.h:225
vlm_ControlMediaInstanceStart
static int vlm_ControlMediaInstanceStart(vlm_t *p_vlm, int64_t id, const char *psz_id, int i_input_index)
Definition: vlm.c:655
VLC_VAR_DOINHERIT
#define VLC_VAR_DOINHERIT
Creation flag.
Definition: vlc_variables.h:69
VLC_THREAD_PRIORITY_LOW
#define VLC_THREAD_PRIORITY_LOW
Definition: vlc_threads.h:207
vlc_stream_fifo_Destroy
static void vlc_stream_fifo_Destroy(stream_t *s)
Definition: stream_fifo.c:53
vlm_media_t::ppsz_option
char ** ppsz_option
Definition: vlc_vlm.h:55
seek_target::type
enum seek_target::@50 type
vlm_SendEventMediaInstanceStopped
void vlm_SendEventMediaInstanceStopped(vlm_t *p_vlm, int64_t id, const char *psz_name)
Definition: vlm_event.c:60
vlc_stream_memory_private::p_buffer
uint8_t * p_buffer
Definition: stream_memory.c:54
vlm_Delete
void vlm_Delete(vlm_t *p_vlm)
Definition: vlm.c:183
VLM_ERROR_S
@ VLM_ERROR_S
Definition: vlc_vlm.h:110
vlm_event.h
input_item_t
Describes an input and is used to spawn input_thread_t objects.
Definition: vlc_input_item.h:77
libvlc_priv
static libvlc_priv_t * libvlc_priv(libvlc_int_t *libvlc)
Definition: libvlc.h:199
vlc_stream_filter_private::module
module_t * module
Definition: stream_filter.c:58
vlm_media_t::psz_name
char * psz_name
Definition: vlc_vlm.h:49
vlc_object_t::logger
struct vlc_logger * logger
Definition: vlc_objects.h:45
vlc_thumbnailer_request_t::thumbnailer
vlc_thumbnailer_t * thumbnailer
Definition: thumbnailer.c:60
vlc_LogDestroy
void vlc_LogDestroy(vlc_logger_t *logger)
Destroys a message log.
Definition: messages.c:585
vlm_ControlMediaChange
static int vlm_ControlMediaChange(vlm_t *p_vlm, vlm_media_t *p_cfg)
Definition: vlm.c:442
VLC_PLAYER_STATE_STARTED
@ VLC_PLAYER_STATE_STARTED
The player is started.
Definition: vlc_player.h:258
vlm_ControlMediaInstanceSetTimePosition
static int vlm_ControlMediaInstanceSetTimePosition(vlm_t *p_vlm, int64_t id, const char *psz_id, int64_t i_time, double d_position)
Definition: vlm.c:782
vlc_executor
The executor (also vlc_executor_t, exposed as opaque type in the public header).
Definition: executor.c:55
vlc_player_GetCurrentMedia
input_item_t * vlc_player_GetCurrentMedia(vlc_player_t *player)
Get the current played media.
Definition: player.c:1043
vlc_list_init
static void vlc_list_init(struct vlc_list *restrict head)
Initializes an empty list head.
Definition: vlc_list.h:57
vlc_queue_Init
void vlc_queue_Init(vlc_queue_t *q, ptrdiff_t next_offset)
Initializes a queue.
Definition: queue.c:71
se_StreamDelete
static void se_StreamDelete(stream_t *stream)
Definition: stream_extractor.c:141
vlc_player_Stop
int vlc_player_Stop(vlc_player_t *player)
Stop the playback of the current media.
Definition: player.c:1185
vlm_media_t::b_enabled
bool b_enabled
Definition: vlc_vlm.h:47
StreamExtractorAttach
static int StreamExtractorAttach(stream_t **source, char const *identifier, char const *module_name)
Definition: stream_extractor.c:279
subtitles_Detect
int subtitles_Detect(input_thread_t *p_this, char *psz_path, const char *psz_name_org, input_item_slave_t ***ppp_slaves, int *p_slaves)
Detect subtitle files.
Definition: subtitles.c:213
vlc_input_attachment_Release
void vlc_input_attachment_Release(input_attachment_t *a)
Definition: attachment.c:40
seek_target::VLC_THUMBNAILER_SEEK_TIME
@ VLC_THUMBNAILER_SEEK_TIME
Definition: thumbnailer.c:44
VLM_EVENT_MEDIA_CHANGED
@ VLM_EVENT_MEDIA_CHANGED
Definition: vlc_vlm.h:95
SLAVE_PRIORITY_MATCH_RIGHT
@ SLAVE_PRIORITY_MATCH_RIGHT
Definition: vlc_input_item.h:152
vlc_stream_filter_private
Definition: stream_filter.c:36
VLM_EVENT_MEDIA_INSTANCE_STARTED
@ VLM_EVENT_MEDIA_INSTANCE_STARTED
Definition: vlc_vlm.h:98
vlm_ControlMediaGetId
static int vlm_ControlMediaGetId(vlm_t *p_vlm, const char *psz_name, int64_t *p_id)
Definition: vlm.c:564
STREAM_SET_SEEKPOINT
@ STREAM_SET_SEEKPOINT
arg1= int res=can fail
Definition: vlc_stream.h:167
strcpy_trim
static void strcpy_trim(char *d, const char *s)
Definition: subtitles.c:48
vlc_queue_Unlock
static void vlc_queue_Unlock(vlc_queue_t *q)
Unlocks a queue.
Definition: vlc_queue.h:99
vlm_ControlMediaInstanceStop
static int vlm_ControlMediaInstanceStop(vlm_t *p_vlm, int64_t id, const char *psz_id)
Definition: vlm.c:729
vlm_media_t::i_input
int i_input
Definition: vlc_vlm.h:51
vlc_memstream_puts
int() vlc_memstream_puts(struct vlc_memstream *ms, const char *str)
Appends a nul-terminated string to a byte stream.
Definition: memstream.c:156
VLM_PAUSE_S
@ VLM_PAUSE_S
Definition: vlc_vlm.h:108
input_SetPosition
void input_SetPosition(input_thread_t *p_input, float f_position, bool b_fast)
Definition: input.c:232
VLC_PLAYER_STATE_PLAYING
@ VLC_PLAYER_STATE_PLAYING
The player is playing.
Definition: vlc_player.h:266
vlc_cond_wait
void vlc_cond_wait(vlc_cond_t *cond, vlc_mutex_t *mutex)
Waits on a condition variable.
Definition: threads.c:340
VLC_VAR_BOOL
#define VLC_VAR_BOOL
Definition: vlc_variables.h:49
input_item_New
#define input_item_New(psz_uri, psz_name)
Definition: vlc_input_item.h:349
Control
static int Control(stream_t *, int i_query, va_list)
Definition: stream_memory.c:122
vlm_MediaInstanceNew
static vlm_media_instance_sys_t * vlm_MediaInstanceNew(vlm_media_sys_t *p_media, const char *psz_name)
Definition: vlm.c:586
stream_FilterChainNew
stream_t * stream_FilterChainNew(stream_t *source, const char *list)
Builds an explicit chain of stream filters.
Definition: stream_filter.c:109
vlc_executor_New
vlc_executor_t * vlc_executor_New(unsigned max_threads)
Create a new executor.
Definition: executor.c:173
vlm_ExecuteCommand
int vlm_ExecuteCommand(vlm_t *p_vlm, const char *psz_command, vlm_message_t **pp_message)
Definition: vlm.c:224
msg_Dbg
#define msg_Dbg(p_this,...)
Definition: vlc_messages.h:106
vlc_player_Start
int vlc_player_Start(vlc_player_t *player)
Start the playback of the current media.
Definition: player.c:1136
vlm_media_t::psz_output
char * psz_output
Definition: vlc_vlm.h:57
_
#define _(str)
Definition: vlc_fixups.h:374
vlc_queue_Signal
static void vlc_queue_Signal(vlc_queue_t *q)
Wakes one thread waiting for a queue entry up.
Definition: vlc_queue.h:107
VLM_START_MEDIA_BROADCAST_INSTANCE
@ VLM_START_MEDIA_BROADCAST_INSTANCE
Definition: vlc_vlm.h:148
psz_ext
const char psz_ext[7]
Definition: image.c:586
STREAM_SET_TITLE
@ STREAM_SET_TITLE
arg1= int res=can fail
Definition: vlc_stream.h:166
vlm_media_instance_t::i_time
int64_t i_time
Definition: vlc_vlm.h:71
stream_extractor_private::wrapper
stream_t * wrapper
the wrapping stream_t used to access the underlying stream-extractor
Definition: stream_extractor.c:72
vlc_stream_fifo_Close
void vlc_stream_fifo_Close(vlc_stream_fifo_t *writer)
Terminates a FIFO stream.
Definition: stream_fifo.c:162
se_StreamSeek
static int se_StreamSeek(stream_t *stream, uint64_t offset)
Definition: stream_extractor.c:161
stream_extractor_private::module
module_t * module
the stream-extractor module
Definition: stream_extractor.c:76
vlc_thumbnailer_cb
void(* vlc_thumbnailer_cb)(void *data, picture_t *thumbnail)
vlc_thumbnailer_cb defines a callback invoked on thumbnailing completion or error
Definition: vlc_thumbnailer.h:45
vlc_thumbnailer_t::lock
vlc_mutex_t lock
Definition: thumbnailer.c:56
vlm_media_sys_t::instance
vlm_media_instance_sys_t ** instance
Definition: vlm_internal.h:54
VLC_EGENERIC
#define VLC_EGENERIC
Unspecified error.
Definition: vlc_common.h:474
vlm_ControlMediaDel
static int vlm_ControlMediaDel(vlm_t *p_vlm, int64_t id)
Definition: vlm.c:509
StreamDelete
static void StreamDelete(stream_t *s)
Definition: stream_filter.c:41
VLC_VAR_ADDRESS
#define VLC_VAR_ADDRESS
Definition: vlc_variables.h:53
vlc_memstream_open
int vlc_memstream_open(struct vlc_memstream *ms)
Initializes a byte stream object.
Definition: memstream.c:105
STREAM_SET_PAUSE_STATE
@ STREAM_SET_PAUSE_STATE
arg1= bool res=can fail
Definition: vlc_stream.h:165
stream_extractor_t::pf_read
ssize_t(* pf_read)(struct stream_extractor_t *, void *buf, size_t len)
Definition: vlc_stream_extractor.h:62
vlc_input_event
Definition: input_internal.h:261
Trigger
static void Trigger(vlm_t *, int i_type, int64_t id, const char *psz_name)
Definition: vlm_event.c:73
VLM_OPENING_S
@ VLM_OPENING_S
Definition: vlc_vlm.h:106
vlc_memstream_close
int vlc_memstream_close(struct vlc_memstream *ms)
Closes a byte stream object.
Definition: memstream.c:120
VLC_VAR_INTEGER
#define VLC_VAR_INTEGER
Definition: vlc_variables.h:50
VLC_VAR_STRING
#define VLC_VAR_STRING
Definition: vlc_variables.h:51
vlm_ControlInternal
int vlm_ControlInternal(vlm_t *p_vlm, int i_query,...)
Definition: vlm.c:966
vlm_SendEventMediaChanged
void vlm_SendEventMediaChanged(vlm_t *, int64_t id, const char *psz_name)
Definition: vlm_event.c:51
vlm_media_sys_t::i_instance
int i_instance
Definition: vlm_internal.h:53
vlc_input.h
vlc_list
Doubly-linked list node.
Definition: vlc_list.h:43
input_attachment_t::p_data
void * p_data
Definition: vlc_input.h:168
VLC_VAR_FLOAT
#define VLC_VAR_FLOAT
Definition: vlc_variables.h:52
STREAM_SET_PRIVATE_ID_CA
@ STREAM_SET_PRIVATE_ID_CA
Definition: vlc_stream.h:173
vlm_media_instance_sys_t::i_index
int i_index
Definition: vlm_internal.h:57
vlc_queue.h
vlm_New
vlm_t * vlm_New(libvlc_int_t *libvlc, const char *psz_vlmconf)
Definition: vlm.c:109
VLC_STATIC_MUTEX
#define VLC_STATIC_MUTEX
Static initializer for (static) mutex.
Definition: vlc_threads.h:249
vlc_thumbnailer_request_t::lock
vlc_mutex_t lock
Definition: thumbnailer.c:73
picture_t
Video picture.
Definition: vlc_picture.h:120
asprintf
int asprintf(char **, const char *,...)
vlc_runnable
A Runnable encapsulates a task to be run from an executor thread.
Definition: vlc_executor.h:38
vlc_cond_signal
void vlc_cond_signal(vlc_cond_t *cond)
Wakes up one thread waiting on a condition variable.
Definition: threads.c:253
vlc_object_create
#define vlc_object_create(a, b)
Definition: vlc_objects.h:179
vlm_t::users
unsigned users
Definition: vlm_internal.h:85
vlc_mutex_t
Mutex.
Definition: vlc_threads.h:225
vlm_SendEventMediaInstanceState
void vlm_SendEventMediaInstanceState(vlm_t *p_vlm, int64_t id, const char *psz_name, const char *psz_instance_name, vlm_state_e state)
Definition: vlm_event.c:65
vlm_media_instance_t::i_length
int64_t i_length
Definition: vlc_vlm.h:72
VLM_STOP_MEDIA_INSTANCE
@ VLM_STOP_MEDIA_INSTANCE
Definition: vlc_vlm.h:150
VLM_GET_MEDIAS
@ VLM_GET_MEDIAS
Definition: vlc_vlm.h:127
VLM_GET_MEDIA
@ VLM_GET_MEDIA
Definition: vlc_vlm.h:138
paths_to_list
static char ** paths_to_list(const char *psz_dir, char *psz_path)
Convert a list of paths separated by ',' to a char**.
Definition: subtitles.c:155
STREAM_CAN_SEEK
@ STREAM_CAN_SEEK
arg1= bool * res=cannot fail
Definition: vlc_stream.h:147
input_SetTime
void input_SetTime(input_thread_t *p_input, vlc_tick_t i_time, bool b_fast)
Definition: input.c:223
vlm_SendEventMediaRemoved
void vlm_SendEventMediaRemoved(vlm_t *p_vlm, int64_t id, const char *psz_name)
Definition: vlm_event.c:47
VLC_THUMBNAILER_SEEK_FAST
@ VLC_THUMBNAILER_SEEK_FAST
Fast, but potentially imprecise.
Definition: vlc_thumbnailer.h:62
vlc_stream_fifo_private
Definition: stream_fifo.c:42
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:144
stream_t::pf_readdir
int(* pf_readdir)(stream_t *, input_item_node_t *)
Read directory.
Definition: vlc_stream.h:113
on_thumbnailer_input_event
static void on_thumbnailer_input_event(input_thread_t *input, const struct vlc_input_event *event, void *userdata)
Definition: thumbnailer.c:143
vlc_player_GetPosition
float vlc_player_GetPosition(vlc_player_t *player)
Get the position of the current media.
Definition: player.c:1367
stream_t::psz_name
char * psz_name
Definition: vlc_stream.h:50
seek_target::pos
float pos
Definition: thumbnailer.c:50
vlm_t::schedule
vlm_schedule_sys_t ** schedule
Definition: vlm_internal.h:99
STREAM_SET_PRIVATE_ID_STATE
@ STREAM_SET_PRIVATE_ID_STATE
Definition: vlc_stream.h:172
vlc_path2uri
char * vlc_path2uri(const char *path, const char *scheme)
Converts local path to URL.
Definition: url.c:143
vlm_OnMediaUpdate
static int vlm_OnMediaUpdate(vlm_t *p_vlm, vlm_media_sys_t *p_media)
Definition: vlm.c:431
msg_Warn
#define msg_Warn(p_this,...)
Definition: vlc_messages.h:104
vlc_stream_attachment_private::attachment
input_attachment_t * attachment
Definition: stream_memory.c:40
vlc_assert_unreachable
#define vlc_assert_unreachable()
Impossible branch assertion.
Definition: vlc_common.h:253
stream_extractor_t::pf_block
block_t *(* pf_block)(struct stream_extractor_t *, bool *eof)
Definition: vlc_stream_extractor.h:63
stream_extractor_AttachParsed
int stream_extractor_AttachParsed(stream_t **source, char const *data, char const **out_extra)
Attach Stream Extractors according to specified data.
Definition: stream_extractor.c:342
vlc_player_TogglePause
static void vlc_player_TogglePause(vlc_player_t *player)
Helper to toggle the pause state.
Definition: vlc_player.h:545
vlc_player_Unlock
void vlc_player_Unlock(vlc_player_t *player)
Unlock the player.
Definition: player.c:957
vlc_array_t
Definition: vlc_arrays.h:258
se_InitStream
static int se_InitStream(struct stream_extractor_private *priv, stream_t *s)
Definition: stream_extractor.c:202
Interrupt
static void Interrupt(task_t *task)
Definition: thumbnailer.c:229
se_DirControl
static int se_DirControl(stream_t *stream, int req, va_list args)
Definition: stream_extractor.c:182
vlc_thumbnailer_request_t::item
input_item_t * item
Definition: thumbnailer.c:64
DEFAULT_PTS_DELAY
#define DEFAULT_PTS_DELAY
Definition: vlc_config.h:69
vlm_schedule_sys_t::period
time_t period
Definition: vlm_internal.h:70
VLM_PAUSE_MEDIA_INSTANCE
@ VLM_PAUSE_MEDIA_INSTANCE
Definition: vlc_vlm.h:152
RequestCommon
static task_t * RequestCommon(vlc_thumbnailer_t *thumbnailer, struct seek_target seek_target, enum vlc_thumbnailer_seek_speed speed, input_item_t *item, vlc_tick_t timeout, vlc_thumbnailer_cb cb, void *userdata)
Definition: thumbnailer.c:239
vlc_memstream_printf
int vlc_memstream_printf(struct vlc_memstream *ms, const char *fmt,...)
Appends a formatted string to a byte stream.
Definition: memstream.c:194
vlc_thumbnailer_RequestByTime
task_t * vlc_thumbnailer_RequestByTime(vlc_thumbnailer_t *thumbnailer, vlc_tick_t time, enum vlc_thumbnailer_seek_speed speed, input_item_t *item, vlc_tick_t timeout, vlc_thumbnailer_cb cb, void *userdata)
vlc_thumbnailer_RequestByTime Requests a thumbnailer at a given time
Definition: thumbnailer.c:261
subtitles_Filter
int subtitles_Filter(const char *psz_dir_content)
Definition: subtitles.c:137
vlc_tick_now
vlc_tick_t vlc_tick_now(void)
Precision monotonic clock.
Definition: thread.c:261
vlc_stream_fifo
Definition: stream_fifo.c:37
vlm_ControlMediaClear
static int vlm_ControlMediaClear(vlm_t *p_vlm)
Definition: vlm.c:548
vlm_t::input_state_changed
bool input_state_changed
Definition: vlm_internal.h:88
vlc_runnable::run
void(* run)(void *userdata)
This function is to be executed by a vlc_executor_t.
Definition: vlc_executor.h:55
vlc_memstream::stream
FILE * stream
Definition: vlc_memstream.h:45
i_type
int i_type
Definition: httpd.c:1269
vlm_media_t
VLM media.
Definition: vlc_vlm.h:44
vlm_ControlMediaInstancePause
static int vlm_ControlMediaInstancePause(vlm_t *p_vlm, int64_t id, const char *psz_id)
Definition: vlm.c:745
vlm_media_instance_sys_t::p_item
input_item_t * p_item
Definition: vlm_internal.h:60
INPUT_EVENT_STATE
@ INPUT_EVENT_STATE
Definition: input_internal.h:81
vlc_player_New
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
seek_target
Definition: thumbnailer.c:40
module_t
Internal module descriptor.
Definition: modules.h:78
vlc_player_SetCurrentMedia
int vlc_player_SetCurrentMedia(vlc_player_t *player, input_item_t *media)
Set the current media.
Definition: player.c:1000
VLM_ADD_MEDIA
@ VLM_ADD_MEDIA
Definition: vlc_vlm.h:132
vlc_array_count
static size_t vlc_array_count(vlc_array_t *p_array)
Definition: vlc_arrays.h:277
stream_extractor_private::extractor
stream_extractor_t extractor
Definition: stream_extractor.c:50
vlc_memstream.h
vlc_tick_t
int64_t vlc_tick_t
High precision date or time interval.
Definition: vlc_tick.h:45
vlm_media_instance_sys_t::psz_name
char * psz_name
Definition: vlm_internal.h:54
vlc_thumbnailer_request_t::timeout
vlc_tick_t timeout
A positive value will be used as the timeout duration VLC_TICK_INVALID means no timeout.
Definition: thumbnailer.c:69
vlm_t
Definition: vlm_internal.h:77
vlm_t::exiting
bool exiting
Definition: vlm_internal.h:89
vlc_list_remove
static void vlc_list_remove(struct vlc_list *restrict node)
Removes an element from a list.
Definition: vlc_list.h:135
vlc_queue_DequeueAllUnlocked
void * vlc_queue_DequeueAllUnlocked(vlc_queue_t *q)
Dequeues all entries (without locking).
Definition: queue.c:116
VLM_CLEAR_MEDIA_INSTANCES
@ VLM_CLEAR_MEDIA_INSTANCES
Definition: vlc_vlm.h:146
input_item_slave::b_forced
bool b_forced
Slave should be selected.
Definition: vlc_input_item.h:190
VLM_SET_MEDIA_INSTANCE_POSITION
@ VLM_SET_MEDIA_INSTANCE_POSITION
Definition: vlc_vlm.h:160
vlm_media_Clean
static void vlm_media_Clean(vlm_media_t *p_media)
Cleanup and release memory associated with this vlm_media_t instance.
Definition: vlc_vlm.h:254
vlc_thumbnailer_Create
vlc_thumbnailer_t * vlc_thumbnailer_Create(vlc_object_t *parent)
vlc_thumbnailer_Create Creates a thumbnailer object
Definition: thumbnailer.c:296
VLM_CHANGE_MEDIA
@ VLM_CHANGE_MEDIA
Definition: vlc_vlm.h:136
vlc_list_append
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
block_Alloc
block_t * block_Alloc(size_t size)
Allocates a block.
Definition: block.c:108
input_Close
void input_Close(input_thread_t *p_input)
Close an input.
Definition: input.c:215
vlc_queue_DequeueKillable
static void * vlc_queue_DequeueKillable(vlc_queue_t *q, bool *restrict tombstone)
Dequeues one entry from a killable queue.
Definition: vlc_queue.h:242
stream_t::pf_seek
int(* pf_seek)(stream_t *, uint64_t)
Seek.
Definition: vlc_stream.h:124
vlc_stream_CustomNew
stream_t * vlc_stream_CustomNew(vlc_object_t *parent, void(*destroy)(stream_t *), size_t size, const char *type_name)
Allocates a VLC stream object.
Definition: stream.c:68
vlc_thumbnailer_request_t::cond_ended
vlc_cond_t cond_ended
Definition: thumbnailer.c:74
se_StreamBlock
static block_t * se_StreamBlock(stream_t *stream, bool *eof)
Definition: stream_extractor.c:154
stream_t::psz_url
char * psz_url
Full URL or MRL (can be NULL)
Definition: vlc_stream.h:51
vlc_stream_memory_private
Definition: stream_memory.c:30
vlc_uri2path
char * vlc_uri2path(const char *url)
Converts a URI to a local path.
Definition: url.c:247
stream_extractor_t::pf_seek
int(* pf_seek)(struct stream_extractor_t *, uint64_t)
Definition: vlc_stream_extractor.h:64
vlm_SendEventMediaInstanceState
void vlm_SendEventMediaInstanceState(vlm_t *, int64_t id, const char *psz_name, const char *psz_instance_name, vlm_state_e state)
Definition: vlm_event.c:65
vlc_player_GetLength
vlc_tick_t vlc_player_GetLength(vlc_player_t *player)
Get the length of the current media.
Definition: player.c:1349
mrl_FragmentSplit
static int mrl_FragmentSplit(vlc_array_t *out_items, char const **out_extra, char const *payload)
Split an MRL-fragment into identifiers.
Definition: mrl_helpers.h:115
vlc_stream_extractor.h
VLC_TICK_INVALID
#define VLC_TICK_INVALID
Definition: vlc_config.h:44
se_InitDirectory
static int se_InitDirectory(struct stream_extractor_private *priv, stream_t *s)
Definition: stream_extractor.c:224
vlm_state_e
vlm_state_e
Definition: vlc_vlm.h:103
vlc_player_SetPosition
static void vlc_player_SetPosition(vlc_player_t *player, float position)
Helper to set the absolute position precisely.
Definition: vlc_player.h:721
vlm_media_instance_sys_t::player
vlc_player_t * player
Definition: vlm_internal.h:61
stream.h
TAB_APPEND
#define TAB_APPEND(count, tab, p)
Definition: vlc_arrays.h:79
vlc_player_Lock
void vlc_player_Lock(vlc_player_t *player)
Lock the player.
Definition: player.c:941
task::item
input_item_t * item
Definition: fetcher.c:57
vlc_thumbnailer_request_t
Definition: thumbnailer.c:58
vlc_player_SetTime
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
vlm_MediaInstanceDelete
static void vlm_MediaInstanceDelete(vlm_t *p_vlm, int64_t id, vlm_media_instance_sys_t *p_instance, vlm_media_sys_t *p_media)
Definition: vlm.c:633
vlm_SendEventMediaInstanceStarted
void vlm_SendEventMediaInstanceStarted(vlm_t *, int64_t id, const char *psz_name)
Definition: vlm_event.c:56
vlm_ControlMediaGets
static int vlm_ControlMediaGets(vlm_t *p_vlm, vlm_media_t ***ppp_dsc, int *pi_dsc)
Definition: vlm.c:531
vlc_memstream_putc
int vlc_memstream_putc(struct vlc_memstream *ms, int c)
Appends a single byte to a byte stream.
Definition: memstream.c:151
Read
static ssize_t Read(stream_t *, void *p_read, size_t i_read)
Definition: stream_memory.c:173
vlm_media_sys_t::cfg
vlm_media_t cfg
Definition: vlm_internal.h:50
vlc_opendir
DIR * vlc_opendir(const char *dirname)
Opens a DIR pointer.
Definition: filesystem.c:110
vlc_thumbnailer_t
Definition: thumbnailer.c:31
mrl_helpers.h
strtok_r
char * strtok_r(char *, const char *, char **)
vlm_t::media
vlm_media_sys_t ** media
Definition: vlm_internal.h:95
vlc_player_IsStarted
static bool vlc_player_IsStarted(vlc_player_t *player)
Helper to get the started state.
Definition: vlc_player.h:519
strcpy_strip_ext
static void strcpy_strip_ext(char *d, const char *s)
Definition: subtitles.c:77
vlm_ControlMediaGetById
static vlm_media_sys_t * vlm_ControlMediaGetById(vlm_t *p_vlm, int64_t id)
Definition: vlm.c:395
stream_t
stream_t definition
Definition: vlc_stream.h:46
vlm_Control
int vlm_Control(vlm_t *p_vlm, int i_query,...)
Definition: vlm.c:978
whiteonly
static int whiteonly(const char *s)
Definition: subtitles.c:105
VLM_GET_MEDIA_ID
@ VLM_GET_MEDIA_ID
Definition: vlc_vlm.h:140
VLC_PLAYER_STATE_STOPPING
@ VLC_PLAYER_STATE_STOPPING
The player is stopping.
Definition: vlc_player.h:281
vlm_media_sys_t::obj
struct vlc_object_t obj
Definition: vlm_internal.h:49
STREAM_GET_META
@ STREAM_GET_META
arg1= vlc_meta_t * res=can fail
Definition: vlc_stream.h:159
stream_t::s
stream_t * s
Input stream.
Definition: vlc_stream.h:65
vlm_MediaDescriptionCheck
static int vlm_MediaDescriptionCheck(vlm_t *p_vlm, vlm_media_t *p_cfg)
Definition: vlm.c:413
strlcpy
size_t strlcpy(char *, const char *, size_t)
task::node
struct vlc_list node
node of input_fetcher_t.submitted_tasks
Definition: fetcher.c:65
input_item_Release
void input_item_Release(input_item_t *p_item)
Releases an input item, i.e.
Definition: item.c:450
stream_extractor_private::object
vlc_object_t * object
the underlying stream-extractor object
Definition: stream_extractor.c:78
SLAVE_PRIORITY_MATCH_ALL
@ SLAVE_PRIORITY_MATCH_ALL
Definition: vlc_input_item.h:154
VLM_DEL_MEDIA
@ VLM_DEL_MEDIA
Definition: vlc_vlm.h:134
player_on_state_changed
static void player_on_state_changed(vlc_player_t *player, enum vlc_player_state new_state, void *data)
Definition: vlm.c:59
RunnableRun
static void RunnableRun(void *)
Definition: thumbnailer.c:176
vlc_thumbnailer_t::executor
vlc_executor_t * executor
Definition: thumbnailer.c:54
vlm_schedule_sys_t::date
time_t date
Definition: vlm_internal.h:67
vlm_media_t::id
int64_t id
Definition: vlc_vlm.h:46
libvlc_priv_t::p_vlm
vlm_t * p_vlm
the VLM singleton (or NULL)
Definition: libvlc.h:184
se_Release
static void se_Release(struct stream_extractor_private *priv)
Release the private data associated with a stream-extractor.
Definition: stream_extractor.c:118
stream_extractor_t::source
stream_t * source
the source stream to be consumed
Definition: vlc_stream_extractor.h:69
stream_extractor_t
Definition: vlc_stream_extractor.h:51
stream_extractor_private::source
stream_t * source
the source stream consumed by the stream-extractor
Definition: stream_extractor.c:75
vlm_schedule_sys_t::b_enabled
bool b_enabled
Definition: vlm_internal.h:61
VLM_EVENT_MEDIA_INSTANCE_STOPPED
@ VLM_EVENT_MEDIA_INSTANCE_STOPPED
Definition: vlc_vlm.h:99
vlc_fs.h
vlm_event_t::i_type
int i_type
Definition: vlc_vlm.h:115
STREAM_GET_PTS_DELAY
@ STREAM_GET_PTS_DELAY
arg1= vlc_tick_t* res=cannot fail
Definition: vlc_stream.h:155
vlc_sout.h
stream_t::pf_control
int(* pf_control)(stream_t *, int i_query, va_list)
Stream control.
Definition: vlc_stream.h:133
input_Stop
void input_Stop(input_thread_t *p_input)
Request a running input thread to stop and die.
Definition: input.c:192
vlc_url.h
vlc_thumbnailer_t::submitted_tasks
struct vlc_list submitted_tasks
list of struct thumbnailer_task
Definition: thumbnailer.c:57
mrl_EscapeFragmentIdentifier
static int mrl_EscapeFragmentIdentifier(char **out, char const *payload)
Escape a fragment identifier for use within an MRL.
Definition: mrl_helpers.h:58
DIR_SEP_CHAR
#define DIR_SEP_CHAR
Definition: vlc_common.h:1220
input_ConfigVarInit
void input_ConfigVarInit(input_thread_t *p_input)
Definition: var.c:39
stream_t::p_input_item
input_item_t * p_input_item
Input item (can be NULL)
Definition: vlc_stream.h:55
STREAM_GET_SEEKPOINT
@ STREAM_GET_SEEKPOINT
arg1=unsigned * res=can fail
Definition: vlc_stream.h:158
vlc_object_t
VLC object common members.
Definition: vlc_objects.h:43
VLC_ENOMEM
#define VLC_ENOMEM
Not enough memory.
Definition: vlc_common.h:476
vlm_t::i_schedule
int i_schedule
Definition: vlm_internal.h:98
VLC_UNUSED
#define VLC_UNUSED(x)
Definition: vlc_common.h:1105
vlm_SendEventMediaAdded
void vlm_SendEventMediaAdded(vlm_t *p_vlm, int64_t id, const char *psz_name)
Definition: vlm_event.c:43
task::cond_ended
vlc_cond_t cond_ended
Definition: preparser.c:59
vlc_stream_extractor_Attach
int vlc_stream_extractor_Attach(stream_t **source, char const *identifier, char const *module_name)
Definition: stream_extractor.c:335
vlm_media_instance_sys_t::listener
vlc_player_listener_id * listener
Definition: vlm_internal.h:62
VLM_PLAYING_S
@ VLM_PLAYING_S
Definition: vlc_vlm.h:107
vlm_t::thread
vlc_thread_t thread
Definition: vlm_internal.h:82
vlc_stream.h
vlc_thumbnailer_RequestByPos
task_t * vlc_thumbnailer_RequestByPos(vlc_thumbnailer_t *thumbnailer, float pos, enum vlc_thumbnailer_seek_speed speed, input_item_t *item, vlc_tick_t timeout, vlc_thumbnailer_cb cb, void *userdata)
vlc_thumbnailer_RequestByTime Requests a thumbnailer at a given time
Definition: thumbnailer.c:276
VLC_SUCCESS
#define VLC_SUCCESS
No error.
Definition: vlc_common.h:472
input_attachment_t::i_data
size_t i_data
Definition: vlc_input.h:167
vlc_input_event::type
input_event_type_e type
Definition: input_internal.h:263
vlc_array_clear
static void vlc_array_clear(vlc_array_t *p_array)
Definition: vlc_arrays.h:270
vlc_stream_MemoryNew
stream_t *() vlc_stream_MemoryNew(vlc_object_t *p_this, uint8_t *p_buffer, size_t i_size, bool preserve)
Create a stream from a memory buffer.
Definition: stream_memory.c:67
VLC_INPUT_OPTION_TRUSTED
@ VLC_INPUT_OPTION_TRUSTED
Definition: vlc_input_item.h:239
stream_MemoryPreserveDelete
static void stream_MemoryPreserveDelete(stream_t *s)
Definition: stream_memory.c:47
strdup
char * strdup(const char *)
stream_extractor_private::directory
stream_directory_t directory
Definition: stream_extractor.c:51
vlm_SendEventMediaRemoved
void vlm_SendEventMediaRemoved(vlm_t *, int64_t id, const char *psz_name)
Definition: vlm_event.c:47
VLC_PLAYER_STATE_PAUSED
@ VLC_PLAYER_STATE_PAUSED
The player is paused.
Definition: vlc_player.h:273
ExecuteCommand
int ExecuteCommand(vlm_t *, const char *, vlm_message_t **)
vlc_executor_Cancel
bool vlc_executor_Cancel(vlc_executor_t *executor, struct vlc_runnable *runnable)
Cancel a runnable previously submitted.
Definition: executor.c:223
VLM_GET_MEDIA_INSTANCES
@ VLM_GET_MEDIA_INSTANCES
Definition: vlc_vlm.h:144
stream_extractor_t::identifier
char const * identifier
the name of the entity to be extracted
Definition: vlc_stream_extractor.h:68
NotifyThumbnail
static void NotifyThumbnail(task_t *task, picture_t *pic)
Definition: thumbnailer.c:136
vlc_custom_create
#define vlc_custom_create(o, s, n)
Definition: libvlc.h:117
VLM_EVENT_MEDIA_REMOVED
@ VLM_EVENT_MEDIA_REMOVED
Definition: vlc_vlm.h:94
vlm_t::lock_manage
vlc_mutex_t lock_manage
Definition: vlm_internal.h:83
vlm_ControlMediaInstanceGetByName
static vlm_media_instance_sys_t * vlm_ControlMediaInstanceGetByName(vlm_media_sys_t *p_media, const char *psz_id)
Definition: vlm.c:574
input_priv
static input_thread_private_t * input_priv(input_thread_t *input)
Definition: input_internal.h:537
vlc_stream_fifo_private::writer
vlc_stream_fifo_t * writer
Definition: stream_fifo.c:43
vlc_block.h
vlm_media_t::i_option
int i_option
Definition: vlc_vlm.h:54
vlc_mutex_lock
void vlc_mutex_lock(vlc_mutex_t *mtx)
Acquires a mutex.
Definition: threads.c:158
vlm_media_instance_t
VLM media instance.
Definition: vlc_vlm.h:67
input_Start
int input_Start(input_thread_t *p_input)
Start a input_thread_t created by input_Create.
Definition: input.c:167
strcoll
#define strcoll
Definition: strings.c:42
name
const char name[16]
Definition: httpd.c:1268
stream_t::pf_read
ssize_t(* pf_read)(stream_t *, void *buf, size_t len)
Read data.
Definition: vlc_stream.h:85
vlc_player_state
vlc_player_state
State of the player.
Definition: vlc_player.h:243
input_CreateThumbnailer
input_thread_t * input_CreateThumbnailer(vlc_object_t *obj, input_thread_events_cb events_cb, void *events_data, input_item_t *item)
Definition: input.c:152
TAB_INIT
#define TAB_INIT(count, tab)
Definition: vlc_arrays.h:55
vlc_player_RemoveListener
void vlc_player_RemoveListener(vlc_player_t *player, vlc_player_listener_id *id)
Remove a listener callback.
Definition: player.c:989
vlc_array_item_at_index
#define vlc_array_item_at_index(ar, idx)
Definition: vlc_arrays.h:283
TaskNew
static task_t * TaskNew(vlc_thumbnailer_t *thumbnailer, input_item_t *item, struct seek_target seek_target, bool fast_seek, vlc_thumbnailer_cb cb, void *userdata, vlc_tick_t timeout)
Definition: thumbnailer.c:85
input_item_slave
Definition: vlc_input_item.h:186
vlc_cond_t
Condition variable.
Definition: vlc_threads.h:349
vlc_player_cbs::on_state_changed
void(* on_state_changed)(vlc_player_t *player, enum vlc_player_state new_state, void *data)
Called when the player state has changed.
Definition: vlc_player.h:2771
sub_exts
static const char *const sub_exts[]
The possible extensions for subtitle files we support.
Definition: subtitles.c:46
STREAM_GET_CONTENT_TYPE
@ STREAM_GET_CONTENT_TYPE
arg1= char ** res=can fail
Definition: vlc_stream.h:160
vlm_t::wait_manage
vlc_cond_t wait_manage
Definition: vlm_internal.h:84
vlm_vaControlInternal
static int vlm_vaControlInternal(vlm_t *p_vlm, int i_query, va_list args)
Definition: vlm.c:855
US_FROM_VLC_TICK
#define US_FROM_VLC_TICK(vtk)
Definition: vlc_tick.h:138
vlc_stream_fifo_Queue
int vlc_stream_fifo_Queue(vlc_stream_fifo_t *writer, block_t *block)
Writes a block to a FIFO stream.
Definition: stream_fifo.c:132
TAB_REMOVE
#define TAB_REMOVE(count, tab, p)
Definition: vlc_arrays.h:106
vlm_schedule_sys_t::i_command
int i_command
Definition: vlm_internal.h:63
vlm_SendEventMediaInstanceStarted
void vlm_SendEventMediaInstanceStarted(vlm_t *p_vlm, int64_t id, const char *psz_name)
Definition: vlm_event.c:56
vlm_media_instance_sys_t::p_parent
vlc_object_t * p_parent
Definition: vlm_internal.h:59
VLM_END_S
@ VLM_END_S
Definition: vlc_vlm.h:109
vlm_media_t::b_loop
bool b_loop
Definition: vlc_vlm.h:61
stream_extractor_private::pf_clean
void(* pf_clean)(struct stream_extractor_private *)
Callback to handle clean-up.
Definition: stream_extractor.c:70
vlm_media_sys_t
Definition: vlm_internal.h:47
CancelAllTasks
static void CancelAllTasks(vlc_thumbnailer_t *thumbnailer)
Definition: thumbnailer.c:317
vlm_ScheduleDelete
void vlm_ScheduleDelete(vlm_t *vlm, vlm_schedule_sys_t *sched)
task::runnable
struct vlc_runnable runnable
to be passed to the executor
Definition: fetcher.c:64
vlc_executor_Submit
void vlc_executor_Submit(vlc_executor_t *executor, struct vlc_runnable *runnable)
Submit a runnable for execution.
Definition: executor.c:206
Seek
static int Seek(stream_t *, uint64_t)
Definition: stream_memory.c:185
strcpy_get_ext
static void strcpy_get_ext(char *d, const char *s)
Definition: subtitles.c:96
vlc_stream_fifo_Block
static block_t * vlc_stream_fifo_Block(stream_t *s, bool *restrict eof)
Definition: stream_fifo.c:72
var_GetInteger
static int64_t var_GetInteger(vlc_object_t *p_obj, const char *psz_name)
Get an integer value.
Definition: vlc_variables.h:374
vlc_stream_CommonNew
stream_t * vlc_stream_CommonNew(vlc_object_t *parent, void(*destroy)(stream_t *))
Definition: stream.c:108
SLAVE_SPU_EXTENSIONS
#define SLAVE_SPU_EXTENSIONS
Definition: vlc_input_item.h:171
vlc_LogHeaderCreate
struct vlc_logger * vlc_LogHeaderCreate(struct vlc_logger *parent, const char *str)
Creates a prefixed message log.
Definition: messages.c:505
vlc_list_foreach
#define vlc_list_foreach(pos, head, member)
List iteration macro.
Definition: vlc_list.h:261
vlc_stream_Delete
void vlc_stream_Delete(stream_t *s)
Destroy a stream.
Definition: stream.c:133
STREAM_CAN_CONTROL_PACE
@ STREAM_CAN_CONTROL_PACE
arg1= bool * res=cannot fail
Definition: vlc_stream.h:150
vlm_t::i_id
int64_t i_id
Definition: vlm_internal.h:91
VLM_INIT_S
@ VLM_INIT_S
Definition: vlc_vlm.h:105
vlm_ControlMediaGet
static int vlm_ControlMediaGet(vlm_t *p_vlm, int64_t id, vlm_media_t **pp_dsc)
Definition: vlm.c:555
vlc_object_parent
#define vlc_object_parent(o)
Definition: vlc_objects.h:158
vlc_executor_Delete
void vlc_executor_Delete(vlc_executor_t *executor)
Delete an executor.
Definition: executor.c:256
vlc_player_Delete
void vlc_player_Delete(vlc_player_t *player)
Delete a player instance.
Definition: player.c:1873
VLC_TICK_FROM_US
#define VLC_TICK_FROM_US(us)
Definition: vlc_tick.h:137
vlc_thumbnailer_request_t::node
struct vlc_list node
node of vlc_thumbnailer_t.submitted_tasks
Definition: thumbnailer.c:79
ERROR_S
@ ERROR_S
Definition: input_internal.h:71
vlc_stream_extractor_CreateMRL
char * vlc_stream_extractor_CreateMRL(stream_directory_t *directory, char const *subentry)
Create a relative MRL for the associated entity.
Definition: stream_extractor.c:371
libvlc.h
vlc_thumbnailer_request_t::userdata
void * userdata
Definition: thumbnailer.c:71
vlm_message_t
Definition: vlc_vlm.h:176
STREAM_GET_PRIVATE_ID_STATE
@ STREAM_GET_PRIVATE_ID_STATE
Definition: vlc_stream.h:174
vlm_media_Duplicate
static vlm_media_t * vlm_media_Duplicate(vlm_media_t *p_src)
Copy a vlm_media_t instance.
Definition: vlc_vlm.h:297
Manage
static void * Manage(void *)
Definition: vlm.c:239
vlm_SendEventMediaInstanceStopped
void vlm_SendEventMediaInstanceStopped(vlm_t *, int64_t id, const char *psz_name)
Definition: vlm_event.c:60
vlm_ControlMediaInstanceClear
static int vlm_ControlMediaInstanceClear(vlm_t *p_vlm, int64_t id)
Definition: vlm.c:834
vlc_player_GetRate
float vlc_player_GetRate(vlc_player_t *player)
Get the rate of the player.
Definition: player.c:1282
vlc_object_delete
#define vlc_object_delete(obj)
Definition: vlc_objects.h:136
var_SetAddress
static int var_SetAddress(vlc_object_t *p_obj, const char *psz_name, void *ptr)
Set the value of a pointer variable.
Definition: vlc_variables.h:360
vlc_stream_attachment_private::memory
struct vlc_stream_memory_private memory
Definition: stream_memory.c:39
vlm_t::lock
vlc_mutex_t lock
Definition: vlm_internal.h:81
ThumbnailerAddTask
static void ThumbnailerAddTask(vlc_thumbnailer_t *thumbnailer, task_t *task)
Definition: thumbnailer.c:121
likely
#define likely(p)
Predicted true condition.
Definition: vlc_common.h:218
slave_strcmp
static int slave_strcmp(const void *a, const void *b)
Definition: subtitles.c:118
SLAVE_PRIORITY_MATCH_NONE
@ SLAVE_PRIORITY_MATCH_NONE
Definition: vlc_input_item.h:151
seek_target::VLC_THUMBNAILER_SEEK_POS
@ VLC_THUMBNAILER_SEEK_POS
Definition: thumbnailer.c:45
stream_t::psz_filepath
char * psz_filepath
Local file path (if applicable)
Definition: vlc_stream.h:53
block_t::p_buffer
uint8_t * p_buffer
Payload start.
Definition: vlc_block.h:121
vlm_media_t::ppsz_input
char ** ppsz_input
Definition: vlc_vlm.h:52
VLM_CLEAR_SCHEDULES
@ VLM_CLEAR_SCHEDULES
Definition: vlc_vlm.h:163
VLC_OBJECT
#define VLC_OBJECT(x)
Type-safe vlc_object_t cast.
Definition: vlc_objects.h:70
STREAM_GET_SIGNAL
@ STREAM_GET_SIGNAL
arg1=double *pf_quality, arg2=double *pf_strength res=can fail
Definition: vlc_stream.h:161
vlc_thumbnailer_request_t::ended
bool ended
Definition: thumbnailer.c:75
stream_directory_t::source
stream_t * source
the source stream to be consumed
Definition: vlc_stream_extractor.h:88
vlm_ControlScheduleClear
static int vlm_ControlScheduleClear(vlm_t *p_vlm)
Definition: vlm.c:847
STREAM_GET_SIZE
@ STREAM_GET_SIZE
arg1= uint64_t * res=can fail
Definition: vlc_stream.h:152
se_StreamRead
static ssize_t se_StreamRead(stream_t *stream, void *buf, size_t len)
Definition: stream_extractor.c:147
vlm_SendEventMediaChanged
void vlm_SendEventMediaChanged(vlm_t *p_vlm, int64_t id, const char *psz_name)
Definition: vlm_event.c:51
input_item_slave_Delete
#define input_item_slave_Delete(p_slave)
Definition: vlc_input_item.h:264
se_AttachWrapper
static int se_AttachWrapper(struct stream_extractor_private *priv, stream_t *source)
Create the public stream_t that wraps a stream-extractor.
Definition: stream_extractor.c:254
input_thread_t
Main structure representing an input thread.
Definition: input_internal.h:48
input_item_SetURI
void input_item_SetURI(input_item_t *p_i, const char *psz_uri)
Definition: item.c:299
stream_extractor_private
Definition: stream_extractor.c:48
VLM_GET_MEDIA_INSTANCE_POSITION
@ VLM_GET_MEDIA_INSTANCE_POSITION
Definition: vlc_vlm.h:158
vlc_cond_init
void vlc_cond_init(vlc_cond_t *cond)
Initializes a condition variable.
Definition: threads.c:234
input_item_node_t
Definition: vlc_input_item.h:194
stream_directory_t
Definition: vlc_stream_extractor.h:74
VLC_PLAYER_STATE_STOPPED
@ VLC_PLAYER_STATE_STOPPED
The player is stopped.
Definition: vlc_player.h:251
vlc_stream_Private
void * vlc_stream_Private(stream_t *stream)
Definition: stream.c:103
vlm_media_instance_t::b_paused
bool b_paused
Definition: vlc_vlm.h:74
vlc_stream_directory_Attach
int vlc_stream_directory_Attach(stream_t **source, char const *module_name)
Definition: stream_extractor.c:329
task::lock
vlc_mutex_t lock
Definition: preparser.c:58
vlc_cond_timedwait
int vlc_cond_timedwait(vlc_cond_t *cond, vlc_mutex_t *mutex, vlc_tick_t deadline)
Waits on a condition variable up to a certain date.
Definition: threads.c:349
input_item_Hold
input_item_t * input_item_Hold(input_item_t *p_item)
Holds an input item, i.e.
Definition: item.c:442
vlc_thumbnailer_t::parent
vlc_object_t * parent
Definition: thumbnailer.c:53
module_unneed
#define module_unneed(a, b)
Definition: vlc_modules.h:126
state
static thread_local struct @76 state
vlc_player_cbs
Player callbacks.
Definition: vlc_player.h:2742
vlm_mutex
static vlc_mutex_t vlm_mutex
Definition: vlm.c:104
vlm_MessageDelete
noreturn void vlm_MessageDelete(vlm_message_t *m)
Definition: missing.c:210
input_internal.h
stream_AttachmentDelete
static void stream_AttachmentDelete(stream_t *s)
Definition: stream_memory.c:59
VLM_GET_MEDIA_INSTANCE_TIME
@ VLM_GET_MEDIA_INSTANCE_TIME
Definition: vlc_vlm.h:154
block_Release
void block_Release(block_t *block)
Releases a block.
Definition: block.c:135
vlc_stream_fifo::eof
bool eof
Definition: stream_fifo.c:57
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:151
STREAM_CAN_FASTSEEK
@ STREAM_CAN_FASTSEEK
arg1= bool * res=cannot fail
Definition: vlc_stream.h:148
vlc_input_event::state
struct vlc_input_event_state state
Definition: input_internal.h:267
vlc_stream_memory_private::i_pos
size_t i_pos
Definition: stream_memory.c:52
vlc_mutex_unlock
void vlc_mutex_unlock(vlc_mutex_t *mtx)
Releases a mutex.
Definition: threads.c:209
vlc_cond_timedwait_daytime
int vlc_cond_timedwait_daytime(vlc_cond_t *cond, vlc_mutex_t *mutex, time_t deadline)
Definition: threads.c:362
vlc_object_instance
#define vlc_object_instance(o)
Definition: vlc_objects.h:195
stream_t::p_sys
void * p_sys
Private data pointer.
Definition: vlc_stream.h:138
ThumbnailerRemoveTask
static void ThumbnailerRemoveTask(vlc_thumbnailer_t *thumbnailer, task_t *task)
Definition: thumbnailer.c:129
block_t
Definition: vlc_block.h:117
vlc_queue_EnqueueUnlocked
void vlc_queue_EnqueueUnlocked(vlc_queue_t *q, void *entry)
Queues an entry (without locking).
Definition: queue.c:80
task::timeout
vlc_tick_t timeout
Definition: preparser.c:54
vlm_ControlMediaInstanceGetTimePosition
static int vlm_ControlMediaInstanceGetTimePosition(vlm_t *p_vlm, int64_t id, const char *psz_id, int64_t *pi_time, double *pd_position)
Definition: vlm.c:762
msg_Err
#define msg_Err(p_this,...)
Definition: vlc_messages.h:102
vlc_player_Resume
void vlc_player_Resume(vlc_player_t *player)
Resume the playback from a pause.
Definition: player.c:1243
vlc_stream_AttachmentNew
stream_t * vlc_stream_AttachmentNew(vlc_object_t *p_this, input_attachment_t *attachment)
Definition: stream_memory.c:90
stream_extractor_private::pf_init
int(* pf_init)(struct stream_extractor_private *, stream_t *)
Callback to handle initialization.
Definition: stream_extractor.c:61
vlc_player_GetError
enum vlc_player_error vlc_player_GetError(vlc_player_t *player)
Get the error state of the player.
Definition: player.c:1268
module_need
#define module_need(a, b, c, d)
Definition: vlc_modules.h:111
END_S
@ END_S
Definition: input_internal.h:70
VLM_SET_MEDIA_INSTANCE_TIME
@ VLM_SET_MEDIA_INSTANCE_TIME
Definition: vlc_vlm.h:156
input_item_slave::psz_uri
char psz_uri[]
Slave mrl.
Definition: vlc_input_item.h:191
stream_FilterChainNew
stream_t * stream_FilterChainNew(stream_t *p_source, const char *psz_chain)
Builds an explicit chain of stream filters.
Definition: stream_filter.c:109
vlc_modules.h
vlc_player_IsPaused
static bool vlc_player_IsPaused(vlc_player_t *player)
Helper to get the paused state.
Definition: vlc_player.h:536
vlc_stream_fifo::queue
vlc_queue_t queue
Definition: stream_fifo.c:56
vlc_stream_attachment_private
Definition: stream_memory.c:37
stream_FilterAutoNew
stream_t * stream_FilterAutoNew(stream_t *p_source)
Probes stream filters automatically.
Definition: stream_filter.c:93
vlc_input_event_state::value
input_state_e value
Definition: input_internal.h:156
vlc_thumbnailer_request_t::cb
vlc_thumbnailer_cb cb
Definition: thumbnailer.c:70
vlc_thumbnailer_seek_speed
vlc_thumbnailer_seek_speed
Definition: vlc_thumbnailer.h:57
vlm_media_instance_New
static vlm_media_instance_t * vlm_media_instance_New(void)
Allocate a new vlm_media_instance_t.
Definition: vlc_vlm.h:334