VLC 4.0.0-dev
|
VLC stream manager. More...
Files | |
file | vlc_vlm.h |
VLC stream manager interface. | |
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 |
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().
void vlm_Delete | ( | vlm_t * | p_vlm | ) |
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().
int vlm_ExecuteCommand | ( | vlm_t * | p_vlm, |
const char * | psz_command, | ||
vlm_message_t ** | pp_message | ||
) |
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().
vlm_message_t * vlm_MessageAdd | ( | vlm_message_t * | a, |
vlm_message_t * | b | ||
) |
References vlc_assert_unreachable, and VLC_UNUSED.
void vlm_MessageDelete | ( | vlm_message_t * | m | ) |
References vlc_assert_unreachable, and VLC_UNUSED.
vlm_message_t * vlm_MessageNew | ( | const char * | a, |
const char * | fmt, | ||
... | |||
) |
References VLC_UNUSED, and vlm_MessageSimpleNew().
vlm_message_t * vlm_MessageSimpleNew | ( | const char * | a | ) |
References VLC_UNUSED.
Referenced by vlm_MessageNew().
vlm_t * vlm_New | ( | libvlc_int_t * | libvlc, |
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_VAR_ADDRESS, vlm_ExecuteCommand(), vlm_MessageDelete(), vlm_mutex, and vlm_t::wait_manage.
Referenced by libvlc_InternalInit().