[vlc-commits] input: pass thread event callbacks to input_Read()
Romain Vimont
git at videolan.org
Mon Aug 20 13:59:18 CEST 2018
vlc | branch: master | Romain Vimont <rom1v at videolabs.io> | Fri Aug 10 10:25:48 2018 +0200| [7fabc5be797ffc9fe9eae95282354d90a43c4578] | committer: Romain Vimont
input: pass thread event callbacks to input_Read()
Add parameters for callbacks and user data so that the caller may
receive input thread events (e.g. "subtree added").
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=7fabc5be797ffc9fe9eae95282354d90a43c4578
---
include/vlc_input.h | 5 +++--
lib/media_list.c | 3 ++-
modules/services_discovery/mediadirs.c | 2 +-
src/input/input.c | 7 ++++---
src/playlist/loadsave.c | 2 +-
5 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/include/vlc_input.h b/include/vlc_input.h
index 3223c7183f..cfa2cef215 100644
--- a/include/vlc_input.h
+++ b/include/vlc_input.h
@@ -581,8 +581,9 @@ VLC_API int input_Start( input_thread_t * );
VLC_API void input_Stop( input_thread_t * );
-VLC_API int input_Read( vlc_object_t *, input_item_t * );
-#define input_Read(a,b) input_Read(VLC_OBJECT(a),b)
+VLC_API int input_Read( vlc_object_t *, input_item_t *,
+ input_thread_events_cb, void * );
+#define input_Read(a,b,c,d) input_Read(VLC_OBJECT(a),b,c,d)
VLC_API int input_vaControl( input_thread_t *, int i_query, va_list );
diff --git a/lib/media_list.c b/lib/media_list.c
index 7c93e41d5f..720c7d522f 100644
--- a/lib/media_list.c
+++ b/lib/media_list.c
@@ -257,7 +257,8 @@ libvlc_media_list_add_file_content( libvlc_media_list_t * p_mlist,
return -1;
}
- input_Read( p_mlist->p_libvlc_instance->p_libvlc_int, p_input_item );
+ input_Read( p_mlist->p_libvlc_instance->p_libvlc_int, p_input_item,
+ NULL, NULL );
return 0;
}
diff --git a/modules/services_discovery/mediadirs.c b/modules/services_discovery/mediadirs.c
index 65ddb129c8..8f0c3025a0 100644
--- a/modules/services_discovery/mediadirs.c
+++ b/modules/services_discovery/mediadirs.c
@@ -209,7 +209,7 @@ static void *Run( void *data )
vlc_event_attach( p_em, vlc_InputItemSubItemTreeAdded,
input_subnode_added, p_sd );
- input_Read( p_sd, p_root );
+ input_Read( p_sd, p_root, NULL, NULL );
vlc_event_detach( p_em, vlc_InputItemSubItemTreeAdded,
input_subnode_added, p_sd );
diff --git a/src/input/input.c b/src/input/input.c
index 58a726bb97..ebbebaa196 100644
--- a/src/input/input.c
+++ b/src/input/input.c
@@ -143,10 +143,11 @@ input_thread_t *input_Create( vlc_object_t *p_parent,
* \param p_item an input item
* \return an error code, VLC_SUCCESS on success
*/
-int input_Read( vlc_object_t *p_parent, input_item_t *p_item )
+int input_Read( vlc_object_t *p_parent, input_item_t *p_item,
+ input_thread_events_cb events_cb, void *events_data )
{
- input_thread_t *p_input = Create( p_parent, NULL, NULL, p_item, NULL, false,
- NULL, NULL );
+ input_thread_t *p_input = Create( p_parent, events_cb, events_data, p_item,
+ NULL, false, NULL, NULL );
if( !p_input )
return VLC_EGENERIC;
diff --git a/src/playlist/loadsave.c b/src/playlist/loadsave.c
index 790aed4031..0f4d6480fa 100644
--- a/src/playlist/loadsave.c
+++ b/src/playlist/loadsave.c
@@ -103,7 +103,7 @@ int playlist_Import( playlist_t *p_playlist, const char *psz_file )
vlc_object_t *dummy = vlc_object_create( p_playlist, sizeof (*dummy) );
var_Create( dummy, "meta-file", VLC_VAR_VOID );
- int ret = input_Read( dummy, p_input );
+ int ret = input_Read( dummy, p_input, NULL, NULL );
vlc_object_release( dummy );
return ret;
More information about the vlc-commits
mailing list