]> git.sesse.net Git - vlc/commitdiff
playlist: Add an option to disable meta-fetch. (Need to be merged with art-fetch).
authorPierre d'Herbemont <pdherbemont@videolan.org>
Wed, 7 Nov 2007 21:21:46 +0000 (21:21 +0000)
committerPierre d'Herbemont <pdherbemont@videolan.org>
Wed, 7 Nov 2007 21:21:46 +0000 (21:21 +0000)
src/libvlc-module.c
src/playlist/engine.c
src/playlist/playlist_internal.h
src/playlist/thread.c

index b864d6093f2f72524a50c136084140c59f0b5baf..53d99ca24d15f197d747e006cd918bd8fb6a1322 100644 (file)
@@ -1065,6 +1065,11 @@ static const char *ppsz_clock_descriptions[] =
     "Automatically preparse files added to the playlist " \
     "(to retrieve some metadata)." )
 
+#define FETCH_META_TEXT N_( "Meta fetcher policy" )
+#define FETCH_META_LONGTEXT N_( \
+    "Specify if you want to attempt to fetch files'"\
+    "meta informations using the network." );
+
 #define ALBUM_ART_TEXT N_( "Album art policy" )
 #define ALBUM_ART_LONGTEXT N_( \
     "Choose how album art will be downloaded." );
@@ -1851,6 +1856,9 @@ vlc_module_begin();
     add_bool( "auto-preparse", VLC_TRUE, NULL, PREPARSE_TEXT,
               PREPARSE_LONGTEXT, VLC_FALSE );
 
+    add_integer( "fetch-meta", VLC_TRUE, NULL, FETCH_META_TEXT,
+                 FETCH_META_LONGTEXT, VLC_FALSE );
+
     add_integer( "album-art", ALBUM_ART_WHEN_ASKED, NULL, ALBUM_ART_TEXT,
                  ALBUM_ART_LONGTEXT, VLC_FALSE );
         change_integer_list( pi_albumart_values,
index 00a9166b3d53f4e1b4cdaded57e47ad5104b3baa..79ee6e8d4c6048a907a50b48bb6db3993a1fb440 100644 (file)
@@ -590,8 +590,14 @@ void playlist_FetcherLoop( playlist_fetcher_t *p_obj )
         {
             if( !b_fetch_art )
             {
-                input_MetaFetch( p_playlist, p_item );
-                var_SetInteger( p_playlist, "item-change", p_item->i_id );
+                /* If the user doesn't want us to fetch meta automatically 
+                 * abort here. */
+                if( p_playlist->p_fetcher->b_fetch_meta )
+                {
+                    input_MetaFetch( p_playlist, p_item );
+                    var_SetInteger( p_playlist, "item-change", p_item->i_id );
+                }
+
                 /*  Fetch right now */
                 if( p_playlist->p_fetcher->i_art_policy == ALBUM_ART_ALL )
                 {
index 40e1ea3643b47b378d80d9f99f4138c0420a1c63..f3a5cae0287dd6b68435941b7825fe00da6627e8 100644 (file)
@@ -55,6 +55,7 @@ struct playlist_fetcher_t
     VLC_COMMON_MEMBERS
     vlc_mutex_t     lock;
     int             i_art_policy;
+    vlc_bool_t      b_fetch_meta;
     int             i_waiting;
     preparse_item_t *p_waiting;
 
index 94afef3a62cf9d614328df17ee0abab886601acb..b6e584a50e1c88c9ef2184d229d67ec18868d61d 100644 (file)
@@ -97,6 +97,8 @@ void __playlist_ThreadCreate( vlc_object_t *p_parent )
     }
     p_playlist->p_fetcher->i_waiting = 0;
     p_playlist->p_fetcher->p_waiting = NULL;
+    p_playlist->p_fetcher->b_fetch_meta = var_CreateGetInteger( p_playlist,
+                                                                 "meta-fetch" );
     p_playlist->p_fetcher->i_art_policy = var_CreateGetInteger( p_playlist,
                                                                 "album-art" );