[vlc-commits] es_out: fix track reselection (fix #18543)
    Francois Cartegnie 
    git at videolan.org
       
    Mon Jul 17 20:13:31 CEST 2017
    
    
  
vlc | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | Mon Jul 17 19:07:34 2017 +0200| [13c895eee1db0360c9bf8fbffaf8575db49c85e9] | committer: Francois Cartegnie
es_out: fix track reselection (fix #18543)
When a new ES is added and selected,
and the p_main_es is deleted, the es selection event
isn't triggered because the es is already selected
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=13c895eee1db0360c9bf8fbffaf8575db49c85e9
---
 src/input/es_out.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)
diff --git a/src/input/es_out.c b/src/input/es_out.c
index e0a1878f59..16e966b91c 100644
--- a/src/input/es_out.c
+++ b/src/input/es_out.c
@@ -2158,7 +2158,16 @@ static void EsOutDel( es_out_t *out, es_out_id_t *es )
         for( i = 0; i < p_sys->i_es; i++ )
         {
             if( es->fmt.i_cat == p_sys->es[i]->fmt.i_cat )
-                EsOutSelect( out, p_sys->es[i], false );
+            {
+                if( EsIsSelected(p_sys->es[i]) )
+                {
+                    input_SendEventEsSelect( p_sys->p_input, es->fmt.i_cat, p_sys->es[i]->i_id );
+                    if( p_esprops->p_main_es == NULL )
+                        p_esprops->p_main_es = p_sys->es[i];
+                }
+                else
+                    EsOutSelect( out, p_sys->es[i], false );
+            }
         }
     }
 
    
    
More information about the vlc-commits
mailing list