[vlc-commits] es_out: add callback to post sub-items

Rémi Denis-Courmont git at videolan.org
Sun Jun 4 18:25:33 CEST 2017


vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Sun Jun  4 19:16:40 2017 +0300| [4e4d3ab5c74638b1043aa0247c4bc0f3798e0134] | committer: Rémi Denis-Courmont

es_out: add callback to post sub-items

In the long term, there should really be no need for demux and es_out
when parsing a playlist. But for now, add a "proper" callback for the
directory demux to report sub-items.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=4e4d3ab5c74638b1043aa0247c4bc0f3798e0134
---

 include/vlc_es_out.h         | 2 ++
 src/input/es_out.c           | 7 +++++++
 src/input/es_out_timeshift.c | 1 +
 3 files changed, 10 insertions(+)

diff --git a/include/vlc_es_out.h b/include/vlc_es_out.h
index b6f40df941..e6dc67b2e0 100644
--- a/include/vlc_es_out.h
+++ b/include/vlc_es_out.h
@@ -94,6 +94,8 @@ enum es_out_query_e
     ES_OUT_GET_PCR_SYSTEM, /* arg1=mtime_t *, arg2=mtime_t * res=can fail */
     ES_OUT_MODIFY_PCR_SYSTEM, /* arg1=int is_absolute, arg2=mtime_t, res=can fail */
 
+    ES_OUT_POST_SUBNODE, /* arg1=input_item_node_t *, res=can fail */
+
     /* First value usable for private control */
     ES_OUT_PRIVATE_START = 0x10000,
 };
diff --git a/src/input/es_out.c b/src/input/es_out.c
index 4d75178902..cde10deda7 100644
--- a/src/input/es_out.c
+++ b/src/input/es_out.c
@@ -2765,6 +2765,13 @@ static int EsOutControlLocked( es_out_t *out, int i_query, va_list args )
         return VLC_SUCCESS;
     }
 
+    case ES_OUT_POST_SUBNODE:
+    {
+        input_item_node_t *node = va_arg(args, input_item_node_t *);
+        input_item_node_PostAndDelete(node);
+        return VLC_SUCCESS;
+    }
+
     default:
         msg_Err( p_sys->p_input, "unknown query in es_out_Control" );
         return VLC_EGENERIC;
diff --git a/src/input/es_out_timeshift.c b/src/input/es_out_timeshift.c
index b23ae7c9a5..c8fa798561 100644
--- a/src/input/es_out_timeshift.c
+++ b/src/input/es_out_timeshift.c
@@ -723,6 +723,7 @@ static int ControlLocked( es_out_t *p_out, int i_query, va_list args )
             return VLC_EGENERIC;
         /* fall through */
     case ES_OUT_GET_GROUP_FORCED:
+    case ES_OUT_POST_SUBNODE:
         return es_out_vaControl( p_sys->p_out, i_query, args );
 
     case ES_OUT_MODIFY_PCR_SYSTEM:



More information about the vlc-commits mailing list