VLC
4.0.0-dev
|
Data Structures | |
struct | preparse_data_t |
Typedefs | |
typedef struct preparse_data_t | preparse_data_t |
Functions | |
static void * | Manage (void *) |
static int | vlm_MediaVodControl (void *, vod_media_t *, const char *, int, va_list) |
static void | preparse_on_state_changed (vlc_player_t *player, enum vlc_player_state new_state, void *data) |
static void | preparse_on_media_meta_changed (vlc_player_t *player, input_item_t *media, void *data) |
static void | player_on_state_changed (vlc_player_t *player, enum vlc_player_state new_state, void *data) |
vlm_t * | vlm_New (libvlc_int_t *libvlc, const char *psz_vlmconf) |
void | vlm_Delete (vlm_t *p_vlm) |
int | vlm_ExecuteCommand (vlm_t *p_vlm, const char *psz_command, vlm_message_t **pp_message) |
static vlm_media_sys_t * | vlm_ControlMediaGetById (vlm_t *p_vlm, int64_t id) |
static vlm_media_sys_t * | vlm_ControlMediaGetByName (vlm_t *p_vlm, const char *psz_name) |
static int | vlm_MediaDescriptionCheck (vlm_t *p_vlm, vlm_media_t *p_cfg) |
static int | vlm_OnMediaUpdate (vlm_t *p_vlm, vlm_media_sys_t *p_media) |
static int | vlm_ControlMediaChange (vlm_t *p_vlm, vlm_media_t *p_cfg) |
static int | vlm_ControlMediaAdd (vlm_t *p_vlm, vlm_media_t *p_cfg, int64_t *p_id) |
static int | vlm_ControlMediaDel (vlm_t *p_vlm, int64_t id) |
static int | vlm_ControlMediaGets (vlm_t *p_vlm, vlm_media_t ***ppp_dsc, int *pi_dsc) |
static int | vlm_ControlMediaClear (vlm_t *p_vlm) |
static int | vlm_ControlMediaGet (vlm_t *p_vlm, int64_t id, vlm_media_t **pp_dsc) |
static int | vlm_ControlMediaGetId (vlm_t *p_vlm, const char *psz_name, int64_t *p_id) |
static vlm_media_instance_sys_t * | vlm_ControlMediaInstanceGetByName (vlm_media_sys_t *p_media, const char *psz_id) |
static vlm_media_instance_sys_t * | vlm_MediaInstanceNew (vlm_media_sys_t *p_media, const char *psz_name) |
static void | vlm_MediaInstanceDelete (vlm_t *p_vlm, int64_t id, vlm_media_instance_sys_t *p_instance, vlm_media_sys_t *p_media) |
static int | vlm_ControlMediaInstanceStart (vlm_t *p_vlm, int64_t id, const char *psz_id, int i_input_index, const char *psz_vod_output) |
static int | vlm_ControlMediaInstanceStop (vlm_t *p_vlm, int64_t id, const char *psz_id) |
static int | vlm_ControlMediaInstancePause (vlm_t *p_vlm, int64_t id, const char *psz_id) |
static int | vlm_ControlMediaInstanceGetTimePosition (vlm_t *p_vlm, int64_t id, const char *psz_id, int64_t *pi_time, double *pd_position) |
static int | vlm_ControlMediaInstanceSetTimePosition (vlm_t *p_vlm, int64_t id, const char *psz_id, int64_t i_time, double d_position) |
static int | vlm_ControlMediaInstanceGets (vlm_t *p_vlm, int64_t id, vlm_media_instance_t ***ppp_idsc, int *pi_instance) |
static int | vlm_ControlMediaInstanceClear (vlm_t *p_vlm, int64_t id) |
static int | vlm_ControlScheduleClear (vlm_t *p_vlm) |
static int | vlm_vaControlInternal (vlm_t *p_vlm, int i_query, va_list args) |
int | vlm_ControlInternal (vlm_t *p_vlm, int i_query,...) |
int | vlm_Control (vlm_t *p_vlm, int i_query,...) |
Variables | |
static vlc_mutex_t | vlm_mutex = PTHREAD_MUTEX_INITIALIZER |
typedef struct preparse_data_t preparse_data_t |
|
static |
References vlm_schedule_sys_t::b_enabled, vlm_media_t::b_loop, vlm_media_t::b_vod, vlm_media_t::broadcast, vlm_media_sys_t::cfg, vlm_schedule_sys_t::command, vlm_schedule_sys_t::date, ExecuteCommand(), vlm_schedule_sys_t::i_command, vlm_media_instance_sys_t::i_index, vlm_media_t::i_input, vlm_media_sys_t::i_instance, vlm_t::i_media, vlm_schedule_sys_t::i_repeat, vlm_t::i_schedule, vlm_media_t::id, vlm_t::input_state_changed, vlm_media_sys_t::instance, vlm_t::lock, vlm_t::lock_manage, vlm_t::media, mutex_cleanup_push, vlm_schedule_sys_t::period, vlm_media_instance_sys_t::player, vlm_media_instance_sys_t::psz_name, vlm_t::schedule, strdup(), TAB_APPEND, TAB_REMOVE, vlc_cleanup_pop, vlc_cond_timedwait_daytime(), vlc_cond_wait(), vlc_mutex_lock(), vlc_mutex_unlock(), vlc_player_IsStarted(), vlc_player_Lock(), vlc_player_Unlock(), vlc_restorecancel(), vlc_savecancel(), vlm_ControlInternal(), vlm_MessageDelete(), VLM_START_MEDIA_BROADCAST_INSTANCE, VLM_STOP_MEDIA_INSTANCE, and vlm_t::wait_manage.
Referenced by vlm_New().
|
static |
References vlm_media_sys_t::cfg, vlm_media_sys_t::i_instance, vlm_media_t::id, vlm_t::input_state_changed, vlm_media_sys_t::instance, libvlc_priv(), vlm_t::lock_manage, libvlc_priv_t::p_vlm, vlm_media_instance_sys_t::player, vlm_media_instance_sys_t::psz_name, vlm_media_t::psz_name, vlc_assert_unreachable, vlc_cond_signal(), vlc_mutex_lock(), vlc_mutex_unlock(), vlc_object_instance, vlc_player_GetError(), VLC_PLAYER_STATE_PAUSED, VLC_PLAYER_STATE_PLAYING, VLC_PLAYER_STATE_STARTED, VLC_PLAYER_STATE_STOPPED, VLC_PLAYER_STATE_STOPPING, VLM_END_S, VLM_ERROR_S, VLM_INIT_S, VLM_OPENING_S, VLM_PAUSE_S, VLM_PLAYING_S, vlm_SendEventMediaInstanceState(), and vlm_t::wait_manage.
Referenced by vlm_MediaInstanceNew().
|
static |
References preparse_data_t::b_mux, preparse_data_t::p_sem, vlc_sem_post(), and VLC_UNUSED.
Referenced by vlm_OnMediaUpdate().
|
static |
References preparse_data_t::p_sem, VLC_PLAYER_STATE_STOPPING, vlc_sem_post(), and VLC_UNUSED.
Referenced by vlm_OnMediaUpdate().
int vlm_ControlInternal | ( | vlm_t * | p_vlm, |
int | i_query, | ||
... | |||
) |
References vlm_vaControlInternal().
Referenced by Manage(), vlm_ControlMediaDel(), vlm_Delete(), and vlm_MediaVodControl().
|
static |
References _, asprintf(), vlm_media_t::b_vod, vlm_media_sys_t::cfg, vlm_t::i_id, vlm_media_sys_t::i_instance, vlm_t::i_media, vlm_media_t::id, input_item_New, vlm_media_sys_t::instance, vlc_object_t::logger, vlm_t::media, module_need_var, msg_Err, vlm_media_sys_t::obj, vod_t::p_data, vlm_media_sys_t::p_item, vlm_media_sys_t::p_media, vod_t::p_module, vlm_t::p_vod, vod_t::pf_media_control, vlm_media_t::psz_name, TAB_APPEND, TAB_INIT, vlc_custom_create, VLC_EGENERIC, VLC_ENOMEM, vlc_LogHeaderCreate(), VLC_OBJECT, vlc_object_delete, vlm_ControlMediaGetByName(), vlm_media_Copy(), vlm_MediaDescriptionCheck(), vlm_MediaVodControl(), vlm_OnMediaUpdate(), vlm_SendEventMediaAdded(), and vlm_media_sys_t::vod.
Referenced by vlm_vaControlInternal().
|
static |
References vlm_media_t::b_vod, vlm_media_sys_t::cfg, vlm_media_t::id, VLC_EGENERIC, vlm_ControlMediaGetById(), vlm_media_Clean(), vlm_media_Copy(), vlm_MediaDescriptionCheck(), and vlm_OnMediaUpdate().
Referenced by vlm_vaControlInternal().
|
static |
References vlm_media_sys_t::cfg, vlm_t::i_media, vlm_media_t::id, vlm_t::media, VLC_SUCCESS, and vlm_ControlMediaDel().
Referenced by vlm_vaControlInternal().
|
static |
References vlm_media_t::b_enabled, vlm_media_t::b_vod, vlm_media_sys_t::cfg, vlm_media_sys_t::i_instance, vlm_t::i_media, input_item_Release(), vlm_media_sys_t::instance, vlc_object_t::logger, vlm_t::media, vlm_media_sys_t::obj, vlm_media_sys_t::p_item, vlm_media_sys_t::p_media, vlm_t::p_vod, vod_t::pf_media_del, vlm_media_instance_sys_t::psz_name, vlm_media_t::psz_name, TAB_REMOVE, VLC_EGENERIC, vlc_LogDestroy(), vlc_object_delete, VLC_SUCCESS, vlm_ControlInternal(), vlm_ControlMediaGetById(), vlm_media_Clean(), vlm_OnMediaUpdate(), vlm_SendEventMediaRemoved(), VLM_STOP_MEDIA_INSTANCE, and vlm_media_sys_t::vod.
Referenced by vlm_ControlMediaClear(), and vlm_vaControlInternal().
|
static |
References vlm_media_sys_t::cfg, VLC_EGENERIC, VLC_SUCCESS, vlm_ControlMediaGetById(), and vlm_media_Duplicate().
Referenced by vlm_vaControlInternal().
|
static |
References vlm_media_sys_t::cfg, vlm_t::i_media, vlm_media_t::id, and vlm_t::media.
Referenced by vlm_ControlMediaChange(), vlm_ControlMediaDel(), vlm_ControlMediaGet(), vlm_ControlMediaInstanceClear(), vlm_ControlMediaInstanceGets(), vlm_ControlMediaInstanceGetTimePosition(), vlm_ControlMediaInstancePause(), vlm_ControlMediaInstanceSetTimePosition(), vlm_ControlMediaInstanceStart(), and vlm_ControlMediaInstanceStop().
|
static |
References vlm_media_sys_t::cfg, vlm_t::i_media, vlm_t::media, and vlm_media_t::psz_name.
Referenced by vlm_ControlMediaAdd(), and vlm_ControlMediaGetId().
|
static |
References vlm_media_sys_t::cfg, vlm_media_t::id, VLC_EGENERIC, VLC_SUCCESS, and vlm_ControlMediaGetByName().
Referenced by vlm_vaControlInternal().
|
static |
References vlm_media_sys_t::cfg, vlm_t::i_media, vlm_t::media, TAB_APPEND, TAB_INIT, VLC_SUCCESS, and vlm_media_Duplicate().
Referenced by vlm_vaControlInternal().
|
static |
|
static |
References vlm_media_sys_t::i_instance, vlm_media_sys_t::instance, and vlm_media_instance_sys_t::psz_name.
Referenced by vlm_ControlMediaInstanceGetTimePosition(), vlm_ControlMediaInstancePause(), vlm_ControlMediaInstanceSetTimePosition(), vlm_ControlMediaInstanceStart(), and vlm_ControlMediaInstanceStop().
|
static |
References vlm_media_instance_t::b_paused, vlm_media_instance_t::d_position, vlm_media_instance_t::f_rate, vlm_media_sys_t::i_instance, vlm_media_instance_t::i_length, vlm_media_instance_t::i_time, vlm_media_sys_t::instance, vlm_media_instance_sys_t::player, vlm_media_instance_sys_t::psz_name, vlm_media_instance_t::psz_name, strdup(), TAB_APPEND, TAB_INIT, US_FROM_VLC_TICK, VLC_EGENERIC, vlc_player_GetLength(), vlc_player_GetPosition(), vlc_player_GetRate(), vlc_player_GetTime(), vlc_player_IsPaused(), vlc_player_Lock(), vlc_player_Unlock(), VLC_SUCCESS, vlm_ControlMediaGetById(), and vlm_media_instance_New().
Referenced by vlm_vaControlInternal().
|
static |
|
static |
|
static |
|
static |
References asprintf(), vlm_media_t::b_enabled, vlm_media_t::b_vod, vlm_media_sys_t::cfg, vlm_media_instance_sys_t::i_index, vlm_media_t::i_input, vlm_media_sys_t::i_instance, vlm_media_t::i_option, input_item_AddOption(), input_item_SetURI(), vlm_media_sys_t::instance, vlm_media_instance_sys_t::p_item, vlm_media_sys_t::p_media, vlm_media_instance_sys_t::p_parent, vlm_media_instance_sys_t::player, vlm_media_t::ppsz_input, vlm_media_t::ppsz_option, vlm_media_t::psz_name, vlm_media_t::psz_output, TAB_APPEND, var_Create(), var_SetAddress(), var_SetString(), VLC_EGENERIC, VLC_ENOMEM, VLC_INPUT_OPTION_TRUSTED, vlc_path2uri(), vlc_player_GetCurrentMedia(), vlc_player_IsPaused(), vlc_player_Lock(), vlc_player_Resume(), vlc_player_SetCurrentMedia(), vlc_player_Start(), vlc_player_Stop(), vlc_player_Unlock(), VLC_SUCCESS, VLC_VAR_ADDRESS, VLC_VAR_STRING, vlm_ControlMediaGetById(), vlm_ControlMediaInstanceGetByName(), vlm_MediaInstanceNew(), vlm_SendEventMediaInstanceStarted(), vlm_SendEventMediaInstanceStopped(), and vlm_media_sys_t::vod.
Referenced by vlm_vaControlInternal().
|
static |
References VLC_EGENERIC, VLC_SUCCESS, vlm_ControlMediaGetById(), vlm_ControlMediaInstanceGetByName(), and vlm_MediaInstanceDelete().
Referenced by vlm_ControlMediaInstanceClear(), and vlm_vaControlInternal().
|
static |
References vlm_t::i_schedule, vlm_t::schedule, VLC_SUCCESS, and vlm_ScheduleDelete().
Referenced by vlm_vaControlInternal().
|
static |
References vlm_media_sys_t::cfg, vlm_t::i_media, vlm_media_t::id, vlm_t::media, vlm_media_t::psz_name, VLC_EGENERIC, and VLC_SUCCESS.
Referenced by vlm_ControlMediaAdd(), and vlm_ControlMediaChange().
|
static |
References vlm_media_sys_t::cfg, vlm_media_sys_t::i_instance, input_item_Release(), vlm_media_sys_t::instance, vlm_media_instance_sys_t::listener, vlm_media_instance_sys_t::p_item, vlm_media_instance_sys_t::p_parent, vlm_media_instance_sys_t::player, vlm_media_instance_sys_t::psz_name, vlm_media_t::psz_name, TAB_REMOVE, vlc_object_delete, vlc_player_Delete(), vlc_player_GetCurrentMedia(), vlc_player_Lock(), vlc_player_RemoveListener(), vlc_player_Stop(), vlc_player_Unlock(), and vlm_SendEventMediaInstanceStopped().
Referenced by vlm_ControlMediaInstanceStop().
|
static |
References vlm_media_instance_sys_t::i_index, input_item_New, input_item_Release(), vlm_media_instance_sys_t::listener, vlc_player_cbs::on_state_changed, vlm_media_instance_sys_t::p_item, vlm_media_instance_sys_t::p_parent, vlm_media_instance_sys_t::player, player_on_state_changed(), vlm_media_instance_sys_t::psz_name, strdup(), vlc_object_create, vlc_object_delete, vlc_player_AddListener(), vlc_player_Delete(), vlc_player_Lock(), VLC_PLAYER_LOCK_NORMAL, vlc_player_New(), and vlc_player_Unlock().
Referenced by vlm_ControlMediaInstanceStart().
|
static |
References vlm_media_sys_t::cfg, vlm_t::i_media, vlm_media_t::id, vlm_t::lock, vlm_t::media, vlm_media_sys_t::p_media, VLC_EGENERIC, vlc_mutex_lock(), vlc_mutex_unlock(), vlm_ControlInternal(), VLM_GET_MEDIA_INSTANCE_POSITION, VLM_GET_MEDIA_INSTANCE_TIME, VLM_PAUSE_MEDIA_INSTANCE, VLM_SET_MEDIA_INSTANCE_POSITION, VLM_SET_MEDIA_INSTANCE_TIME, VLM_START_MEDIA_VOD_INSTANCE, VLM_STOP_MEDIA_INSTANCE, vlm_media_sys_t::vod, VOD_MEDIA_FORWARD, VOD_MEDIA_PAUSE, VOD_MEDIA_PLAY, VOD_MEDIA_REWIND, VOD_MEDIA_SEEK, and VOD_MEDIA_STOP.
Referenced by vlm_ControlMediaAdd().
|
static |
References asprintf(), vlm_media_t::b_enabled, vlm_media_t::b_vod, vlm_media_sys_t::cfg, input_item_t::es, sout_description_data_t::es, es_format_Init(), input_item_t::i_es, sout_description_data_t::i_es, vlm_media_t::i_input, vlm_media_t::i_option, vlm_media_t::id, input_item_AddOption(), input_item_New, input_item_Release(), msg_Err, vlc_player_cbs::on_state_changed, vlm_media_sys_t::p_item, vlm_media_sys_t::p_media, preparse_data_t::p_sem, vlm_t::p_vod, vod_t::pf_media_del, vod_t::pf_media_new, vlm_media_t::ppsz_input, vlm_media_t::ppsz_option, preparse_on_media_meta_changed(), preparse_on_state_changed(), vlm_media_t::psz_mux, vlm_media_t::psz_name, vlm_media_t::psz_output, sout_description_data_t::sem, strdup(), TAB_CLEAN, TAB_INIT, var_Create(), var_SetAddress(), VIDEO_ES, VLC_INPUT_OPTION_TRUSTED, VLC_OBJECT, vlc_path2uri(), vlc_player_AddListener(), vlc_player_Delete(), vlc_player_Lock(), VLC_PLAYER_LOCK_NORMAL, vlc_player_New(), vlc_player_RemoveListener(), vlc_player_SetCurrentMedia(), vlc_player_Start(), vlc_player_Stop(), vlc_player_Unlock(), vlc_sem_destroy(), vlc_sem_init(), vlc_sem_wait(), VLC_SUCCESS, VLC_VAR_ADDRESS, vlm_SendEventMediaChanged(), vlm_media_sys_t::vod, and vlm_media_t::vod.
Referenced by vlm_ControlMediaAdd(), vlm_ControlMediaChange(), and vlm_ControlMediaDel().
|
static |
References msg_Err, VLC_EGENERIC, VLM_ADD_MEDIA, VLM_CHANGE_MEDIA, VLM_CLEAR_MEDIA_INSTANCES, VLM_CLEAR_MEDIAS, VLM_CLEAR_SCHEDULES, vlm_ControlMediaAdd(), vlm_ControlMediaChange(), vlm_ControlMediaClear(), vlm_ControlMediaDel(), vlm_ControlMediaGet(), vlm_ControlMediaGetId(), vlm_ControlMediaGets(), vlm_ControlMediaInstanceClear(), vlm_ControlMediaInstanceGets(), vlm_ControlMediaInstanceGetTimePosition(), vlm_ControlMediaInstancePause(), vlm_ControlMediaInstanceSetTimePosition(), vlm_ControlMediaInstanceStart(), vlm_ControlMediaInstanceStop(), vlm_ControlScheduleClear(), VLM_DEL_MEDIA, VLM_GET_MEDIA, VLM_GET_MEDIA_ID, VLM_GET_MEDIA_INSTANCE_POSITION, VLM_GET_MEDIA_INSTANCE_TIME, VLM_GET_MEDIA_INSTANCES, VLM_GET_MEDIAS, VLM_PAUSE_MEDIA_INSTANCE, VLM_SET_MEDIA_INSTANCE_POSITION, VLM_SET_MEDIA_INSTANCE_TIME, VLM_START_MEDIA_BROADCAST_INSTANCE, VLM_START_MEDIA_VOD_INSTANCE, and VLM_STOP_MEDIA_INSTANCE.
Referenced by vlm_Control(), and vlm_ControlInternal().
|
static |
Referenced by vlm_Delete(), and vlm_New().