VLC
3.0.21
|
VLC stream manager. More...
Modules | |
Video on Demand (VoD) | |
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 |
Macros | |
#define | vlm_New(a) vlm_New( VLC_OBJECT(a) ) |
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_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_START_MEDIA_VOD_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.
#define vlm_New | ( | a | ) | vlm_New( VLC_OBJECT(a) ) |
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.
int vlm_Control | ( | vlm_t * | p_vlm, |
int | i_query, | ||
... | |||
) |
References vlc_assert_unreachable, and VLC_UNUSED.
void vlm_Delete | ( | vlm_t * | ) |
References vlm_t::i_media, vlm_t::i_schedule, vlc_common_members::libvlc, libvlc_priv(), vlm_t::lock, vlm_t::lock_delete, vlm_t::lock_manage, vlm_t::media, module_unneed, vlm_t::obj, vod_t::p_module, libvlc_priv_t::p_vlm, vlm_t::p_vod, vlm_t::schedule, TAB_CLEAN, vlm_t::thread, vlm_t::users, vlc_assert_unreachable, vlc_cancel(), vlc_cond_destroy(), vlc_cond_signal(), vlc_join(), vlc_mutex_destroy(), vlc_mutex_lock(), vlc_mutex_unlock(), vlc_object_release, VLC_UNUSED, VLM_CLEAR_MEDIAS, VLM_CLEAR_SCHEDULES, vlm_ControlInternal(), vlm_mutex, vlm_t::wait_delete, and vlm_t::wait_manage.
Referenced by libvlc_InternalCleanup().
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::b_vod, vlm_media_t::i_input, vlm_media_t::i_option, 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, TAB_CLEAN, and vlm_media_t::vod.
Referenced by 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::b_vod, 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_mux, vlm_media_t::psz_name, vlm_media_t::psz_output, strdup(), TAB_APPEND_CAST, and vlm_media_t::vod.
Referenced by 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().
|
inlinestatic |
Initialize a vlm_media_t instance.
p_media | vlm_media_t instance to initialize |
References 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::i_length, vlm_media_instance_t::i_rate, vlm_media_instance_t::i_time, INPUT_RATE_DEFAULT, 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().
|
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 * | , |
vlm_message_t * | |||
) |
References vlc_assert_unreachable, and VLC_UNUSED.
void vlm_MessageDelete | ( | vlm_message_t * | ) |
References vlc_assert_unreachable, and VLC_UNUSED.
Referenced by vlm_New().
vlm_message_t* vlm_MessageNew | ( | const char * | , |
const char * | , | ||
... | |||
) |
References VLC_UNUSED, and vlm_MessageSimpleNew().
vlm_message_t* vlm_MessageSimpleNew | ( | const char * | ) |
References VLC_UNUSED.
Referenced by vlm_MessageNew().
vlm_t* vlm_New | ( | vlc_object_t * | ) |
References asprintf(), vlm_t::i_consecutive_errors, vlm_t::i_id, vlm_t::i_media, vlm_t::i_schedule, vlm_t::input_state_changed, vlc_common_members::libvlc, libvlc_priv(), likely, vlm_t::lock, vlm_t::lock_delete, vlm_t::lock_manage, Manage(), vlm_t::media, msg_Dbg, msg_Err, msg_Warn, vlc_object_t::obj, libvlc_priv_t::p_vlm, vlm_t::p_vod, vlm_t::schedule, TAB_INIT, vlm_t::thread, vlm_t::users, var_Create, var_CreateGetString, vlc_clone(), vlc_cond_destroy(), vlc_cond_init(), vlc_cond_init_daytime(), vlc_custom_create, vlc_mutex_destroy(), vlc_mutex_init(), vlc_mutex_lock(), vlc_mutex_unlock(), vlc_object_release, VLC_THREAD_PRIORITY_LOW, VLC_VAR_ADDRESS, vlm_ExecuteCommand(), vlm_MessageDelete(), vlm_mutex, vlm_t::wait_delete, and vlm_t::wait_manage.