Go to the documentation of this file.
21 #ifndef VLC_PLAYLIST_CONTENT_H
22 #define VLC_PLAYLIST_CONTENT_H
ssize_t vlc_playlist_IndexOf(vlc_playlist_t *playlist, const vlc_playlist_item_t *item)
Return the index of a given item.
Definition: content.c:196
vlc_tick_t value
Definition: timer.c:66
const char * name
Program name, always valid.
Definition: vlc_player.h:1179
vlc_player_t * player
Definition: playlist.h:50
void vlc_mutex_init(vlc_mutex_t *mtx)
Initializes a fast mutex.
Definition: threads.c:123
vlc_mutex_t vout_listeners_lock
Definition: player.h:233
size_t count
Definition: core.c:401
size_t size
Definition: player.h:46
static char * seekpoint_GetName(seekpoint_t *seekpoint, int idx, int chapter_offset)
Definition: title.c:85
vlc_mutex_t lock
Definition: timer.c:63
#define add_overflow(a, b, r)
Overflowing addition.
Definition: vlc_common.h:860
void * data
Definition: player.h:179
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
@ VIDEO_ES
Definition: vlc_es.h:603
Player vout callbacks.
Definition: vlc_player.h:2512
ssize_t current
Definition: notify.h:37
void * cbs_data
Definition: player.h:151
struct vlc_player_title_list * vlc_player_title_list_Hold(struct vlc_player_title_list *titles)
Hold the title list of the player.
Definition: title.c:31
Definition: playlist.h:48
void(* on_update)(const struct vlc_player_timer_point *value, void *data)
Called when the state or the time changed.
Definition: vlc_player.h:3321
bool vlc_playlist_ComputeHasNext(vlc_playlist_t *playlist)
Definition: control.c:300
vlc_tick_t vlc_player_timer_point_GetNextIntervalDate(const struct vlc_player_timer_point *point, vlc_tick_t system_now, vlc_tick_t interpolated_ts, vlc_tick_t next_interval)
Get the date of the next interval.
Definition: timer.c:515
int vlc_player_program_Update(struct vlc_player_program *prgm, int id, const char *name)
Definition: track.c:60
void vlc_es_id_Release(vlc_es_id_t *id)
Decrease the ES track id reference count.
Definition: es_out.c:4514
float position
Position in the range [0.0f;1.0].
Definition: vlc_player.h:3259
struct vlc_player_track * vlc_player_track_Dup(const struct vlc_player_track *src)
Duplicate a track.
Definition: track.c:157
const struct vlc_player_vout_cbs * cbs
Definition: player.h:150
unsigned minutes
Minutes [0;59].
Definition: vlc_player.h:3285
struct vlc_player_title array[]
Definition: player.h:53
#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
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
unsigned frame_rate
Definition: player.h:193
void vlc_playlist_ClearItems(vlc_playlist_t *playlist)
Definition: content.c:34
Player title structure.
Definition: vlc_player.h:956
struct vlc_player_program * vlc_player_program_Dup(const struct vlc_player_program *src)
Duplicate a program.
Definition: track.c:69
void vlc_player_track_Delete(struct vlc_player_track *track)
Delete a duplicated track.
Definition: track.c:149
int group_id
Id used for vlc_player_SelectProgram()
Definition: vlc_player.h:1177
bool scrambled
True if the program is scrambled.
Definition: vlc_player.h:1183
struct vlc_player_program * vlc_player_program_New(int id, const char *name)
Definition: track.c:42
void vlc_player_title_list_Release(struct vlc_player_title_list *titles)
Release of previously held title list.
Definition: title.c:38
size_t chapter_count
Number of chapters, can be 0.
Definition: vlc_player.h:966
unsigned hours
Hours [0;n].
Definition: vlc_player.h:3283
vlc_cond_t reschedule
Definition: timer.c:62
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
static bool vlc_atomic_rc_dec(vlc_atomic_rc_t *rc)
Decrement the RC and return true if it reaches 0.
Definition: vlc_atomic.h:61
ssize_t vlc_playlist_IndexOfId(vlc_playlist_t *playlist, uint64_t id)
Return the index of a given item id.
Definition: content.c:218
unsigned frame_rate_base
Definition: player.h:194
vout_thread_t ** vlc_player_vout_HoldAll(vlc_player_t *player, size_t *count)
Get and hold the list of video output.
Definition: vout.c:50
vlc_tick_t input_normal_time
Definition: player.h:218
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
static int vlc_playlist_MediaToItems(vlc_playlist_t *playlist, input_item_t *const media[], size_t count, vlc_playlist_item_t *items[])
Definition: content.c:242
char * psz_name
Definition: vlc_input.h:56
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
const char * name
Title name, always valid.
Definition: vlc_player.h:959
Definition: vlc_input.h:51
#define MS_FROM_VLC_TICK(vtk)
Definition: vlc_tick.h:123
unsigned vlc_timer_getoverrun(vlc_timer_t timer)
Fetches and resets the overrun counter for a timer.
Definition: timer.c:159
static void vlc_player_SendTimerSourceUpdates(vlc_player_t *player, struct vlc_player_timer_source *source, bool force_update, const struct vlc_player_timer_point *point)
Definition: timer.c:45
int vlc_player_track_priv_Update(struct vlc_player_track_priv *trackpriv, const char *name, const es_format_t *fmt)
Definition: track.c:169
Player smpte timer callbacks.
Definition: vlc_player.h:3341
void vout_Release(vout_thread_t *vout)
Definition: video_output.c:1906
@ VLC_PLAYER_TIMER_STATE_DISCONTINUITY
Definition: player.h:207
vlc_tick_t length
Valid length >= VLC_TICK_0 or VLC_TICK_INVALID.
Definition: vlc_player.h:3266
#define _(str)
Definition: vlc_fixups.h:374
input_item_t * media
Definition: item.h:31
Player track structure.
Definition: vlc_player.h:1334
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
void vlc_player_track_priv_Delete(struct vlc_player_track_priv *trackpriv)
Definition: track.c:139
#define VLC_EGENERIC
Unspecified error.
Definition: vlc_common.h:474
#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
const struct vlc_player_chapter * chapters
Array of chapters, can be NULL.
Definition: vlc_player.h:968
void vlc_player_vout_Snapshot(vlc_player_t *player)
Take a snapshot on all vouts.
Definition: vout.c:206
static char * vlc_player_program_DupTitle(int id, const char *title)
Definition: track.c:31
HANDLE handle
Definition: timer.c:50
vlc_thread_t thread
Definition: timer.c:61
struct vlc_player_track_priv ** data
Definition: player.h:46
#define VLC_TIMER_DISARM
Definition: vlc_threads.h:937
const char * name
Track name, always valid.
Definition: vlc_player.h:1339
int vlc_playlist_Expand(vlc_playlist_t *playlist, size_t index, input_item_t *const media[], size_t count)
Definition: content.c:353
int asprintf(char **, const char *,...)
bool selected_by_user
Definition: player.h:58
void vlc_cond_signal(vlc_cond_t *cond)
Wakes up one thread waiting on a condition variable.
Definition: threads.c:253
size_t size
Definition: playlist.h:46
Mutex.
Definition: vlc_threads.h:225
void(* on_update)(const struct vlc_player_timer_smpte_timecode *tc, void *data)
Called when a new frame is displayed.
Definition: vlc_player.h:3353
struct vlc_player_program * vlc_player_program_vector_FindById(vlc_player_program_vector *vec, int id, size_t *idx)
Definition: track.c:89
struct vlc_list node
Definition: player.h:152
@ VLC_PLAYLIST_PLAYBACK_ORDER_RANDOM
Definition: vlc_playlist.h:126
int vlc_player_timer_point_Interpolate(const struct vlc_player_timer_point *point, vlc_tick_t system_now, vlc_tick_t *out_ts, float *out_pos)
Interpolate the last timer value to now.
Definition: timer.c:474
#define MSTRTIME_MAX_SIZE
Definition: vlc_tick.h:198
void vlc_player_vout_SetWallpaperModeEnabled(vlc_player_t *player, bool enabled)
Enable or disable the player wallpaper-mode.
Definition: vout.c:198
static char * input_title_GetName(const struct input_title_t *input_title, int idx, int title_offset)
Definition: title.c:59
static void CALLBACK vlc_timer_do(void *val, BOOLEAN timeout)
Definition: timer.c:37
void() var_TriggerCallback(vlc_object_t *p_this, const char *psz_name)
Triggers callbacks on a variable.
Definition: variables.c:864
vout_thread_t * vout
Definition: player.h:53
void vlc_timer_schedule(vlc_timer_t timer, bool absolute, vlc_tick_t value, vlc_tick_t interval)
Arms or disarms an initialized timer.
Definition: timer.c:143
int vlc_clone(vlc_thread_t *th, void *(*entry)(void *), void *data, int priority)
Creates and starts a new thread.
Definition: thread.c:144
@ VLC_VOUT_ORDER_NONE
Definition: vlc_vout.h:72
static void vlc_playlist_ItemsRemoving(vlc_playlist_t *playlist, size_t index, size_t count)
Definition: content.c:125
bool has_prev
Definition: playlist.h:58
static void vlc_playlist_RemoveOne(vlc_playlist_t *playlist, size_t index)
Remove an item at a given index.
Definition: vlc_playlist.h:544
bool b_bool
Definition: vlc_common.h:460
int vlc_playlist_Insert(vlc_playlist_t *playlist, size_t index, input_item_t *const media[], size_t count)
Insert a list of media at a given index.
Definition: content.c:265
#define vlc_assert_unreachable()
Impossible branch assertion.
Definition: vlc_common.h:253
#define SEC_FROM_VLC_TICK(vtk)
Definition: vlc_tick.h:53
vlc_mutex_t lock
Definition: player.h:212
bool randomizer_Add(struct randomizer *r, vlc_playlist_item_t *items[], size_t count)
Add items to the randomizer.
Definition: randomizer.c:424
static void vlc_player_vout_TriggerOption(vlc_player_t *player, const char *option)
Definition: vout.c:170
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
Player program structure.
Definition: vlc_player.h:1174
vlc_tick_t vlc_tick_now(void)
Precision monotonic clock.
Definition: thread.c:261
void vlc_playlist_ClearItems(vlc_playlist_t *playlist)
Definition: content.c:34
static const char osd_vars[][sizeof("secondary-sub-margin")]
Definition: vout.c:133
ssize_t current
Definition: playlist.h:57
ULONG interval
Definition: thread.c:830
int vlc_player_SetCurrentMedia(vlc_player_t *player, input_item_t *media)
Set the current media.
Definition: player.c:1000
void vlc_player_vout_RemoveListener(vlc_player_t *player, vlc_player_vout_listener_id *id)
Remove a vout listener callback.
Definition: vout.c:89
static void vlc_atomic_rc_inc(vlc_atomic_rc_t *rc)
Increment the RC.
Definition: vlc_atomic.h:52
struct vlc_list node
Definition: player.h:181
int64_t vlc_tick_t
High precision date or time interval.
Definition: vlc_tick.h:45
int vlc_playlist_Expand(vlc_playlist_t *playlist, size_t index, input_item_t *const media[], size_t count)
Definition: content.c:353
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
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
void vlc_playlist_AutoPreparse(vlc_playlist_t *playlist, input_item_t *input)
Definition: preparse.c:131
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
bool vlc_player_vout_IsFullscreen(vlc_player_t *player)
Check if the player is fullscreen.
Definition: vout.c:101
static void vlc_player_SendSmpteTimerSourceUpdates(vlc_player_t *player, struct vlc_player_timer_source *source, const struct vlc_player_timer_point *point)
Definition: timer.c:69
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 vlc_playlist_Remove(vlc_playlist_t *playlist, size_t index, size_t count)
Remove a slice of items at a given index.
Definition: content.c:306
bool drop_frame
True if the source is NTSC 29.97fps or 59.94fps DF.
Definition: vlc_player.h:3293
const struct vlc_player_title * vlc_player_title_list_GetAt(struct vlc_player_title_list *titles, size_t idx)
Get the title at a given index.
Definition: title.c:164
void vlc_player_vout_SetFullscreen(vlc_player_t *player, bool enabled)
Enable or disable the player fullscreen state.
Definition: vout.c:181
void randomizer_Remove(struct randomizer *r, vlc_playlist_item_t *const items[], size_t count)
Remove items from the randomizer.
Definition: randomizer.c:528
#define VLC_TICK_INVALID
Definition: vlc_config.h:44
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
static bool vlc_list_is_empty(const struct vlc_list *head)
Checks if a list is empty.
Definition: vlc_list.h:167
static void vlc_player_UpdateTimerSource(vlc_player_t *player, struct vlc_player_timer_source *source, double rate, vlc_tick_t ts, vlc_tick_t system_date)
Definition: timer.c:232
@ VLC_PLAYER_TIMER_TYPE_COUNT
Definition: player.h:166
struct vlc_player_timer timer
Definition: player.h:280
struct vlc_player_timer_source::@109::@111 smpte
void vlc_player_vout_AddCallbacks(vlc_player_t *player, vout_thread_t *vout)
Definition: vout.c:140
unsigned flags
Bit flag of VLC_PLAYER_TITLE_MENU and VLC_PLAYER_TITLE_INTERACTIVE.
Definition: vlc_player.h:964
static void vlc_player_UpdateSmpteTimerFPS(vlc_player_t *player, struct vlc_player_timer_source *source, unsigned frame_rate, unsigned frame_rate_base)
Definition: timer.c:137
static void vlc_playlist_ItemsReset(vlc_playlist_t *playlist)
Definition: content.c:43
Thread handle.
Definition: vlc_threads.h:180
void vlc_player_program_Delete(struct vlc_player_program *prgm)
Delete a duplicated program.
Definition: track.c:82
vlc_es_id_t * es_id
Id used for any player actions, like vlc_player_SelectEsId()
Definition: vlc_player.h:1337
@ VLC_PLAYER_TIMER_STATE_PAUSED
Definition: player.h:206
struct vlc_player_timer_source sources[VLC_PLAYER_TIMER_TYPE_COUNT]
Definition: player.h:222
void(* func)(void *)
Definition: thread.c:832
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
vlc_tick_t period
Definition: player.h:171
enum vlc_playlist_playback_order order
Definition: playlist.h:62
bool live
Definition: timer.c:67
double rate
Rate of the player.
Definition: vlc_player.h:3261
Player chapter structure.
Definition: vlc_player.h:942
static void vlc_playlist_ItemsMoved(vlc_playlist_t *playlist, size_t index, size_t count, size_t target)
Definition: content.c:87
#define vlc_vector_remove_slice(pv, index, count)
Remove a slice of items.
Definition: vlc_vector.h:549
bool vlc_player_vout_IsWallpaperModeEnabled(vlc_player_t *player)
Check if the player has wallpaper-mode enaled.
Definition: vout.c:189
static void vlc_playlist_AssertLocked(vlc_playlist_t *playlist)
Definition: playlist.h:69
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
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
uint64_t id
Definition: item.h:32
struct vlc_player_track t
Definition: player.h:52
void vlc_player_DestroyTimer(vlc_player_t *player)
Definition: timer.c:546
#define container_of(ptr, type, member)
Definition: vlc_common.h:1140
#define vlc_playlist_Notify(playlist, event,...)
Definition: notify.h:51
unsigned seconds
Seconds [0;59].
Definition: vlc_player.h:3287
void randomizer_Clear(struct randomizer *r)
Clear the randomizer.
Definition: randomizer.c:538
const struct vlc_player_timer_cbs * cbs
Definition: player.h:176
void vlc_playlist_Move(vlc_playlist_t *playlist, size_t index, size_t count, size_t target)
Move a slice of items to a given target index.
Definition: content.c:292
vlc_playlist_item_t * vlc_playlist_Get(vlc_playlist_t *playlist, size_t index)
Return the item at a given index.
Definition: content.c:189
vlc_playlist_item_t ** data
Definition: playlist.h:46
VLC object common members.
Definition: vlc_objects.h:43
static void vlc_player_vout_SetVar(vlc_player_t *player, const char *name, int type, vlc_value_t val)
Definition: vout.c:160
#define vlc_vector_clear(pv)
Clear a vector.
Definition: vlc_vector.h:101
const struct vlc_player_timer_smpte_cbs * smpte_cbs
Definition: player.h:177
vlc_tick_t length
Length of the title.
Definition: vlc_player.h:961
#define VLC_ENOMEM
Not enough memory.
Definition: vlc_common.h:476
#define VLC_THREAD_PRIORITY_INPUT
Definition: vlc_threads.h:208
#define VLC_UNUSED(x)
Definition: vlc_common.h:1105
#define vlc_vector_index_of(pv, item, pidx)
Return the index of an item.
Definition: vlc_vector.h:615
size_t count
Definition: player.h:52
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
vlc_playlist_item_t * vlc_playlist_item_New(input_item_t *media, uint64_t id)
Definition: item.c:31
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
atomic_uint overruns
Definition: timer.c:68
vlc_player_timer_id * vlc_player_AddTimer(vlc_player_t *player, vlc_tick_t min_period, const struct vlc_player_timer_cbs *cbs, void *data)
Add a timer in order to get times updates.
Definition: timer.c:418
input_resource_t * resource
Definition: player.h:250
void vlc_player_InitTimer(vlc_player_t *player)
Definition: timer.c:532
char * strdup(const char *)
size_t vlc_player_title_list_GetCount(struct vlc_player_title_list *titles)
Get the number of title of a list.
Definition: title.c:171
static void * vlc_timer_thread(void *data)
Definition: timer.c:53
bool has_next
Definition: playlist.h:59
const char * name
Chapter name, always valid.
Definition: vlc_player.h:945
vlc_tick_t last_ts
Definition: player.h:219
#define VLC_TICK_FROM_SEC(sec)
Definition: vlc_tick.h:52
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
vlc_tick_t ts
Valid time >= VLC_TICK_0 or VLC_TICK_INVALID, subtract this time with VLC_TICK_0 to get the original ...
Definition: vlc_player.h:3264
void vlc_mutex_lock(vlc_mutex_t *mtx)
Acquires a mutex.
Definition: threads.c:158
void vlc_timer_destroy(vlc_timer_t timer)
Destroys an initialized timer.
Definition: timer.c:132
void vlc_player_ResetTimer(vlc_player_t *player)
Definition: timer.c:30
bool selected
True if the track is selected.
Definition: vlc_player.h:1343
const char name[16]
Definition: httpd.c:1268
Condition variable.
Definition: vlc_threads.h:349
#define VLC_TICK_0
Definition: vlc_config.h:45
struct vlc_list vout_listeners
Definition: player.h:248
vlc_player_timer_id * vlc_player_AddSmpteTimer(vlc_player_t *player, const struct vlc_player_timer_smpte_cbs *cbs, void *data)
Add a smpte timer in order to get accurate video frame updates.
Definition: timer.c:440
void vlc_player_RemoveTimerSource(vlc_player_t *player, vlc_es_id_t *es_source)
Definition: timer.c:383
void vlc_playlist_state_Save(vlc_playlist_t *playlist, struct vlc_playlist_state *state)
Definition: notify.c:82
uint64_t idgen
Definition: playlist.h:63
#define vlc_list_foreach(pos, head, member)
List iteration macro.
Definition: vlc_list.h:261
vlc_tick_t time
Position of this chapter.
Definition: vlc_player.h:947
static bool vlc_playlist_ItemsRemoved(vlc_playlist_t *playlist, size_t index, size_t count)
Definition: content.c:134
Player smpte timecode.
Definition: vlc_player.h:3280
@ VLC_PLAYER_TIMER_STATE_PLAYING
Definition: player.h:205
unsigned frame_resolution
Maximum number of digits needed to display the frame number.
Definition: vlc_player.h:3291
static int vlc_playlist_Replace(vlc_playlist_t *playlist, size_t index, input_item_t *media)
Definition: content.c:327
void vlc_playlist_Clear(vlc_playlist_t *playlist)
Clear the playlist.
Definition: content.c:230
struct randomizer randomizer
Definition: playlist.h:56
#define vlc_vector_move_slice(pv, index, count, target)
Move a slice of items to a given target index.
Definition: vlc_vector.h:490
int vlc_player_GetFirstSelectedTrackId(const vlc_player_track_vector *tracks)
Definition: track.c:212
#define vlc_player_vout_SendEvent(player, event,...)
Definition: vout.c:31
#define likely(p)
Predicted true condition.
Definition: vlc_common.h:218
vlc_tick_t i_time_offset
Definition: vlc_input.h:55
int vlc_playlist_SetCurrentMedia(vlc_playlist_t *playlist, ssize_t index)
Definition: control.c:152
struct vlc_list listeners
Definition: player.h:186
Definition: playlist.h:46
#define mul_overflow(a, b, r)
Overflowing multiplication.
Definition: vlc_common.h:934
Video output thread descriptor.
Definition: vlc_vout.h:55
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
playlist_item_vector_t items
Definition: playlist.h:55
es_format_t fmt
Es format.
Definition: vlc_player.h:1341
static void vlc_playlist_ItemReplaced(vlc_playlist_t *playlist, size_t index)
Definition: content.c:166
void vlc_cond_init(vlc_cond_t *cond)
Initializes a condition variable.
Definition: threads.c:234
static void * vlc_alloc(size_t count, size_t size)
Definition: vlc_common.h:1144
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
static thread_local struct @76 state
enum vlc_player_timer_state state
Definition: player.h:214
static void vlc_atomic_rc_init(vlc_atomic_rc_t *rc)
Init the RC to 1.
Definition: vlc_atomic.h:46
Player timer point.
Definition: vlc_player.h:3256
void vlc_join(vlc_thread_t handle, void **result)
Waits for a thread to complete (if needed), then destroys it.
Definition: thread.c:151
unsigned frames
Frame number [0;n].
Definition: vlc_player.h:3289
vlc_tick_t delay
Definition: player.h:54
VLC value structure.
Definition: vlc_common.h:457
size_t size
Definition: player.h:43
Player timer callbacks.
Definition: vlc_player.h:3301
void vlc_mutex_unlock(vlc_mutex_t *mtx)
Releases a mutex.
Definition: threads.c:209
void(* on_discontinuity)(vlc_tick_t system_date, void *data)
The player is paused or a discontinuity occurred, likely caused by seek from the user or because the ...
Definition: vlc_player.h:3333
vlc_player_vout_listener_id * vlc_player_vout_AddListener(vlc_player_t *player, const struct vlc_player_vout_cbs *cbs, void *cbs_data)
Add a listener callback for video output events.
Definition: vout.c:68
const char var[sizeof("video")]
Definition: player.c:1732
static int vlc_player_VoutCallback(vlc_object_t *this, const char *var, vlc_value_t oldval, vlc_value_t newval, void *data)
Definition: vout.c:110
vout_thread_t * vlc_player_vout_Hold(vlc_player_t *player)
Get and hold the main video output.
Definition: vout.c:43
vlc_es_id_t * es
Definition: player.h:187
size_t vlc_playlist_Count(vlc_playlist_t *playlist)
Return the number of items.
Definition: content.c:182
int vlc_timer_create(vlc_timer_t *id, void(*func)(void *), void *data)
Initializes an asynchronous timer.
Definition: timer.c:105
vlc_tick_t input_length
Definition: player.h:217
void * data
Definition: thread.c:833
static void vlc_playlist_ItemsInserted(vlc_playlist_t *playlist, size_t index, size_t count)
Definition: content.c:61
void vlc_player_RemoveTimer(vlc_player_t *player, vlc_player_timer_id *timer)
Remove a player timer.
Definition: timer.c:462
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 vlc_vector_insert_hole(pv, index, count)
Insert an hole of size count to the given index.
Definition: vlc_vector.h:357
void vlc_player_vout_DelCallbacks(vlc_player_t *player, vout_thread_t *vout)
Definition: vout.c:150
#define vlc_vector_foreach(item, pv)
For-each loop.
Definition: vlc_vector.h:637
void vlc_playlist_item_Release(vlc_playlist_item_t *item)
Release a playlist item.
Definition: item.c:51
float input_position
Definition: player.h:220