VLC  3.0.0-git
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Modules | Data Structures | Macros | Enumerations | Functions
VLM

VLM is the server core in vlc that allows streaming of multiple media streams at the same time. More...

Collaboration diagram for VLM:

Modules

 Video On Demand (VOD)
 Video On Demand (VOD) functionality is provided from VLM.

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

Functions

vlm_tvlm_New (vlc_object_t *)
void vlm_Delete (vlm_t *)
int vlm_ExecuteCommand (vlm_t *, const char *, vlm_message_t **)
int vlm_Control (vlm_t *p_vlm, int i_query,...)
vlm_message_tvlm_MessageSimpleNew (const char *)
vlm_message_tvlm_MessageNew (const char *, const char *,...)
vlm_message_tvlm_MessageAdd (vlm_message_t *, vlm_message_t *)
void vlm_MessageDelete (vlm_message_t *)
static void vlm_media_Init (vlm_media_t *p_media)
 Initialize a vlm_media_t instance.
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.
static void vlm_media_Clean (vlm_media_t *p_media)
 Cleanup and release memory associated with this vlm_media_t instance.
static vlm_media_tvlm_media_New (void)
 Allocate a new vlm_media_t instance.
static void vlm_media_Delete (vlm_media_t *p_media)
 Delete a vlm_media_t instance.
static vlm_media_tvlm_media_Duplicate (vlm_media_t *p_src)
 Copy a vlm_media_t instance.
static void vlm_media_instance_Init (vlm_media_instance_t *p_instance)
 Initialize vlm_media_instance_t.
static void vlm_media_instance_Clean (vlm_media_instance_t *p_instance)
 Cleanup vlm_media_instance_t.
static vlm_media_instance_tvlm_media_instance_New (void)
 Allocate a new vlm_media_instance_t.
static void vlm_media_instance_Delete (vlm_media_instance_t *p_instance)
 Delete a vlm_media_instance_t.

Detailed Description

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.

Macro Definition Documentation

#define vlm_New (   a)    vlm_New( VLC_OBJECT(a) )

Referenced by libvlc_InternalInit().

Enumeration Type Documentation

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

Function Documentation

int vlm_Control ( vlm_t p_vlm,
int  i_query,
  ... 
)
void vlm_Delete ( vlm_t )
int vlm_ExecuteCommand ( vlm_t ,
const char *  ,
vlm_message_t **   
)
static void vlm_media_Clean ( vlm_media_t p_media)
inlinestatic
static void vlm_media_Copy ( vlm_media_t *restrict  p_dst,
const vlm_media_t *restrict  p_src 
)
inlinestatic
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().

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

static void vlm_media_Init ( vlm_media_t p_media)
inlinestatic

Initialize a vlm_media_t instance.

Parameters
p_mediavlm_media_t instance to initialize

References TAB_INIT.

Referenced by vlm_media_New().

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

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

static void vlm_media_instance_Init ( vlm_media_instance_t p_instance)
inlinestatic
static vlm_media_instance_t* vlm_media_instance_New ( void  )
inlinestatic
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_message_t* vlm_MessageAdd ( vlm_message_t ,
vlm_message_t  
)

References VLC_UNUSED.

void vlm_MessageDelete ( vlm_message_t )

References VLC_UNUSED.

Referenced by Manage(), and vlm_New().

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

References VLC_UNUSED.

Referenced by vlm_MessageNew().

vlm_t* vlm_New ( vlc_object_t )