VLC
4.0.0-dev
|
Files | |
file | vlc_vlm.h |
Data Structures | |
struct | vlm_media_t |
VLM media. More... | |
struct | vlm_media_instance_t |
VLM media instance. More... | |
struct | vlm_event_t |
struct | vlm_message_t |
Typedefs | |
typedef enum vlm_state_e | vlm_state_e |
Enumerations | |
enum | vlm_event_type_e { VLM_EVENT_MEDIA_ADDED = 0x100, VLM_EVENT_MEDIA_REMOVED, VLM_EVENT_MEDIA_CHANGED, VLM_EVENT_MEDIA_INSTANCE_STARTED = 0x200, VLM_EVENT_MEDIA_INSTANCE_STOPPED, VLM_EVENT_MEDIA_INSTANCE_STATE } |
VLM events You can catch vlm event by adding a callback on the variable "intf-event" of the VLM object. More... | |
enum | vlm_state_e { VLM_INIT_S = 0, VLM_OPENING_S, VLM_PLAYING_S, VLM_PAUSE_S, VLM_END_S, VLM_ERROR_S } |
enum | vlm_query_e { VLM_GET_MEDIAS, VLM_CLEAR_MEDIAS, VLM_ADD_MEDIA, VLM_DEL_MEDIA, VLM_CHANGE_MEDIA, VLM_GET_MEDIA, VLM_GET_MEDIA_ID, VLM_GET_MEDIA_INSTANCES, VLM_CLEAR_MEDIA_INSTANCES, VLM_START_MEDIA_BROADCAST_INSTANCE, VLM_STOP_MEDIA_INSTANCE, VLM_PAUSE_MEDIA_INSTANCE, VLM_GET_MEDIA_INSTANCE_TIME, VLM_SET_MEDIA_INSTANCE_TIME, VLM_GET_MEDIA_INSTANCE_POSITION, VLM_SET_MEDIA_INSTANCE_POSITION, VLM_CLEAR_SCHEDULES } |
VLM control query. More... | |
VLC stream manager
VLM is the server core in vlc that allows streaming of multiple media streams at the same time. It provides broadcast, schedule and video on demand features for streaming using several streaming and network protocols.
typedef enum vlm_state_e vlm_state_e |
enum vlm_event_type_e |
VLM events You can catch vlm event by adding a callback on the variable "intf-event" of the VLM object.
This variable is an address that will hold a vlm_event_t* value.
Enumerator | |
---|---|
VLM_EVENT_MEDIA_ADDED | |
VLM_EVENT_MEDIA_REMOVED | |
VLM_EVENT_MEDIA_CHANGED | |
VLM_EVENT_MEDIA_INSTANCE_STARTED | |
VLM_EVENT_MEDIA_INSTANCE_STOPPED | |
VLM_EVENT_MEDIA_INSTANCE_STATE |
enum vlm_query_e |
VLM control query.
enum vlm_state_e |
VLC_EXPORT int vlm_Control | ( | vlm_t * | p_vlm, |
int | i_query, | ||
... | |||
) |
References vlm_t::lock, vlc_assert_unreachable, vlc_mutex_lock(), vlc_mutex_unlock(), VLC_UNUSED, and vlm_vaControlInternal().
VLC_EXPORT void vlm_Delete | ( | vlm_t * | ) |
References vlm_t::exiting, vlm_t::i_media, vlm_t::i_schedule, libvlc_priv(), vlm_t::lock, vlm_t::lock_manage, vlm_t::media, libvlc_priv_t::p_vlm, vlm_t::schedule, TAB_CLEAN, vlm_t::thread, vlm_t::users, vlc_assert_unreachable, vlc_cond_signal(), vlc_join(), vlc_mutex_lock(), vlc_mutex_unlock(), vlc_object_delete, vlc_object_instance, VLC_UNUSED, VLM_CLEAR_MEDIAS, VLM_CLEAR_SCHEDULES, vlm_ControlInternal(), vlm_mutex, and vlm_t::wait_manage.
Referenced by libvlc_InternalCleanup().
VLC_EXPORT int vlm_ExecuteCommand | ( | vlm_t * | , |
const char * | , | ||
vlm_message_t ** | |||
) |
References ExecuteCommand(), vlm_t::lock, vlc_assert_unreachable, vlc_mutex_lock(), vlc_mutex_unlock(), and VLC_UNUSED.
Referenced by vlm_New().
|
inlinestatic |
Cleanup and release memory associated with this vlm_media_t instance.
You still need to release p_media itself with vlm_media_Delete().
p_media | vlm_media_t to cleanup |
References vlm_media_t::i_input, vlm_media_t::i_option, vlm_media_t::ppsz_input, vlm_media_t::ppsz_option, vlm_media_t::psz_name, vlm_media_t::psz_output, and TAB_CLEAN.
Referenced by vlm_ControlMediaChange(), vlm_ControlMediaDel(), and vlm_media_Delete().
|
inlinestatic |
Copy a vlm_media_t instance into another vlm_media_t instance.
p_dst | vlm_media_t instance to copy to |
p_src | vlm_media_t instance to copy from |
References vlm_media_t::b_enabled, vlm_media_t::b_loop, vlm_media_t::broadcast, vlm_media_t::i_input, vlm_media_t::i_option, vlm_media_t::id, vlm_media_t::ppsz_input, vlm_media_t::ppsz_option, vlm_media_t::psz_name, vlm_media_t::psz_output, strdup(), and TAB_APPEND_CAST.
Referenced by vlm_ControlMediaAdd(), vlm_ControlMediaChange(), and vlm_media_Duplicate().
|
inlinestatic |
Delete a vlm_media_t instance.
p_media | vlm_media_t instance to delete |
References vlm_media_Clean().
|
inlinestatic |
Copy a vlm_media_t instance.
p_src | vlm_media_t instance to copy |
References vlm_media_Copy(), and vlm_media_New().
Referenced by vlm_ControlMediaGet(), and vlm_ControlMediaGets().
|
inlinestatic |
Initialize a vlm_media_t instance.
p_media | vlm_media_t instance to initialize |
References vlm_media_t::b_loop, vlm_media_t::broadcast, vlm_media_t::i_input, vlm_media_t::i_option, vlm_media_t::id, vlm_media_t::ppsz_input, vlm_media_t::ppsz_option, vlm_media_t::psz_name, vlm_media_t::psz_output, and TAB_INIT.
Referenced by vlm_media_New().
|
inlinestatic |
Cleanup vlm_media_instance_t.
p_instance | vlm_media_instance_t to cleanup |
References vlm_media_instance_t::psz_name.
Referenced by vlm_media_instance_Delete().
|
inlinestatic |
Delete a vlm_media_instance_t.
p_instance | vlm_media_instance_t to delete |
References vlm_media_instance_Clean().
|
inlinestatic |
Initialize vlm_media_instance_t.
p_instance | vlm_media_instance_t to initialize |
References vlm_media_instance_t::b_paused, vlm_media_instance_t::d_position, vlm_media_instance_t::f_rate, vlm_media_instance_t::i_length, vlm_media_instance_t::i_time, and vlm_media_instance_t::psz_name.
Referenced by vlm_media_instance_New().
|
inlinestatic |
Allocate a new vlm_media_instance_t.
References vlm_media_instance_Init().
Referenced by vlm_ControlMediaInstanceGets().
|
inlinestatic |
Allocate a new vlm_media_t instance.
References vlm_media_Init().
Referenced by vlm_media_Duplicate().
VLC_EXPORT vlm_message_t* vlm_MessageAdd | ( | vlm_message_t * | , |
vlm_message_t * | |||
) |
References vlc_assert_unreachable, and VLC_UNUSED.
VLC_EXPORT void vlm_MessageDelete | ( | vlm_message_t * | ) |
References vlc_assert_unreachable, and VLC_UNUSED.
VLC_EXPORT vlm_message_t* vlm_MessageNew | ( | const char * | , |
const char * | , | ||
... | |||
) |
References VLC_UNUSED, and vlm_MessageSimpleNew().
VLC_EXPORT vlm_message_t* vlm_MessageSimpleNew | ( | const char * | ) |
References VLC_UNUSED.
Referenced by vlm_MessageNew().
VLC_EXPORT vlm_t* vlm_New | ( | libvlc_int_t * | , |
const char * | path | ||
) |
References asprintf(), vlm_t::exiting, vlm_t::i_id, vlm_t::i_media, vlm_t::i_schedule, vlm_t::input_state_changed, libvlc_priv(), likely, vlm_t::lock, vlm_t::lock_manage, Manage(), vlm_t::media, msg_Dbg, msg_Err, msg_Warn, libvlc_priv_t::p_vlm, vlm_t::schedule, TAB_INIT, vlm_t::thread, vlm_t::users, var_Create(), vlc_clone(), vlc_cond_init(), vlc_custom_create, vlc_mutex_init(), vlc_mutex_lock(), vlc_mutex_unlock(), VLC_OBJECT, vlc_object_delete, VLC_THREAD_PRIORITY_LOW, VLC_VAR_ADDRESS, vlm_ExecuteCommand(), vlm_MessageDelete(), vlm_mutex, and vlm_t::wait_manage.
Referenced by libvlc_InternalInit().