- Timestamp:
- 04/09/08 15:49:03 (3 months ago)
- git-parent:
- Files:
-
- modules/stream_out/bridge.c (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
modules/stream_out/bridge.c
rdfa6af9 r09cffd8 602 602 603 603 p_bridge->pp_es[i]->fmt.i_id += p_sys->i_id_offset; 604 p_bridge->pp_es[i]->id = p_sys->p_out->pf_add( 605 p_sys->p_out, &p_bridge->pp_es[i]->fmt ); 606 if ( p_bridge->pp_es[i]->id == NULL ) 604 if( !p_sys->b_placeholder ) 607 605 { 608 msg_Warn( p_stream, "couldn't create chain for id %d", 609 p_bridge->pp_es[i]->fmt.i_id ); 606 p_bridge->pp_es[i]->id = p_sys->p_out->pf_add( 607 p_sys->p_out, &p_bridge->pp_es[i]->fmt ); 608 if ( p_bridge->pp_es[i]->id == NULL ) 609 { 610 msg_Warn( p_stream, "couldn't create chain for id %d", 611 p_bridge->pp_es[i]->fmt.i_id ); 612 } 610 613 } 611 614 msg_Dbg( p_stream, "bridging in input codec=%4.4s id=%d pos=%d", … … 624 627 && p_bridge->pp_es[i]->i_last < i_date ) 625 628 { 626 p_sys->p_out->pf_del( p_sys->p_out, p_bridge->pp_es[i]->id ); 629 if( !p_sys->b_placeholder ) 630 p_sys->p_out->pf_del( p_sys->p_out, 631 p_bridge->pp_es[i]->id ); 627 632 p_bridge->pp_es[i]->fmt.i_id -= p_sys->i_id_offset; 628 633 p_bridge->pp_es[i]->b_changed = true; … … 632 637 } 633 638 634 if ( p_bridge->pp_es[i]->id != NULL )639 if ( p_bridge->pp_es[i]->id != NULL || p_sys->b_placeholder) 635 640 { 636 641 block_t *p_block = p_bridge->pp_es[i]->p_block; … … 650 655 p_sys->i_last_video = i_date; 651 656 newid = p_sys->id_video; 657 if( !newid ) 658 break; 652 659 if( !p_sys->b_switch_on_iframe || 653 660 p_sys->i_state == placeholder_off || … … 656 663 { 657 664 p_sys->p_out->pf_send( p_sys->p_out, 658 newid ?newid:p_bridge->pp_es[i]->id,665 newid, 659 666 p_bridge->pp_es[i]->p_block ); 660 667 p_sys->i_state = placeholder_off; … … 663 670 case AUDIO_ES: 664 671 newid = p_sys->id_audio; 672 if( !newid ) 673 break; 665 674 p_sys->i_last_audio = i_date; 666 675 default:
