vlc | branch: master | Rémi Denis-Courmont <[email protected]> | Tue Nov 27 00:01:11 2012 +0200| [388ed0d5963f9a2b9b0b539294a5117da1eeec1c] | committer: Rémi Denis-Courmont
playlist: move SD loading/unloading to playlist code... ...instead of libvlc.c. Note that this only concerns the playlist SD. The LibVLC SD were always dealt with separately. > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=388ed0d5963f9a2b9b0b539294a5117da1eeec1c --- src/libvlc.c | 19 +------------------ src/playlist/engine.c | 13 +++++++++++++ 2 files changed, 14 insertions(+), 18 deletions(-) diff --git a/src/libvlc.c b/src/libvlc.c index 9a3d03c..716f752 100644 --- a/src/libvlc.c +++ b/src/libvlc.c @@ -452,16 +452,6 @@ dbus_out: } #endif - /* Add service discovery modules */ - psz_modules = var_InheritString( p_libvlc, "services-discovery" ); - if( psz_modules ) - { - char *p = psz_modules, *m; - while( ( m = strsep( &p, " :," ) ) != NULL ) - playlist_ServicesDiscoveryAdd( pl_Get(p_libvlc), m ); - free( psz_modules ); - } - #ifdef ENABLE_VLM /* Initialize VLM if vlm-conf is specified */ psz_parser = var_CreateGetNonEmptyString( p_libvlc, "vlm-conf" ); @@ -587,14 +577,6 @@ dbus_out: void libvlc_InternalCleanup( libvlc_int_t *p_libvlc ) { libvlc_priv_t *priv = libvlc_priv (p_libvlc); - playlist_t *p_playlist = libvlc_priv (p_libvlc)->p_playlist; - - /* Remove all services discovery */ - if( p_playlist != NULL ) - { - msg_Dbg( p_libvlc, "removing all services discovery tasks" ); - playlist_ServicesDiscoveryKillAll( p_playlist ); - } /* Ask the interfaces to stop and destroy them */ msg_Dbg( p_libvlc, "removing all interfaces" ); @@ -620,6 +602,7 @@ void libvlc_InternalCleanup( libvlc_int_t *p_libvlc ) #endif /* Free playlist now, all threads are gone */ + playlist_t *p_playlist = libvlc_priv (p_libvlc)->p_playlist; if( p_playlist != NULL ) playlist_Destroy( p_playlist ); diff --git a/src/playlist/engine.c b/src/playlist/engine.c index dc5b0e9..c4aa7c8 100644 --- a/src/playlist/engine.c +++ b/src/playlist/engine.c @@ -304,6 +304,16 @@ static playlist_t *playlist_Create( vlc_object_t *p_parent ) /* Thread */ playlist_Activate (p_playlist); + /* Add service discovery modules */ + char *mods = var_InheritString( p_playlist, "services-discovery" ); + if( mods != NULL ) + { + char *p = mods, *m; + while( (m = strsep( &p, " :," )) != NULL ) + playlist_ServicesDiscoveryAdd( p_playlist, m ); + free( mods ); + } + return p_playlist; } @@ -318,6 +328,9 @@ void playlist_Destroy( playlist_t *p_playlist ) { playlist_private_t *p_sys = pl_priv(p_playlist); + /* Remove all services discovery */ + playlist_ServicesDiscoveryKillAll( p_playlist ); + msg_Dbg( p_playlist, "destroying" ); playlist_Deactivate( p_playlist ); _______________________________________________ vlc-commits mailing list [email protected] http://mailman.videolan.org/listinfo/vlc-commits
