]> git.sesse.net Git - vlc/commitdiff
input: add DEMUX_SET_ES notification
authorFrancois Cartegnie <fcvlcdev@free.fr>
Tue, 3 Dec 2013 18:05:20 +0000 (19:05 +0100)
committerFrancois Cartegnie <fcvlcdev@free.fr>
Wed, 11 Dec 2013 19:17:06 +0000 (20:17 +0100)
include/vlc_demux.h
src/input/demux.c
src/input/input.c

index 6cfca6b6003a3c9aed18bfd0e08c76e03aa34594..0dcee0dffe2ac9dafdc9fe8fd5fa363a64cb85e1 100644 (file)
@@ -115,11 +115,12 @@ enum demux_query_e
     DEMUX_SET_TITLE,            /* arg1= int            can fail */
     DEMUX_SET_SEEKPOINT,        /* arg1= int            can fail */
 
-    /* DEMUX_SET_GROUP only a hint for demuxer (mainly DVB) to allow not
+    /* DEMUX_SET_GROUP/SET_ES only a hint for demuxer (mainly DVB) to allow not
      * reading everything (you should not use this to call es_out_Control)
      * if you don't know what to do with it, just IGNORE it, it is safe(r)
      * -1 means all group, 0 default group (first es added) */
     DEMUX_SET_GROUP,            /* arg1= int, arg2=const vlc_list_t *   can fail */
+    DEMUX_SET_ES,               /* arg1= int                            can fail */
 
     /* Ask the demux to demux until the given date at the next pf_demux call
      * but not more (and not less, at the precision available of course).
index 86e208232e6c255921f70908ce56140dedb007d0..8126455dd82fdc6468860fe5a2d51f7c21d89010 100644 (file)
@@ -320,6 +320,7 @@ int demux_vaControlHelper( stream_t *s,
         case DEMUX_SET_NEXT_DEMUX_TIME:
         case DEMUX_GET_TITLE_INFO:
         case DEMUX_SET_GROUP:
+        case DEMUX_SET_ES:
         case DEMUX_GET_ATTACHMENTS:
         case DEMUX_CAN_RECORD:
         case DEMUX_SET_RECORD_STATE:
index f5c6d206a6149f3312e6aee749787330d0c30984..183681ac756b5e878a197c0e480a6fd11ce1d43e 100644 (file)
@@ -1856,6 +1856,8 @@ static bool Control( input_thread_t *p_input,
             /* No need to force update, es_out does it if needed */
             es_out_Control( p_input->p->p_es_out_display,
                             ES_OUT_SET_ES_BY_ID, (int)val.i_int );
+
+            demux_Control( p_input->p->input.p_demux, DEMUX_SET_ES, (int)val.i_int );
             break;
 
         case INPUT_CONTROL_RESTART_ES: