/* Construct the event */
- event.type = libvlc_MediaPreparsedChanged;
- event.u.media_preparsed_changed.new_status =
+ event.type = libvlc_MediaParsedChanged;
+ event.u.media_parsed_changed.new_status =
p_event->u.input_item_preparsed_changed.new_status;
/* Send the event */
free(p_md);
return NULL;
}
- libvlc_event_manager_register_event_type( p_md->p_event_manager,
- libvlc_MediaMetaChanged );
- libvlc_event_manager_register_event_type( p_md->p_event_manager,
- libvlc_MediaSubItemAdded );
- libvlc_event_manager_register_event_type( p_md->p_event_manager,
- libvlc_MediaFreed );
- libvlc_event_manager_register_event_type( p_md->p_event_manager,
- libvlc_MediaDurationChanged );
- libvlc_event_manager_register_event_type( p_md->p_event_manager,
- libvlc_MediaStateChanged );
- libvlc_event_manager_register_event_type( p_md->p_event_manager,
- libvlc_MediaPreparsedChanged );
+
+ libvlc_event_manager_t *em = p_md->p_event_manager;
+ libvlc_event_manager_register_event_type(em, libvlc_MediaMetaChanged);
+ libvlc_event_manager_register_event_type(em, libvlc_MediaSubItemAdded);
+ libvlc_event_manager_register_event_type(em, libvlc_MediaFreed);
+ libvlc_event_manager_register_event_type(em, libvlc_MediaDurationChanged);
+ libvlc_event_manager_register_event_type(em, libvlc_MediaStateChanged);
+ libvlc_event_manager_register_event_type(em, libvlc_MediaParsedChanged);
vlc_gc_incref( p_md->p_input_item );
libvlc_media_t *libvlc_media_new_path( libvlc_instance_t *p_instance,
const char *path )
{
- char *mrl = make_URI( path );
+ char *mrl = make_URI( path, "file" );
if( unlikely(mrl == NULL) )
{
libvlc_printerr( "Not enough memory" );
uninstall_input_item_observer( p_md );
vlc_gc_decref( p_md->p_input_item );
+ vlc_cond_destroy( &p_md->parsed_cond );
+ vlc_mutex_destroy( &p_md->parsed_lock );
+
/* Construct the event */
libvlc_event_t event;
event.type = libvlc_MediaFreed;
}
/**************************************************************************
- * Get preparsed status for media object.
+ * Get parsed status for media object.
**************************************************************************/
int
-libvlc_media_is_preparsed( libvlc_media_t * p_md )
+libvlc_media_is_parsed( libvlc_media_t * p_md )
{
assert( p_md );
* Get media descriptor's elementary streams description
**************************************************************************/
int
-libvlc_media_get_es( libvlc_media_t *p_md, libvlc_media_es_t ** pp_es )
+libvlc_media_get_tracks_info( libvlc_media_t *p_md, libvlc_media_track_info_t ** pp_es )
{
assert( p_md );
vlc_mutex_lock( &p_input_item->lock );
const int i_es = p_input_item->i_es;
- *pp_es = (i_es > 0) ? malloc( i_es * sizeof(libvlc_media_es_t) ) : NULL;
+ *pp_es = (i_es > 0) ? malloc( i_es * sizeof(libvlc_media_track_info_t) ) : NULL;
if( !pp_es ) /* no ES, or OOM */
{
/* Fill array */
for( int i = 0; i < i_es; i++ )
{
- libvlc_media_es_t *p_mes = *pp_es+i;
+ libvlc_media_track_info_t *p_mes = *pp_es+i;
const es_format_t *p_es = p_input_item->es[i];
- p_mes->i_channels = p_mes->i_rate = 0;
- p_mes->i_width = p_mes->i_height = 0;
-
-
p_mes->i_codec = p_es->i_codec;
p_mes->i_id = p_es->i_id;
{
case UNKNOWN_ES:
default:
- p_mes->i_type = libvlc_es_unknown;
+ p_mes->i_type = libvlc_track_unknown;
break;
case VIDEO_ES:
- p_mes->i_type = libvlc_es_video;
- p_mes->i_height = p_es->video.i_height;
- p_mes->i_width = p_es->video.i_width;
+ p_mes->i_type = libvlc_track_video;
+ p_mes->u.video.i_height = p_es->video.i_height;
+ p_mes->u.video.i_width = p_es->video.i_width;
break;
case AUDIO_ES:
- p_mes->i_type = libvlc_es_audio;
- p_mes->i_channels = p_es->audio.i_channels;
- p_mes->i_rate = p_es->audio.i_rate;
+ p_mes->i_type = libvlc_track_audio;
+ p_mes->u.audio.i_channels = p_es->audio.i_channels;
+ p_mes->u.audio.i_rate = p_es->audio.i_rate;
break;
case SPU_ES:
- p_mes->i_type = libvlc_es_text;
+ p_mes->i_type = libvlc_track_text;
break;
}
}