Defines | Functions

vlm.c File Reference

Include dependency graph for vlm.c:

Defines

#define VLM_RET(p, ret)
#define VLM_CHANGE(psz_error, code)
#define VLM_CHANGE_CODE   { p_media->b_enabled = b_enabled; }
#define VLM_CHANGE_CODE   { p_media->broadcast.b_loop = b_loop; }
#define VLM_CHANGE_CODE
#define VLM_CHANGE_CODE
#define VLM_CHANGE_CODE
#define VLM_CHANGE_CODE
#define VLM_CHANGE_CODE

Functions

static int VlmEvent (vlc_object_t *p_this, const char *name, vlc_value_t old_val, vlc_value_t newval, void *param)
static void libvlc_vlm_release_internal (libvlc_instance_t *p_instance)
static int libvlc_vlm_init (libvlc_instance_t *p_instance)
void libvlc_vlm_release (libvlc_instance_t *p_instance)
 Release the vlm instance related to the given libvlc_instance_t.
static vlm_media_instance_tlibvlc_vlm_get_media_instance (libvlc_instance_t *p_instance, const char *psz_name, int i_minstance_idx)
static char * recurse_answer (vlm_message_t *p_answer, const char *psz_delim, const int i_list)
const char * libvlc_vlm_show_media (libvlc_instance_t *p_instance, const char *psz_name)
 Return information about the named media as a JSON string representation.
int libvlc_vlm_add_broadcast (libvlc_instance_t *p_instance, const char *psz_name, const char *psz_input, const char *psz_output, int i_options, const char *const *ppsz_options, int b_enabled, int b_loop)
 Add a broadcast, with one input.
int libvlc_vlm_add_vod (libvlc_instance_t *p_instance, const char *psz_name, const char *psz_input, int i_options, const char *const *ppsz_options, int b_enabled, const char *psz_mux)
 Add a vod, with one input.
int libvlc_vlm_del_media (libvlc_instance_t *p_instance, const char *psz_name)
 Delete a media (VOD or broadcast).
static vlm_media_tget_media (libvlc_instance_t *p_instance, vlm_t **restrict pp_vlm, const char *name)
int libvlc_vlm_set_enabled (libvlc_instance_t *p_instance, const char *psz_name, int b_enabled)
 Enable or disable a media (VOD or broadcast).
int libvlc_vlm_set_loop (libvlc_instance_t *p_instance, const char *psz_name, int b_loop)
 Set a media's loop status.
int libvlc_vlm_set_mux (libvlc_instance_t *p_instance, const char *psz_name, const char *psz_mux)
 Set a media's vod muxer.
int libvlc_vlm_set_output (libvlc_instance_t *p_instance, const char *psz_name, const char *psz_output)
 Set the output for a media.
int libvlc_vlm_set_input (libvlc_instance_t *p_instance, const char *psz_name, const char *psz_input)
 Set a media's input MRL.
int libvlc_vlm_add_input (libvlc_instance_t *p_instance, const char *psz_name, const char *psz_input)
 Add a media's input MRL.
int libvlc_vlm_change_media (libvlc_instance_t *p_instance, const char *psz_name, const char *psz_input, const char *psz_output, int i_options, const char *const *ppsz_options, int b_enabled, int b_loop)
 Edit the parameters of a media.
int libvlc_vlm_play_media (libvlc_instance_t *p_instance, const char *psz_name)
 Play the named broadcast.
int libvlc_vlm_stop_media (libvlc_instance_t *p_instance, const char *psz_name)
 Stop the named broadcast.
int libvlc_vlm_pause_media (libvlc_instance_t *p_instance, const char *psz_name)
 Pause the named broadcast.
int libvlc_vlm_seek_media (libvlc_instance_t *p_instance, const char *psz_name, float f_percentage)
 Seek in the named broadcast.
float libvlc_vlm_get_media_instance_position (libvlc_instance_t *p_instance, const char *psz_name, int i_instance)
 Get vlm_media instance position by name or instance id.
int libvlc_vlm_get_media_instance_time (libvlc_instance_t *p_instance, const char *psz_name, int i_instance)
 Get vlm_media instance time by name or instance id.
int libvlc_vlm_get_media_instance_length (libvlc_instance_t *p_instance, const char *psz_name, int i_instance)
 Get vlm_media instance length by name or instance id.
int libvlc_vlm_get_media_instance_rate (libvlc_instance_t *p_instance, const char *psz_name, int i_instance)
 Get vlm_media instance playback rate by name or instance id.
libvlc_event_manager_tlibvlc_vlm_get_event_manager (libvlc_instance_t *p_instance)
 Get libvlc_event_manager from a vlm media.

Define Documentation

#define VLM_CHANGE (   psz_error,
  code 
)
Value:
do {   \
    vlm_t *p_vlm;           \
    vlm_media_t *p_media = get_media( p_instance, &p_vlm, psz_name ); \
    if( p_media != NULL ) { \
        code;               \
        if( vlm_Control( p_vlm, VLM_CHANGE_MEDIA, p_media ) )       \
            p_vlm = NULL;                                           \
        vlm_media_Delete( p_media );                                \
        if( p_vlm != NULL ) \
            return 0;       \
    }                       \
    libvlc_printerr( psz_error, psz_name );                         \
    return -1;              \
  } while(0)

Referenced by libvlc_vlm_add_input(), libvlc_vlm_change_media(), libvlc_vlm_set_enabled(), libvlc_vlm_set_input(), libvlc_vlm_set_loop(), libvlc_vlm_set_mux(), and libvlc_vlm_set_output().

#define VLM_CHANGE_CODE
Value:
{ int n;        \
    p_media->b_enabled = b_enabled;     \
    p_media->broadcast.b_loop = b_loop; \
    while( p_media->i_input > 0 )       \
        free( p_media->ppsz_input[--p_media->i_input] );    \
    if( psz_input )                     \
        TAB_APPEND( p_media->i_input, p_media->ppsz_input, strdup(psz_input) ); \
    free( p_media->psz_output );        \
    p_media->psz_output = psz_output ? strdup( psz_output ) : NULL; \
    while( p_media->i_option > 0 )     \
        free( p_media->ppsz_option[--p_media->i_option] );        \
    for( n = 0; n < i_options; n++ )    \
        TAB_APPEND( p_media->i_option, p_media->ppsz_option, \
                    strdup(ppsz_options[n]) );   \
  }
#define VLM_CHANGE_CODE   { p_media->broadcast.b_loop = b_loop; }
#define VLM_CHANGE_CODE
Value:
{ while( p_media->i_input > 0 ) \
                            free( p_media->ppsz_input[--p_media->i_input] );\
                          TAB_APPEND( p_media->i_input, p_media->ppsz_input, \
                                      strdup(psz_input) ); }
#define VLM_CHANGE_CODE
Value:
{ free( p_media->psz_output ); \
                          p_media->psz_output = strdup( psz_output ); }
#define VLM_CHANGE_CODE
Value:
{ if( p_media->b_vod ) { \
                            free( p_media->vod.psz_mux ); \
                            p_media->vod.psz_mux = psz_mux \
                                 ? strdup( psz_mux ) : NULL; \
                          } }
#define VLM_CHANGE_CODE
Value:
{ TAB_APPEND( p_media->i_input, p_media->ppsz_input, \
                          strdup(psz_input) ); }
#define VLM_CHANGE_CODE   { p_media->b_enabled = b_enabled; }
#define VLM_RET (   p,
  ret 
)

Function Documentation

static vlm_media_t* get_media ( libvlc_instance_t p_instance,
vlm_t **restrict  pp_vlm,
const char *  name 
) [static]
static vlm_media_instance_t* libvlc_vlm_get_media_instance ( libvlc_instance_t p_instance,
const char *  psz_name,
int  i_minstance_idx 
) [static]
static int libvlc_vlm_init ( libvlc_instance_t p_instance  )  [static]
static void libvlc_vlm_release_internal ( libvlc_instance_t p_instance  )  [static]
static char* recurse_answer ( vlm_message_t p_answer,
const char *  psz_delim,
const int  i_list 
) [static]
static int VlmEvent ( vlc_object_t p_this,
const char *  name,
vlc_value_t  old_val,
vlc_value_t  newval,
void *  param 
) [static]
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines