Browse Source

meta_reader: fix taglib leak on static method

pull/42/head
Francois Cartegnie 11 years ago
parent
commit
ee7e7136f7
  1. 15
      modules/meta_engine/taglib.cpp

15
modules/meta_engine/taglib.cpp

@ -129,6 +129,12 @@ File *VLCTagLib::ExtResolver<T>::createFile(FileName fileName, bool, AudioProper
return 0;
}
#if TAGLIB_VERSION >= TAGLIB_SYNCDECODE_FIXED_VERSION
static VLCTagLib::ExtResolver<MPEG::File> aacresolver(".aac");
#endif
static VLCTagLib::ExtResolver<MP4::File> m4vresolver(".m4v");
static bool b_extensions_registered = false;
// taglib is not thread safe
static vlc_mutex_t taglib_lock = VLC_STATIC_MUTEX;
@ -718,11 +724,14 @@ static int ReadMeta( vlc_object_t* p_this)
if( psz_path == NULL )
return VLC_EGENERIC;
if( !b_extensions_registered )
{
#if TAGLIB_VERSION >= TAGLIB_SYNCDECODE_FIXED_VERSION
FileRef::addFileTypeResolver( new VLCTagLib::ExtResolver<MPEG::File>(".aac") );
FileRef::addFileTypeResolver( &aacresolver );
#endif
FileRef::addFileTypeResolver( new VLCTagLib::ExtResolver<MP4::File>(".m4v") );
FileRef::addFileTypeResolver( &m4vresolver );
b_extensions_registered = true;
}
#if defined(_WIN32)
wchar_t *wpath = ToWide( psz_path );

Loading…
Cancel
Save