+ sout_stream_id_t *newid = NULL;
+ if( p_sys->b_placeholder )
+ {
+ switch( p_bridge->pp_es[i]->fmt.i_cat )
+ {
+ case VIDEO_ES:
+ p_sys->i_last_video = i_date;
+ newid = p_sys->id_video;
+ if( !newid )
+ break;
+ if( !p_sys->b_switch_on_iframe ||
+ p_sys->i_state == placeholder_off ||
+ ( p_bridge->pp_es[i]->fmt.i_cat == VIDEO_ES &&
+ p_bridge->pp_es[i]->p_block->i_flags & BLOCK_FLAG_TYPE_I ) )
+ {
+ p_stream->p_next->pf_send( p_stream->p_next,
+ newid,
+ p_bridge->pp_es[i]->p_block );
+ p_sys->i_state = placeholder_off;
+ }
+ break;
+ case AUDIO_ES:
+ newid = p_sys->id_audio;
+ if( !newid )
+ break;
+ p_sys->i_last_audio = i_date;
+ default:
+ p_stream->p_next->pf_send( p_stream->p_next,
+ newid?newid:p_bridge->pp_es[i]->id,
+ p_bridge->pp_es[i]->p_block );
+ break;
+ }
+ }
+ else /* !b_placeholder */
+ p_stream->p_next->pf_send( p_stream->p_next,
+ p_bridge->pp_es[i]->id,
+ p_bridge->pp_es[i]->p_block );