* input_programs.c: es_descriptor_t, pgrm_descriptor_t management
*****************************************************************************
* Copyright (C) 1999, 2000 VideoLAN
- * $Id: input_programs.c,v 1.21 2001/01/07 16:17:58 sam Exp $
+ * $Id: input_programs.c,v 1.22 2001/01/08 18:16:33 sam Exp $
*
* Authors:
*
/* Free standalone ES */
for( i = 0; i < p_input->stream.i_es_number; i++ )
{
+ /* Don't put i instead of 0 !! */
input_DelES( p_input, p_input->stream.pp_es[0] );
}
}
/* Free the structures that describe the es that belongs to that program */
for( i_index = 0; i_index < p_pgrm->i_es_number; i_index++ )
{
- input_DelES( p_input, p_pgrm->pp_es[i_index] );
+ /* Don't put i_index instead of 0 !! */
+ input_DelES( p_input, p_pgrm->pp_es[0] );
}
/* Free the demux data */
* mpeg_system.c: TS, PS and PES management
*****************************************************************************
* Copyright (C) 1998, 1999, 2000 VideoLAN
- * $Id: mpeg_system.c,v 1.24 2001/01/05 18:46:44 massiot Exp $
+ * $Id: mpeg_system.c,v 1.25 2001/01/08 18:16:33 sam Exp $
*
* Authors:
*
i < p_input->stream.pp_programs[0]->i_es_number;
i++ )
{
+ /* We remove pp_es[i_new_es_member] and not pp_es[i] because the
+ * list will be emptied starting from the end */
input_DelES( p_input,
p_input->stream.pp_programs[0]->pp_es[i_new_es_number] );
- /* Yes, I wrote *i_new_es_number* */
}
#ifdef STATS
p_cur = p_next;
}
-
- /* Free structure */
+ /* Free structure */
free( p_intf );
}
}
#endif
+#ifdef INTF_MSG_QUEUE
/* destroy lock */
vlc_mutex_destroy( &p_main->p_msg->lock );
+#endif
/* Free structure */
free( p_main->p_msg );
struct tms cpu_usage;
times( &cpu_usage );
- intf_Msg("vout stats: cpu usage (user: %d, system: %d)",
- cpu_usage.tms_utime, cpu_usage.tms_stime);
+ intf_Msg( "vout stats: cpu usage (user: %d, system: %d)",
+ cpu_usage.tms_utime, cpu_usage.tms_stime );
}
#endif
free( p_vout->p_picture[i_index].p_data );
}
}
+
for( i_index = 0; i_index < VOUT_MAX_SUBPICTURES; i_index++ )
{
if( p_vout->p_subpicture[i_index].i_status != FREE_SUBPICTURE )
/* Destroy translation tables */
vout_EndYUV( p_vout );
p_vout->p_sys_end( p_vout );
+
+ /* Release the change lock */
+ vlc_mutex_unlock( &p_vout->change_lock );
}
/*****************************************************************************