98 VLM_EVENT_MEDIA_ADDED = 0x100,
99 VLM_EVENT_MEDIA_REMOVED,
100 VLM_EVENT_MEDIA_CHANGED,
103 VLM_EVENT_MEDIA_INSTANCE_STARTED = 0x200,
104 VLM_EVENT_MEDIA_INSTANCE_STOPPED,
105 VLM_EVENT_MEDIA_INSTANCE_STATE,
112 const char *psz_name;
113 const char *psz_instance_name;
139 VLM_GET_MEDIA_INSTANCES,
141 VLM_CLEAR_MEDIA_INSTANCES,
143 VLM_START_MEDIA_BROADCAST_INSTANCE,
145 VLM_START_MEDIA_VOD_INSTANCE,
147 VLM_STOP_MEDIA_INSTANCE,
149 VLM_PAUSE_MEDIA_INSTANCE,
151 VLM_GET_MEDIA_INSTANCE_TIME,
153 VLM_SET_MEDIA_INSTANCE_TIME,
155 VLM_GET_MEDIA_INSTANCE_POSITION,
157 VLM_SET_MEDIA_INSTANCE_POSITION,
188 #define vlm_New( a ) vlm_New( VLC_OBJECT(a) )
189 VLC_API
void vlm_Delete( vlm_t * );
190 VLC_API
int vlm_ExecuteCommand( vlm_t *,
const char *,
vlm_message_t ** );
191 VLC_API
int vlm_Control( vlm_t *p_vlm,
int i_query, ... );
193 VLC_API
vlm_message_t * vlm_MessageSimpleNew(
const char * );
194 VLC_API
vlm_message_t * vlm_MessageNew(
const char *,
const char *, ... ) VLC_FORMAT( 2, 3 );
196 VLC_API
void vlm_MessageDelete( vlm_message_t * );
204 static inline
void vlm_media_Init(
vlm_media_t *p_media )
208 p_media->psz_name = NULL;
209 TAB_INIT( p_media->i_input, p_media->ppsz_input );
210 TAB_INIT( p_media->i_option, p_media->ppsz_option );
211 p_media->psz_output = NULL;
212 p_media->b_vod =
false;
214 p_media->vod.psz_mux = NULL;
215 p_media->broadcast.b_loop =
false;
233 p_dst->id = p_src->id;
234 p_dst->b_enabled = p_src->b_enabled;
235 if( p_src->psz_name )
236 p_dst->psz_name = strdup( p_src->psz_name );
238 for( i = 0; i < p_src->i_input; i++ )
239 TAB_APPEND_CAST( (
char**), p_dst->i_input, p_dst->ppsz_input, strdup(p_src->ppsz_input[i]) );
240 for( i = 0; i < p_src->i_option; i++ )
241 TAB_APPEND_CAST( (
char**), p_dst->i_option, p_dst->ppsz_option, strdup(p_src->ppsz_option[i]) );
243 if( p_src->psz_output )
244 p_dst->psz_output = strdup( p_src->psz_output );
246 p_dst->b_vod = p_src->b_vod;
249 if( p_src->vod.psz_mux )
250 p_dst->vod.psz_mux = strdup( p_src->vod.psz_mux );
254 p_dst->broadcast.b_loop = p_src->broadcast.b_loop;
263 static inline void vlm_media_Clean(
vlm_media_t *p_media )
266 free( p_media->psz_name );
268 for( i = 0; i < p_media->i_input; i++ )
269 free( p_media->ppsz_input[i]);
270 TAB_CLEAN(p_media->i_input, p_media->ppsz_input );
272 for( i = 0; i < p_media->i_option; i++ )
273 free( p_media->ppsz_option[i]);
274 TAB_CLEAN(p_media->i_option, p_media->ppsz_option );
276 free( p_media->psz_output );
278 free( p_media->vod.psz_mux );
289 vlm_media_Init( p_media );
297 static inline void vlm_media_Delete(
vlm_media_t *p_media )
299 vlm_media_Clean( p_media );
312 vlm_media_Copy( p_dst, p_src );
324 p_instance->psz_name = NULL;
325 p_instance->i_time = 0;
326 p_instance->i_length = 0;
327 p_instance->d_position = 0.0;
328 p_instance->b_paused =
false;
338 free( p_instance->psz_name );
349 vlm_media_instance_Init( p_instance );
359 vlm_media_instance_Clean( p_instance );
Definition: vlc_vlm.h:173
vlm_event_type_e
Definition: vlc_vlm.h:95
Definition: vlc_vlm.h:108
vlm_query_e
Definition: vlc_vlm.h:118
Definition: vlc_objects.h:42