VLC  4.0.0-dev
Files | Data Structures | Typedefs | Enumerations | Functions
Collaboration diagram for VLM:

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...
 

Functions

VLC_EXPORT vlm_tvlm_New (libvlc_int_t *, const char *path)
 
VLC_EXPORT void vlm_Delete (vlm_t *)
 
VLC_EXPORT int vlm_ExecuteCommand (vlm_t *, const char *, vlm_message_t **)
 
VLC_EXPORT int vlm_Control (vlm_t *p_vlm, int i_query,...)
 
VLC_EXPORT vlm_message_tvlm_MessageSimpleNew (const char *)
 
VLC_EXPORT vlm_message_tvlm_MessageNew (const char *, const char *,...)
 
VLC_EXPORT vlm_message_tvlm_MessageAdd (vlm_message_t *, vlm_message_t *)
 
VLC_EXPORT void vlm_MessageDelete (vlm_message_t *)
 
static void vlm_media_Init (vlm_media_t *p_media)
 Initialize a vlm_media_t instance. More...
 
static void vlm_media_Copy (vlm_media_t *restrict p_dst, const vlm_media_t *restrict p_src)
 Copy a vlm_media_t instance into another vlm_media_t instance. More...
 
static void vlm_media_Clean (vlm_media_t *p_media)
 Cleanup and release memory associated with this vlm_media_t instance. More...
 
static vlm_media_tvlm_media_New (void)
 Allocate a new vlm_media_t instance. More...
 
static void vlm_media_Delete (vlm_media_t *p_media)
 Delete a vlm_media_t instance. More...
 
static vlm_media_tvlm_media_Duplicate (vlm_media_t *p_src)
 Copy a vlm_media_t instance. More...
 
static void vlm_media_instance_Init (vlm_media_instance_t *p_instance)
 Initialize vlm_media_instance_t. More...
 
static void vlm_media_instance_Clean (vlm_media_instance_t *p_instance)
 Cleanup vlm_media_instance_t. More...
 
static vlm_media_instance_tvlm_media_instance_New (void)
 Allocate a new vlm_media_instance_t. More...
 
static void vlm_media_instance_Delete (vlm_media_instance_t *p_instance)
 Delete a vlm_media_instance_t. More...
 

Detailed Description

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 Documentation

◆ vlm_state_e

typedef enum vlm_state_e vlm_state_e

Enumeration Type Documentation

◆ 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 

◆ vlm_query_e

VLM control query.

Enumerator
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_state_e

Enumerator
VLM_INIT_S 
VLM_OPENING_S 
VLM_PLAYING_S 
VLM_PAUSE_S 
VLM_END_S 
VLM_ERROR_S 

Function Documentation

◆ vlm_Control()

VLC_EXPORT int vlm_Control ( vlm_t p_vlm,
int  i_query,
  ... 
)

◆ vlm_Delete()

VLC_EXPORT void vlm_Delete ( vlm_t )

◆ vlm_ExecuteCommand()

VLC_EXPORT int vlm_ExecuteCommand ( vlm_t ,
const char *  ,
vlm_message_t **   
)

◆ vlm_media_Clean()

static void vlm_media_Clean ( vlm_media_t p_media)
inlinestatic

Cleanup and release memory associated with this vlm_media_t instance.

You still need to release p_media itself with vlm_media_Delete().

Parameters
p_mediavlm_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().

◆ vlm_media_Copy()

static void vlm_media_Copy ( vlm_media_t *restrict  p_dst,
const vlm_media_t *restrict  p_src 
)
inlinestatic

◆ vlm_media_Delete()

static void vlm_media_Delete ( vlm_media_t p_media)
inlinestatic

Delete a vlm_media_t instance.

Parameters
p_mediavlm_media_t instance to delete

References vlm_media_Clean().

◆ vlm_media_Duplicate()

static vlm_media_t* vlm_media_Duplicate ( vlm_media_t p_src)
inlinestatic

Copy a vlm_media_t instance.

Parameters
p_srcvlm_media_t instance to copy
Returns
vlm_media_t duplicate of p_src

References vlm_media_Copy(), and vlm_media_New().

Referenced by vlm_ControlMediaGet(), and vlm_ControlMediaGets().

◆ vlm_media_Init()

static void vlm_media_Init ( vlm_media_t p_media)
inlinestatic

◆ vlm_media_instance_Clean()

static void vlm_media_instance_Clean ( vlm_media_instance_t p_instance)
inlinestatic

Cleanup vlm_media_instance_t.

Parameters
p_instancevlm_media_instance_t to cleanup

References vlm_media_instance_t::psz_name.

Referenced by vlm_media_instance_Delete().

◆ vlm_media_instance_Delete()

static void vlm_media_instance_Delete ( vlm_media_instance_t p_instance)
inlinestatic

Delete a vlm_media_instance_t.

Parameters
p_instancevlm_media_instance_t to delete

References vlm_media_instance_Clean().

◆ vlm_media_instance_Init()

static void vlm_media_instance_Init ( vlm_media_instance_t p_instance)
inlinestatic

◆ vlm_media_instance_New()

static vlm_media_instance_t* vlm_media_instance_New ( void  )
inlinestatic

◆ vlm_media_New()

static vlm_media_t* vlm_media_New ( void  )
inlinestatic

Allocate a new vlm_media_t instance.

Returns
vlm_media_t instance

References vlm_media_Init().

Referenced by vlm_media_Duplicate().

◆ vlm_MessageAdd()

VLC_EXPORT vlm_message_t* vlm_MessageAdd ( vlm_message_t ,
vlm_message_t  
)

◆ vlm_MessageDelete()

VLC_EXPORT void vlm_MessageDelete ( vlm_message_t )

References vlc_assert_unreachable, and VLC_UNUSED.

Referenced by Manage(), and vlm_New().

◆ vlm_MessageNew()

VLC_EXPORT vlm_message_t* vlm_MessageNew ( const char *  ,
const char *  ,
  ... 
)

◆ vlm_MessageSimpleNew()

VLC_EXPORT vlm_message_t* vlm_MessageSimpleNew ( const char *  )

References VLC_UNUSED.

Referenced by vlm_MessageNew().

◆ vlm_New()

VLC_EXPORT vlm_t* vlm_New ( libvlc_int_t ,
const char *  path 
)