[vlc-commits] misc: medialibrary: ctx does not need dynamic lifetime
Filip Roséen
git at videolan.org
Fri Jul 20 11:12:08 CEST 2018
vlc | branch: master | Filip Roséen <filip at atch.se> | Fri Jul 20 03:40:11 2018 +0200| [58ef0717ac53659ffdd95463dd8111a6a4b117a8] | committer: Hugo Beauzée-Luyssen
misc: medialibrary: ctx does not need dynamic lifetime
The relevant object is only meant to be alive for the duration of the
function in question, as such wrapping it in a std::unique_ptr has no
value.
(cherry picked from commit 681a956bdf5136faa79464d339daeccf32767b2e)
Signed-off-by: Hugo Beauzée-Luyssen <hugo at beauzee.fr>
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=58ef0717ac53659ffdd95463dd8111a6a4b117a8
---
modules/misc/medialibrary/MetadataExtractor.cpp | 39 +++++++++++++------------
1 file changed, 20 insertions(+), 19 deletions(-)
diff --git a/modules/misc/medialibrary/MetadataExtractor.cpp b/modules/misc/medialibrary/MetadataExtractor.cpp
index 3d543052fe..122085ac10 100644
--- a/modules/misc/medialibrary/MetadataExtractor.cpp
+++ b/modules/misc/medialibrary/MetadataExtractor.cpp
@@ -148,48 +148,49 @@ void MetadataExtractor::onSubItemAdded( const vlc_event_t* event, void* data )
medialibrary::parser::Status MetadataExtractor::run( medialibrary::parser::IItem& item )
{
- const std::unique_ptr<ParseContext> ctx( new ParseContext{ this, item } );
- ctx->inputItem = {
+ ParseContext ctx( this, item );
+
+ ctx.inputItem = {
input_item_New( item.mrl().c_str(), NULL ),
&input_item_Release
};
- if ( ctx->inputItem == nullptr )
+ if ( ctx.inputItem == nullptr )
return medialibrary::parser::Status::Fatal;
- ctx->inputItem->i_preparse_depth = 1;
- ctx->input = {
+ ctx.inputItem->i_preparse_depth = 1;
+ ctx.input = {
input_CreatePreparser( m_obj, &MetadataExtractor::onInputEvent,
- ctx.get(), ctx->inputItem.get() ),
+ std::addressof( ctx ), ctx.inputItem.get() ),
&input_Close
};
- if ( ctx->input == nullptr )
+ if ( ctx.input == nullptr )
return medialibrary::parser::Status::Fatal;
- vlc_event_attach( &ctx->inputItem->event_manager, vlc_InputItemSubItemTreeAdded,
- &MetadataExtractor::onSubItemAdded, ctx.get() );
+ vlc_event_attach( &ctx.inputItem->event_manager, vlc_InputItemSubItemTreeAdded,
+ &MetadataExtractor::onSubItemAdded, std::addressof( ctx ) );
- input_Start( ctx->input.get() );
+ input_Start( ctx.input.get() );
{
- vlc_mutex_locker lock( &ctx->m_mutex );
- while ( ctx->needsProbing == false )
+ vlc_mutex_locker lock( &ctx.m_mutex );
+ while ( ctx.needsProbing == false )
{
- vlc_cond_wait( &ctx->m_cond, &ctx->m_mutex );
- if ( ctx->needsProbing == true )
+ vlc_cond_wait( &ctx.m_cond, &ctx.m_mutex );
+ if ( ctx.needsProbing == true )
{
- if ( ctx->state == END_S || ctx->state == ERROR_S )
+ if ( ctx.state == END_S || ctx.state == ERROR_S )
break;
// Reset the probing flag for next event
- ctx->needsProbing = false;
+ ctx.needsProbing = false;
}
}
}
- if ( ctx->state == ERROR_S )
+ if ( ctx.state == ERROR_S )
return medialibrary::parser::Status::Fatal;
- assert( ctx->state == END_S );
+ assert( ctx.state == END_S );
- populateItem( item, ctx->inputItem.get() );
+ populateItem( item, ctx.inputItem.get() );
return medialibrary::parser::Status::Success;
}
More information about the vlc-commits
mailing list