
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 int | InputEventPreparse (vlc_object_t *p_this, char const *psz_cmd, vlc_value_t oldval, vlc_value_t newval, void *p_data) |
| static int | InputEvent (vlc_object_t *p_this, char const *psz_cmd, vlc_value_t oldval, vlc_value_t newval, void *p_data) |
| vlm_t * | vlm_New (vlc_object_t *p_this) |
| void | vlm_Delete (vlm_t *p_vlm) |
| int | vlm_ExecuteCommand (vlm_t *p_vlm, const char *psz_command, vlm_message_t **pp_message) |
| int64_t | vlm_Date (void) |
| 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_t *p_vlm, 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 int InputEvent | ( | vlc_object_t * | p_this, | |
| char const * | psz_cmd, | |||
| vlc_value_t | oldval, | |||
| vlc_value_t | newval, | |||
| void * | p_data | |||
| ) | [static] |
References vlm_media_sys_t::cfg, vlm_media_sys_t::i_instance, vlc_value_t::i_int, vlm_media_t::id, INPUT_EVENT_STATE, vlm_t::input_state_changed, vlm_media_sys_t::instance, libvlc_priv(), vlm_t::lock_manage, vlm_media_instance_sys_t::p_input, input_thread_t::p_libvlc, libvlc_priv_t::p_vlm, vlm_media_t::psz_name, vlm_media_instance_sys_t::psz_name, var_GetInteger, vlc_cond_signal(), vlc_mutex_lock(), vlc_mutex_unlock(), VLC_UNUSED, vlm_SendEventMediaInstanceState(), and vlm_t::wait_manage.
Referenced by vlm_ControlMediaInstanceStart(), and vlm_MediaInstanceDelete().
| static int InputEventPreparse | ( | vlc_object_t * | p_this, | |
| char const * | psz_cmd, | |||
| vlc_value_t | oldval, | |||
| vlc_value_t | newval, | |||
| void * | p_data | |||
| ) | [static] |
References preparse_data_t::b_mux, vlc_value_t::i_int, INPUT_EVENT_DEAD, INPUT_EVENT_ITEM_META, preparse_data_t::p_sem, vlc_sem_post(), and VLC_UNUSED.
Referenced by vlm_OnMediaUpdate().
| static void * Manage | ( | void * | p_object | ) | [static] |
References vlm_t::b_die, vlm_schedule_sys_t::b_enabled, input_thread_t::b_eof, input_thread_t::b_error, vlm_media_t::b_loop, vlm_media_t::b_vod, vlm_media_t::broadcast, vlm_media_sys_t::cfg, vlm_schedule_sys_t::command, ExecuteCommand(), vlm_schedule_sys_t::i_command, vlm_schedule_sys_t::i_date, 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_period, 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, vlm_media_instance_sys_t::p_input, vlm_media_instance_sys_t::psz_name, vlm_t::schedule, strdup(), TAB_APPEND, TAB_REMOVE, vlc_cond_timedwait(), vlc_cond_wait(), vlc_mutex_lock(), vlc_mutex_unlock(), vlc_restorecancel(), vlc_savecancel(), vlm_ControlInternal(), vlm_Date(), vlm_MessageDelete(), VLM_START_MEDIA_BROADCAST_INSTANCE, VLM_STOP_MEDIA_INSTANCE, and vlm_t::wait_manage.
Referenced by vlm_New().
| int vlm_ControlInternal | ( | vlm_t * | p_vlm, | |
| int | i_query, | |||
| ... | ||||
| ) |
References va_end(), va_start(), and vlm_vaControlInternal().
Referenced by Manage(), vlm_ControlMediaDel(), vlm_Delete(), and vlm_MediaVodControl().
| static int vlm_ControlMediaAdd | ( | vlm_t * | p_vlm, | |
| vlm_media_t * | p_cfg, | |||
| int64_t * | p_id | |||
| ) | [static] |
References 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, vlm_t::media, module_need, msg_Err, 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_OBJECT, vlc_object_release, vlm_ControlMediaGetByName(), vlm_media_Copy(), vlm_MediaDescriptionCheck(), vlm_OnMediaUpdate(), vlm_SendEventMediaAdded(), and vlm_media_sys_t::vod.
Referenced by vlm_vaControlInternal().
| static int vlm_ControlMediaChange | ( | vlm_t * | p_vlm, | |
| vlm_media_t * | p_cfg | |||
| ) | [static] |
References vlm_media_t::b_vod, vlm_media_sys_t::cfg, vlm_media_t::id, vlm_ControlMediaGetById(), vlm_media_Clean(), vlm_media_Copy(), vlm_MediaDescriptionCheck(), and vlm_OnMediaUpdate().
Referenced by vlm_vaControlInternal().
| static int vlm_ControlMediaClear | ( | vlm_t * | p_vlm | ) | [static] |
References vlm_media_sys_t::cfg, vlm_t::i_media, vlm_media_t::id, vlm_t::media, and vlm_ControlMediaDel().
Referenced by vlm_vaControlInternal().
| static int vlm_ControlMediaDel | ( | vlm_t * | p_vlm, | |
| int64_t | id | |||
| ) | [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, vlm_media_sys_t::instance, vlm_t::media, vlm_media_sys_t::p_item, vlm_media_sys_t::p_media, vlm_t::p_vod, vod_t::pf_media_del, vlm_media_t::psz_name, vlm_media_instance_sys_t::psz_name, TAB_REMOVE, vlc_gc_decref, 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 int vlm_ControlMediaGet | ( | vlm_t * | p_vlm, | |
| int64_t | id, | |||
| vlm_media_t ** | pp_dsc | |||
| ) | [static] |
References vlm_media_sys_t::cfg, vlm_ControlMediaGetById(), and vlm_media_Duplicate().
Referenced by vlm_vaControlInternal().
| static vlm_media_sys_t* vlm_ControlMediaGetById | ( | vlm_t * | p_vlm, | |
| int64_t | id | |||
| ) | [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 vlm_media_sys_t* vlm_ControlMediaGetByName | ( | vlm_t * | p_vlm, | |
| const char * | psz_name | |||
| ) | [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 int vlm_ControlMediaGetId | ( | vlm_t * | p_vlm, | |
| const char * | psz_name, | |||
| int64_t * | p_id | |||
| ) | [static] |
References vlm_media_sys_t::cfg, vlm_media_t::id, and vlm_ControlMediaGetByName().
Referenced by vlm_vaControlInternal().
| static int vlm_ControlMediaGets | ( | vlm_t * | p_vlm, | |
| vlm_media_t *** | ppp_dsc, | |||
| int * | pi_dsc | |||
| ) | [static] |
References vlm_media_sys_t::cfg, vlm_t::i_media, vlm_t::media, TAB_APPEND, TAB_INIT, and vlm_media_Duplicate().
Referenced by vlm_vaControlInternal().
| static int vlm_ControlMediaInstanceClear | ( | vlm_t * | p_vlm, | |
| int64_t | id | |||
| ) | [static] |
| static vlm_media_instance_sys_t* vlm_ControlMediaInstanceGetByName | ( | vlm_media_sys_t * | p_media, | |
| const char * | psz_id | |||
| ) | [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 int vlm_ControlMediaInstanceGets | ( | vlm_t * | p_vlm, | |
| int64_t | id, | |||
| vlm_media_instance_t *** | ppp_idsc, | |||
| int * | pi_instance | |||
| ) | [static] |
References vlm_media_instance_t::b_paused, vlm_media_instance_t::d_position, vlm_media_sys_t::i_instance, vlm_media_instance_t::i_length, vlm_media_instance_t::i_rate, vlm_media_instance_t::i_time, INPUT_RATE_DEFAULT, vlm_media_sys_t::instance, vlm_media_instance_sys_t::p_input, PAUSE_S, vlm_media_instance_t::psz_name, vlm_media_instance_sys_t::psz_name, strdup(), TAB_APPEND, TAB_INIT, var_GetFloat, var_GetInteger, var_GetTime, vlm_ControlMediaGetById(), and vlm_media_instance_New().
Referenced by vlm_vaControlInternal().
| static int vlm_ControlMediaInstanceGetTimePosition | ( | vlm_t * | p_vlm, | |
| int64_t | id, | |||
| const char * | psz_id, | |||
| int64_t * | pi_time, | |||
| double * | pd_position | |||
| ) | [static] |
References vlm_media_instance_sys_t::p_input, var_GetFloat, var_GetTime, vlm_ControlMediaGetById(), and vlm_ControlMediaInstanceGetByName().
Referenced by vlm_vaControlInternal().
| static int vlm_ControlMediaInstancePause | ( | vlm_t * | p_vlm, | |
| int64_t | id, | |||
| const char * | psz_id | |||
| ) | [static] |
| static int vlm_ControlMediaInstanceSetTimePosition | ( | vlm_t * | p_vlm, | |
| int64_t | id, | |||
| const char * | psz_id, | |||
| int64_t | i_time, | |||
| double | d_position | |||
| ) | [static] |
References vlm_media_instance_sys_t::p_input, var_SetFloat, var_SetTime, vlm_ControlMediaGetById(), and vlm_ControlMediaInstanceGetByName().
Referenced by vlm_vaControlInternal().
| 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] |
References _, asprintf(), vlm_media_t::b_enabled, input_thread_t::b_eof, input_thread_t::b_error, vlm_media_instance_sys_t::b_sout_keep, 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_Create, input_item_AddOption(), input_item_SetURI(), input_Join(), input_Release(), input_resource_New(), input_resource_TerminateSout(), input_resource_TerminateVout(), input_Start(), input_Stop(), InputEvent(), vlm_media_sys_t::instance, make_URI(), vlm_media_instance_sys_t::p_input, vlm_media_instance_sys_t::p_input_resource, vlm_media_instance_sys_t::p_item, vlm_media_sys_t::p_media, vlm_media_instance_sys_t::p_parent, PAUSE_S, PLAYING_S, vlm_media_t::ppsz_input, vlm_media_t::ppsz_option, vlm_media_t::psz_name, vlm_media_t::psz_output, TAB_APPEND, var_AddCallback, var_Create, var_DelCallback, var_GetInteger, var_SetAddress, var_SetInteger, var_SetString, VLC_INPUT_OPTION_TRUSTED, vlc_object_release, VLC_SUCCESS, VLC_VAR_ADDRESS, VLC_VAR_STRING, vlm_ControlMediaGetById(), vlm_ControlMediaInstanceGetByName(), vlm_MediaInstanceDelete(), vlm_MediaInstanceNew(), vlm_SendEventMediaInstanceStarted(), vlm_SendEventMediaInstanceStopped(), and vlm_media_sys_t::vod.
Referenced by vlm_vaControlInternal().
| static int vlm_ControlMediaInstanceStop | ( | vlm_t * | p_vlm, | |
| int64_t | id, | |||
| const char * | psz_id | |||
| ) | [static] |
References vlm_ControlMediaGetById(), vlm_ControlMediaInstanceGetByName(), and vlm_MediaInstanceDelete().
Referenced by vlm_ControlMediaInstanceClear(), and vlm_vaControlInternal().
| static int vlm_ControlScheduleClear | ( | vlm_t * | p_vlm | ) | [static] |
References vlm_t::i_schedule, vlm_t::schedule, and vlm_ScheduleDelete().
Referenced by vlm_vaControlInternal().
| int64_t vlm_Date | ( | void | ) |
Referenced by Manage().
| static int vlm_MediaDescriptionCheck | ( | vlm_t * | p_vlm, | |
| vlm_media_t * | p_cfg | |||
| ) | [static] |
References vlm_media_sys_t::cfg, vlm_t::i_media, vlm_media_t::id, vlm_t::media, and vlm_media_t::psz_name.
Referenced by vlm_ControlMediaAdd(), and vlm_ControlMediaChange().
| 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] |
References vlm_media_sys_t::cfg, vlm_media_sys_t::i_instance, input_Join(), input_Release(), input_resource_Release(), input_resource_Terminate(), input_Stop(), InputEvent(), vlm_media_sys_t::instance, vlm_media_instance_sys_t::p_input, vlm_media_instance_sys_t::p_input_resource, vlm_media_instance_sys_t::p_item, vlm_media_instance_sys_t::p_parent, vlm_media_instance_sys_t::psz_name, vlm_media_t::psz_name, TAB_REMOVE, var_DelCallback, vlc_gc_decref, vlc_object_release, and vlm_SendEventMediaInstanceStopped().
Referenced by vlm_ControlMediaInstanceStart(), and vlm_ControlMediaInstanceStop().
| static vlm_media_instance_sys_t* vlm_MediaInstanceNew | ( | vlm_t * | p_vlm, | |
| const char * | psz_name | |||
| ) | [static] |
References vlm_media_instance_sys_t::b_sout_keep, vlm_media_instance_sys_t::i_index, input_item_New, vlm_media_instance_sys_t::p_input, vlm_media_instance_sys_t::p_input_resource, vlm_media_instance_sys_t::p_item, vlm_media_instance_sys_t::p_parent, vlm_media_instance_sys_t::psz_name, strdup(), and vlc_object_create.
Referenced by vlm_ControlMediaInstanceStart().
| static int vlm_MediaVodControl | ( | void * | p_private, | |
| vod_media_t * | p_vod_media, | |||
| const char * | psz_id, | |||
| int | i_query, | |||
| va_list | args | |||
| ) | [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_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.
| static int vlm_OnMediaUpdate | ( | vlm_t * | p_vlm, | |
| vlm_media_sys_t * | p_media | |||
| ) | [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_Close(), input_Create, input_item_AddOption(), input_item_New, input_Start(), input_Stop(), InputEventPreparse(), make_URI(), msg_Err, vlm_media_sys_t::p_item, vlm_media_sys_t::p_media, vlm_t::p_vod, vod_t::pf_media_del, vod_t::pf_media_new, vlm_media_t::ppsz_input, vlm_media_t::ppsz_option, 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, text, var_AddCallback, var_Create, var_DelCallback, var_SetAddress, VIDEO_ES, vlc_gc_decref, VLC_INPUT_OPTION_TRUSTED, vlc_sem_destroy(), vlc_sem_init(), vlc_sem_wait(), VLC_VAR_ADDRESS, vlm_SendEventMediaChanged(), vlm_media_t::vod, and vlm_media_sys_t::vod.
Referenced by vlm_ControlMediaAdd(), vlm_ControlMediaChange(), and vlm_ControlMediaDel().
| static int vlm_vaControlInternal | ( | vlm_t * | p_vlm, | |
| int | i_query, | |||
| va_list | args | |||
| ) | [static] |
References msg_Err, 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().
vlc_mutex_t vlm_mutex = PTHREAD_MUTEX_INITIALIZER [static] |
Referenced by vlm_Delete(), and vlm_New().
1.7.1