]> git.sesse.net Git - vlc/commitdiff
Added INPUT_REPLACE_INFOS and INPUT_MERGE_INFOS.
authorLaurent Aimar <fenrir@videolan.org>
Fri, 5 Feb 2010 21:50:52 +0000 (22:50 +0100)
committerLaurent Aimar <fenrir@videolan.org>
Fri, 5 Feb 2010 22:23:12 +0000 (23:23 +0100)
include/vlc_input.h
src/input/control.c

index 6a357cd17b6f9b52732f935a0afd71cfbf3ba559..7f7c72fb0b35948dad6d98b5d8741c1f5f435c78 100644 (file)
@@ -473,6 +473,8 @@ enum input_query_e
 
     /* Meta datas */
     INPUT_ADD_INFO,   /* arg1= char* arg2= char* arg3=...     res=can fail */
+    INPUT_REPLACE_INFOS,/* arg1= info_category_t *            res=cannot fail */
+    INPUT_MERGE_INFOS,/* arg1= info_category_t *              res=cannot fail */
     INPUT_GET_INFO,   /* arg1= char* arg2= char* arg3= char** res=can fail */
     INPUT_DEL_INFO,   /* arg1= char* arg2= char*              res=can fail */
     INPUT_SET_NAME,   /* arg1= char* res=can fail    */
index 85ffb650b0309a18cd99c3717e72966dc68b58a7..b2cf6b4242e3473b358e3debe780e0dbb287a74a 100644 (file)
@@ -155,6 +155,20 @@ int input_vaControl( input_thread_t *p_input, int i_query, va_list args )
                 input_SendEventMetaInfo( p_input );
             return i_ret;
         }
+        case INPUT_REPLACE_INFOS:
+        case INPUT_MERGE_INFOS:
+        {
+            info_category_t *p_cat = va_arg( args, info_category_t * );
+
+            if( i_query == INPUT_REPLACE_INFOS )
+                input_item_ReplaceInfos( p_input->p->p_item, p_cat );
+            else
+                input_item_MergeInfos( p_input->p->p_item, p_cat );
+
+            if( !p_input->b_preparsing )
+                input_SendEventMetaInfo( p_input );
+            return VLC_SUCCESS;
+        }
         case INPUT_DEL_INFO:
         {
             char *psz_cat = (char *)va_arg( args, char * );