21 #ifndef VLC_PLAYER_INTERNAL_H 22 #define VLC_PLAYER_INTERNAL_H 54 struct vlc_player_input
197 #define best_source sources[VLC_PLAYER_TIMER_TYPE_BEST] 198 #define smpte_source sources[VLC_PLAYER_TIMER_TYPE_SMPTE] 265 #define vlc_player_assert_locked(x) ((void) (0)) 268 static inline struct vlc_player_input *
272 return player->
input;
275 #define vlc_player_SendEvent(player, event, ...) do { \ 276 vlc_player_listener_id *listener; \ 277 vlc_list_foreach(listener, &player->listeners, node) \ 279 if (listener->cbs->event) \ 280 listener->cbs->event(player, ##__VA_ARGS__, listener->cbs_data); \ 284 static inline const char *
291 case SPU_ES:
return "Subtitle";
292 default:
return NULL;
311 struct vlc_player_input *input);
315 struct vlc_player_input *input);
355 int title_offset,
int chapter_offset);
382 struct vlc_player_input *
402 vlc_player_input_GetTimerValue(struct vlc_player_input *input);
424 bool es_source_is_master,
427 unsigned frame_rate,
unsigned frame_rate_base);
468 struct vlc_player_input *input,
vlc_tick_t time,
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:119
bool deleting
Definition: player.h:237
vlc_tick_t vlc_player_input_GetTime(struct vlc_player_input *input)
Definition: input.c:61
void vlc_player_destructor_AddJoinableInput(vlc_player_t *player, struct vlc_player_input *input)
Definition: player.c:168
vlc_object_t * vlc_player_GetObject(vlc_player_t *player)
Definition: player.c:2001
bool releasing_media
Definition: player.h:228
Player timer point.
Definition: vlc_player.h:3066
struct vlc_player_input * vlc_player_input_New(vlc_player_t *player, input_item_t *item)
Definition: input.c:830
const struct vlc_player_aout_cbs * cbs
Definition: player.h:131
int vlc_player_input_Start(struct vlc_player_input *input)
Definition: input.c: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:30
#define vlc_mutex_assert(m)
Asserts that a mutex is locked by the calling thread.
Definition: vlc_threads.h:462
const struct vlc_player_cbs * cbs
Definition: player.h:117
vout_thread_t * vout
Definition: player.h:35
unsigned long last_framenum
Definition: player.h:166
int vlc_player_track_priv_Update(struct vlc_player_track_priv *trackpriv, const char *name, const es_format_t *fmt)
Definition: track.c:168
vlc_thread_t thread
Definition: player.h:240
Definition: vlc_atomic.h:63
void vlc_player_osd_Icon(vlc_player_t *player, short type)
Definition: osd.c:108
void vlc_player_osd_Program(vlc_player_t *player, const char *name)
Definition: osd.c:203
vlc_tick_t last_update_date
Definition: player.h:146
pthread_mutex_t vlc_mutex_t
Mutex.
Definition: vlc_threads.h:278
vlc_mutex_t vout_listeners_lock
Definition: player.h:206
Player vout callbacks.
Definition: vlc_player.h:2338
static thread_local struct @77 state
struct vlc_player_program * vlc_player_program_New(int id, const char *name)
Definition: track.c:42
int vlc_player_GetFirstSelectedTrackId(const vlc_player_track_vector *tracks)
Definition: track.c:211
static void vlc_player_assert_locked(vlc_player_t *player)
Definition: player.h:259
vlc_cond_t wait
Definition: player.h:241
void vlc_player_PrepareNextMedia(vlc_player_t *player)
Definition: player.c:53
vlc_tick_t input_normal_time
Definition: player.h:192
unsigned frame_resolution
Definition: player.h:169
vlc_tick_t delay
Definition: player.h:36
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:3082
vlc_mutex_t aout_listeners_lock
Definition: player.h:205
unsigned error_count
Definition: player.h:235
Player aout callbacks.
Definition: vlc_player.h:2122
const struct vlc_player_media_provider * media_provider
Definition: player.h:212
void * cbs_data
Definition: player.h:118
Player smpte timer callbacks.
Definition: vlc_player.h:3151
void vlc_player_RemoveTimerSource(vlc_player_t *player, vlc_es_id_t *es_source)
Definition: timer.c:372
vlc_player_timer_state
Definition: player.h:177
Player track structure.
Definition: vlc_player.h:1312
struct vlc_player_program * vlc_player_program_vector_FindById(vlc_player_program_vector *vec, int id, size_t *idx)
Definition: track.c:89
int vlc_player_GetTimerPoint(vlc_player_t *player, vlc_tick_t system_now, vlc_tick_t *out_ts, float *out_pos)
Definition: timer.c:389
void vlc_player_vout_AddCallbacks(vlc_player_t *player, vout_thread_t *vout)
Definition: vout.c:137
vlc_player_error
Error of the player.
Definition: vlc_player.h:289
Player timer callbacks.
Definition: vlc_player.h:3111
vlc_es_id_t * es
Definition: player.h:161
VLC value structure.
Definition: vlc_common.h:455
void * cbs_data
Definition: player.h:125
enum vlc_vout_order vout_order
Definition: player.h:38
Definition: renderer_discovery.c:34
vlc_atomic_rc_t rc
Definition: player.h:49
const char var[sizeof("video")]
Definition: player.c:1699
es_format_category_e
ES Categories.
Definition: vlc_es.h:600
struct vlc_player_input * input
Definition: player.h:226
bool start_paused
Definition: player.h:210
vlc_renderer_item_t * renderer
Definition: player.h:223
This provides convenience helpers for linked lists.
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_player_input_HandleState(struct vlc_player_input *, enum vlc_player_state, vlc_tick_t state_date)
Definition: input.c:126
void vlc_player_DestroyTimer(vlc_player_t *player)
Definition: timer.c:535
Player program structure.
Definition: vlc_player.h:1159
int64_t vlc_tick_t
High precision date or time interval.
Definition: vlc_tick.h:45
void vlc_player_UpdateMLStates(vlc_player_t *player, struct vlc_player_input *input)
Definition: medialib.c:113
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:193
void vlc_player_input_RestoreMlStates(struct vlc_player_input *input, const input_item_t *item)
Definition: medialib.c:30
static const char * es_format_category_to_string(enum es_format_category_e cat)
Definition: player.h:285
vlc_player_media_stopped_action
Action when the player is stopped.
Definition: vlc_player.h:96
void * cbs_data
Definition: player.h:132
vlc_player_whence
Player seek/delay directive.
Definition: vlc_player.h:316
Atomic operations do not require locking, but they are not very powerful.
struct vlc_object_marker * obj
Definition: vlc_objects.h:48
float vlc_player_input_GetPos(struct vlc_player_input *input)
Definition: input.c:73
bool pause_on_cork
Definition: player.h:215
Thread handle.
Definition: vlc_threads.h:263
vlc_tick_t period
Definition: player.h:145
unsigned frame_rate_base
Definition: player.h:168
Player callbacks.
Definition: vlc_player.h:2568
vlc_tick_t last_ts
Definition: player.h:193
size_t count
Definition: core.c:402
Video output thread descriptor.
Definition: vlc_vout.h:60
bool next_media_requested
Definition: player.h:229
#define VLC_VECTOR(type)
Vector struct body.
Definition: vlc_vector.h:65
input_item_t * next_media
Definition: player.h:230
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:254
Player title structure.
Definition: vlc_player.h:941
const struct vlc_player_timer_cbs * cbs
Definition: player.h:150
int vlc_player_OpenNextMedia(vlc_player_t *player)
Definition: player.c:69
static vlc_player_track_vector * vlc_player_input_GetTrackVector(struct vlc_player_input *input, enum es_format_category_e cat)
Definition: player.h:362
Opaque structure representing an ES (Elementary Stream) track.
Definition: es_out.c:88
unsigned frame_rate
Definition: player.h:167
bool corked
Definition: player.h:216
const char name[16]
Definition: httpd.c:1236
pthread_cond_t vlc_cond_t
Condition variable.
Definition: vlc_threads.h:290
void vlc_player_aout_DelCallbacks(vlc_player_t *player)
Definition: aout.c:210
bool started
Definition: player.h:233
vlc_player_timer_source_type
Definition: player.h:136
void vlc_player_InitTimer(vlc_player_t *player)
Definition: timer.c:521
void vlc_player_track_priv_Delete(struct vlc_player_track_priv *trackpriv)
Definition: track.c:138
vlc_vout_order
vout or spu_channel order
Definition: vlc_vout.h:78
vlc_tick_t input_length
Definition: player.h:191
static struct vlc_player_input * vlc_player_get_input_locked(vlc_player_t *player)
Definition: player.h:269
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:239
vlc_mutex_t lock
Definition: player.h:204
Definition: vlc_media_library.h:505
bool seeking
Definition: player.h:189
const struct vlc_player_timer_smpte_cbs * smpte_cbs
Definition: player.h:151
void vlc_player_destructor_AddStoppingInput(vlc_player_t *player, struct vlc_player_input *input)
Definition: player.c:154
void vlc_player_input_Delete(struct vlc_player_input *input)
Definition: input.c:918
vlc_cond_t start_delay_cond
Definition: player.h:207
vlc_cond_t notify
Definition: player.h:242
Doubly-linked list node.
Definition: vlc_list.h:43
unsigned df_fps
Definition: player.h:170
void vlc_player_aout_AddCallbacks(vlc_player_t *player)
Definition: aout.c:196
This provides convenience helpers for vectors.
float position
Position in the range [0.0f;1.0].
Definition: vlc_player.h:3069
vlc_player_state
State of the player.
Definition: vlc_player.h:243
void vlc_player_osd_Volume(vlc_player_t *player, bool mute_action)
Definition: osd.c:169
void vlc_player_osd_Track(vlc_player_t *player, vlc_es_id_t *id, bool select)
Definition: osd.c:189
void * media_provider_data
Definition: player.h:213
void vlc_player_ResetTimer(vlc_player_t *player)
Definition: timer.c:30
int frames_per_10mins
Definition: player.h:172
size_t count
Definition: player.h:50
input_resource_t * resource
Definition: player.h:222
VLC object common members.
Definition: vlc_objects.h:43
void vlc_player_osd_Message(vlc_player_t *player, const char *fmt,...)
Definition: osd.c:88
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
int vlc_player_program_Update(struct vlc_player_program *prgm, int id, const char *name)
Definition: track.c:60
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
input_item_t * media
Definition: player.h:225
const struct vlc_player_vout_cbs * cbs
Definition: player.h:124
float input_position
Definition: player.h:194
struct vlc_player_track t
Definition: player.h:34
void vlc_player_vout_DelCallbacks(vlc_player_t *player, vout_thread_t *vout)
Definition: vout.c:147
void * data
Definition: player.h:153
vlc_mutex_t lock
Definition: player.h:186
int df
Definition: player.h:171