Commit 47cc1b22 authored by Laurent Aimar's avatar Laurent Aimar

* es_out: fix program change on the fly.

parent 8214ec5a
...@@ -360,6 +360,10 @@ static void EsOutProgramSelect( es_out_t *out, es_out_pgrm_t *p_pgrm ) ...@@ -360,6 +360,10 @@ static void EsOutProgramSelect( es_out_t *out, es_out_pgrm_t *p_pgrm )
p_sys->i_mode != ES_OUT_MODE_ALL ) p_sys->i_mode != ES_OUT_MODE_ALL )
EsUnselect( out, p_sys->es[i], VLC_TRUE ); EsUnselect( out, p_sys->es[i], VLC_TRUE );
} }
p_sys->p_es_audio = NULL;
p_sys->p_es_sub = NULL;
p_sys->p_es_video = NULL;
} }
msg_Dbg( p_input, "Selecting program id=%d", p_pgrm->i_id ); msg_Dbg( p_input, "Selecting program id=%d", p_pgrm->i_id );
...@@ -385,7 +389,8 @@ static void EsOutProgramSelect( es_out_t *out, es_out_pgrm_t *p_pgrm ) ...@@ -385,7 +389,8 @@ static void EsOutProgramSelect( es_out_t *out, es_out_pgrm_t *p_pgrm )
var_Change( p_input, "spu-es", VLC_VAR_CLEARCHOICES, NULL, NULL ); var_Change( p_input, "spu-es", VLC_VAR_CLEARCHOICES, NULL, NULL );
for( i = 0; i < p_sys->i_es; i++ ) for( i = 0; i < p_sys->i_es; i++ )
{ {
EsOutESVarUpdate( out, p_sys->es[i], VLC_FALSE ); if( p_sys->es[i]->p_pgrm == p_sys->p_pgrm )
EsOutESVarUpdate( out, p_sys->es[i], VLC_FALSE );
EsOutSelect( out, p_sys->es[i], VLC_FALSE ); EsOutSelect( out, p_sys->es[i], VLC_FALSE );
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment