[vlc-devel] [vlc-commits] taglib: template the extension fix, remove contribs patch
Filip Roséen
filip at atch.se
Fri Feb 19 17:00:20 CET 2016
> This has been fixed using static class instances, (because we need to
> deallocate, and releasing module will)
> and registration flag.
>
> Francois
Getting rid of the allocation
-----------------------------
Another way of completely solving the issue is by getting rid of the `new`
completely, which in turn means that there will not be a need for deallocation.
--- a/modules/meta_engine/taglib.cpp
+++ b/modules/meta_engine/taglib.cpp
@@ -738,10 +738,16 @@ static int ReadMeta( vlc_object_t* p_this)
return VLC_EGENERIC;
#if TAGLIB_VERSION >= TAGLIB_SYNCDECODE_FIXED_VERSION
- FileRef::addFileTypeResolver( new VLCTagLib::ExtResolver<MPEG::File>(".aac") );
+ static VLCTagLib::ExtResolver<MPEG::File> ftr_acc (".aac");
+ static FileRef::FileTypeResolver const * p_ftr_acc = FileRef::addFileTypeResolver (&ftr_acc);
+
+ VLC_UNUSED(p_ftr_acc);
#endif
- FileRef::addFileTypeResolver( new VLCTagLib::ExtResolver<MP4::File>(".m4v") );
+ static VLCTagLib::ExtResolver<MP4::File> ftr_m4v (".m4v");
+ static FileRef::FileTypeResolver const * p_ftr_m4v = FileRef::addFileTypeResolver (&ftr_m4v);
+
+ VLC_UNUSED(p_ftr_m4v);
#if defined(_WIN32)
wchar_t *wpath = ToWide( psz_path );
Using a static class instance for such registration
---------------------------------------------------
It would of course be neater if such registration happens inside a static class
instance, so if such is already available that path is probably a lot more
pleasant to walk.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20160219/3def322d/attachment.html>
More information about the vlc-devel
mailing list