p_sys->i_rate = st->cfg.i_samplerate;
p_sys->i_frame_length = st->cfg.i_frame_length;
- /* FIXME And if it changes ? */
- if( !p_dec->fmt_out.i_extra && st->i_extra > 0 )
+ if ( p_sys->i_channels > 0 && p_sys->i_rate > 0 &&
+ p_sys->i_frame_length > 0 )
{
- p_dec->fmt_out.i_extra = st->i_extra;
- p_dec->fmt_out.p_extra = malloc( st->i_extra );
- if( !p_dec->fmt_out.p_extra )
+ /* FIXME And if it changes ? */
+ if( !p_dec->fmt_out.i_extra && st->i_extra > 0 )
{
- p_dec->fmt_out.i_extra = 0;
- return 0;
+ p_dec->fmt_out.i_extra = st->i_extra;
+ p_dec->fmt_out.p_extra = malloc( st->i_extra );
+ if( !p_dec->fmt_out.p_extra )
+ {
+ p_dec->fmt_out.i_extra = 0;
+ return 0;
+ }
+ memcpy( p_dec->fmt_out.p_extra, st->extra, st->i_extra );
}
- memcpy( p_dec->fmt_out.p_extra, st->extra, st->i_extra );
+ p_sys->b_latm_cfg = true;
}
-
- p_sys->b_latm_cfg = true;
}
}
/* Wait for the configuration */