pid->p_owner = p_owner;
pid->i_owner_number = 0;
- pid->extra_es = NULL;
- pid->i_extra_es = 0;
+ TAB_INIT( pid->i_extra_es, pid->extra_es );
if( b_psi )
{
else
{
p_es = malloc( sizeof( ts_es_t ) );
- p_es->fmt = pid->es->fmt;
+
+ es_format_Copy( &p_es->fmt, &pid->es->fmt );
+ free( p_es->fmt.psz_language ); p_es->fmt.psz_language = NULL;
+ free( p_es->fmt.psz_description ); p_es->fmt.psz_description = NULL;
+
p_es->id = NULL;
p_es->p_pes = NULL;
p_es->i_pes_size = 0;
else
{
p_es = malloc( sizeof( ts_es_t ) );
- p_es->fmt = pid->es->fmt;
+
+ es_format_Copy( &p_es->fmt, &pid->es->fmt );
+ free( p_es->fmt.psz_language ); p_es->fmt.psz_language = NULL;
+ free( p_es->fmt.psz_description ); p_es->fmt.psz_description = NULL;
+
p_es->id = NULL;
p_es->p_pes = NULL;
p_es->i_pes_size = 0;