- if( !id->b_used &&
- id->fmt.i_cat == p_fmt->i_cat &&
- id->fmt.i_codec == p_fmt->i_codec &&
- ( ( id->fmt.i_cat == AUDIO_ES &&
- id->fmt.audio.i_rate == p_fmt->audio.i_rate &&
- id->fmt.audio.i_channels == p_fmt->audio.i_channels &&
- id->fmt.audio.i_blockalign == p_fmt->audio.i_blockalign ) ||
- ( id->fmt.i_cat == VIDEO_ES &&
- id->fmt.video.i_width == p_fmt->video.i_width &&
- id->fmt.video.i_height == p_fmt->video.i_height ) ) )
+ if( id->b_used )
+ continue;
+
+ if( id->fmt.i_cat != p_fmt->i_cat || id->fmt.i_codec != p_fmt->i_codec )
+ continue;
+
+ if( id->fmt.i_cat == AUDIO_ES )
+ {
+ audio_format_t *p_a = &id->fmt.audio;
+ if( p_a->i_rate != p_fmt->audio.i_rate ||
+ p_a->i_channels != p_fmt->audio.i_channels ||
+ p_a->i_blockalign != p_fmt->audio.i_blockalign )
+ continue;
+ }
+ else if( id->fmt.i_cat == VIDEO_ES )