[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