#include <vlc_charset.h>
#include <vlc_fs.h>
#include <vlc_strings.h>
+#include <vlc_modules.h>
#ifdef HAVE_SYS_STAT_H
# include <sys/stat.h>
if( p_resource )
{
p_input->p->p_resource_private = NULL;
- p_input->p->p_resource = p_resource;
+ p_input->p->p_resource = input_resource_Hold( p_resource );
}
else
{
p_input->p->p_resource_private = input_resource_New( VLC_OBJECT( p_input ) );
- p_input->p->p_resource = p_input->p->p_resource_private;
+ p_input->p->p_resource = input_resource_Hold( p_input->p->p_resource_private );
}
input_resource_SetInput( p_input->p->p_resource, p_input );
if( p_input->p->p_es_out_display )
es_out_Delete( p_input->p->p_es_out_display );
+ if( p_input->p->p_resource )
+ input_resource_Release( p_input->p->p_resource );
if( p_input->p->p_resource_private )
- input_resource_Delete( p_input->p->p_resource_private );
+ input_resource_Release( p_input->p->p_resource_private );
vlc_gc_decref( p_input->p->p_item );
prgm = strtok_r( NULL, ",", &buf ) )
{
vlc_value_t val = { .i_int = atoi( prgm ) };
- TAB_APPEND( list.i_count, list.p_values, val );
+ INSERT_ELEM( list.p_values, list.i_count, list.i_count, val );
}
if( list.i_count > 0 )
else
{
demux_Control( p_input->p->input.p_demux, DEMUX_SET_GROUP,
- (int) var_GetInteger( p_input, "program" ), NULL );
+ es_out_GetGroupForced( p_input->p->p_es_out ), NULL );
}
}
if( bookmark.i_time_offset < 0 && bookmark.i_byte_offset < 0 )
{
- msg_Err( p_input, "invalid bookmark %d", val.i_int );
+ msg_Err( p_input, "invalid bookmark %"PRId64, val.i_int );
break;
}
free( psz_path );
}
- char *url = make_URI( psz_subtitle );
+ char *url = make_URI( psz_subtitle, "file" );
var_Change( p_input, "spu-es", VLC_VAR_CHOICESCOUNT, &count, NULL );