[vlc-devel] [PATCH 2/6] medialibrary: Use vlc::threads

Hugo Beauzée-Luyssen hugo at beauzee.fr
Mon Aug 20 14:38:16 CEST 2018


---
 modules/misc/medialibrary/MetadataExtractor.cpp | 10 +++++-----
 modules/misc/medialibrary/medialibrary.h        |  8 ++------
 2 files changed, 7 insertions(+), 11 deletions(-)

diff --git a/modules/misc/medialibrary/MetadataExtractor.cpp b/modules/misc/medialibrary/MetadataExtractor.cpp
index 3abca1c04d..508ac1ca4c 100644
--- a/modules/misc/medialibrary/MetadataExtractor.cpp
+++ b/modules/misc/medialibrary/MetadataExtractor.cpp
@@ -37,17 +37,17 @@ void MetadataExtractor::onInputEvent( const vlc_input_event* ev,
 
     if ( ev->type == INPUT_EVENT_STATE )
     {
-        vlc_mutex_locker lock( &ctx.m_mutex );
+        vlc::threads::mutex_locker lock( ctx.m_mutex );
         ctx.state = ev->state;
         return;
     }
 
     {
-        vlc_mutex_locker lock( &ctx.m_mutex );
+        vlc::threads::mutex_locker lock( ctx.m_mutex );
         // We need to probe the item now, but not from the input thread
         ctx.needsProbing = true;
     }
-    vlc_cond_signal( &ctx.m_cond );
+    ctx.m_cond.signal();
 }
 
 void MetadataExtractor::populateItem( medialibrary::parser::IItem& item, input_item_t* inputItem )
@@ -173,10 +173,10 @@ medialibrary::parser::Status MetadataExtractor::run( medialibrary::parser::IItem
     input_Start( ctx.input.get() );
 
     {
-        vlc_mutex_locker lock( &ctx.m_mutex );
+        vlc::threads::mutex_locker lock( ctx.m_mutex );
         while ( ctx.needsProbing == false )
         {
-            vlc_cond_wait( &ctx.m_cond, &ctx.m_mutex );
+            ctx.m_cond.wait( ctx.m_mutex );
             if ( ctx.needsProbing == true )
             {
                 if ( ctx.state == END_S || ctx.state == ERROR_S )
diff --git a/modules/misc/medialibrary/medialibrary.h b/modules/misc/medialibrary/medialibrary.h
index 97a2891c10..509698bc04 100644
--- a/modules/misc/medialibrary/medialibrary.h
+++ b/modules/misc/medialibrary/medialibrary.h
@@ -54,19 +54,15 @@ private:
             , mde( mde )
             , item( item )
         {
-            vlc_mutex_init( &m_mutex );
-            vlc_cond_init( &m_cond );
         }
         ~ParseContext()
         {
-            vlc_cond_destroy( &m_cond );
-            vlc_mutex_destroy( &m_mutex );
         }
 
         std::unique_ptr<input_item_t, decltype(&input_item_Release)> inputItem;
         std::unique_ptr<input_thread_t, decltype(&input_Close)> input;
-        vlc_cond_t m_cond;
-        vlc_mutex_t m_mutex;
+        vlc::threads::condition_variable m_cond;
+        vlc::threads::mutex m_mutex;
         bool needsProbing;
         input_state_e state;
         MetadataExtractor* mde;
-- 
2.18.0



More information about the vlc-devel mailing list