[vlc-devel] [PATCH] es_out: fix regression when replacing program

Francois Cartegnie fcvlcdev at free.fr
Tue Oct 13 20:17:21 CEST 2020


refs streams/ts/La_Chevre_PATPMTevery6s.ts
---
 src/input/es_out.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/input/es_out.c b/src/input/es_out.c
index e4b840ed75..184a2ad38e 100644
--- a/src/input/es_out.c
+++ b/src/input/es_out.c
@@ -2876,7 +2876,7 @@ static void EsOutDelLocked( es_out_t *out, es_out_id_t *es )
     EsOutDeleteInfoEs( out, es );
 
     /* Update program */
-    if( EsOutIsGroupSticky( out, es->id.source, es->fmt.i_group ) )
+    if( !EsOutIsGroupSticky( out, es->id.source, es->fmt.i_group ) )
     {
         assert( es->p_pgrm );
 
@@ -3265,6 +3265,13 @@ static int EsOutVaControlLocked( es_out_t *out, input_source_t *source,
                 EsOutProgramSelect( out, p_pgrm );
                 return VLC_SUCCESS;
             }
+
+        p_pgrm = EsOutProgramAdd(out, source, i);
+        if( p_pgrm )
+        {
+            EsOutProgramSelect( out, p_pgrm );
+            return VLC_SUCCESS;
+        }
         return VLC_EGENERIC;
     }
 
-- 
2.26.2



More information about the vlc-devel mailing list