vlc | branch: master | Jean-Baptiste Kempf <[email protected]> | Sun May 5 20:19:44 2013 +0200| [0ba90548ce81bdf395bb75b2ce8cc77dd87b9ff0] | committer: Jean-Baptiste Kempf
Move xiph metadata parsing to a .c|.h files couple > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=0ba90548ce81bdf395bb75b2ce8cc77dd87b9ff0 --- modules/demux/Modules.am | 4 +- modules/demux/flac.c | 2 +- modules/demux/ogg.c | 2 +- modules/demux/{vorbis.h => xiph_metadata.c} | 41 ++++----------- modules/demux/xiph_metadata.h | 75 +++++++++++++++++++++++++++ modules/meta_engine/Modules.am | 2 +- modules/meta_engine/taglib.cpp | 2 +- 7 files changed, 90 insertions(+), 38 deletions(-) diff --git a/modules/demux/Modules.am b/modules/demux/Modules.am index b52c988..bcd01c6 100644 --- a/modules/demux/Modules.am +++ b/modules/demux/Modules.am @@ -1,5 +1,5 @@ -SOURCES_flacsys = flac.c -SOURCES_ogg = ogg.c ogg.h oggseek.c oggseek.h vorbis.h xiph.h +SOURCES_flacsys = flac.c xiph_metadata.h xiph_metadata.c +SOURCES_ogg = ogg.c ogg.h oggseek.c oggseek.h xiph_metadata.h xiph.h xiph_metadata.c SOURCES_demuxdump = demuxdump.c SOURCES_rawdv = rawdv.c rawdv.h SOURCES_rawvid = rawvid.c diff --git a/modules/demux/flac.c b/modules/demux/flac.c index 2c16272..2740f96 100644 --- a/modules/demux/flac.c +++ b/modules/demux/flac.c @@ -38,7 +38,7 @@ #include <vlc_charset.h> /* EnsureUTF8 */ #include <assert.h> -#include "vorbis.h" /* vorbis comments */ +#include "xiph_metadata.h" /* vorbis comments */ /***************************************************************************** * Module descriptor diff --git a/modules/demux/ogg.c b/modules/demux/ogg.c index 40f7161..b5750c3 100644 --- a/modules/demux/ogg.c +++ b/modules/demux/ogg.c @@ -40,7 +40,7 @@ #include <vlc_codecs.h> #include <vlc_bits.h> #include "xiph.h" -#include "vorbis.h" +#include "xiph_metadata.h" #include "ogg.h" #include "oggseek.h" diff --git a/modules/demux/vorbis.h b/modules/demux/xiph_metadata.c similarity index 89% rename from modules/demux/vorbis.h rename to modules/demux/xiph_metadata.c index 379bd95..75bf95b 100644 --- a/modules/demux/vorbis.h +++ b/modules/demux/xiph_metadata.c @@ -1,5 +1,5 @@ /***************************************************************************** - * vorbis.h: Vorbis Comment parser + * xiph_metadata.h: Vorbis Comment parser ***************************************************************************** * Copyright © 2008-2013 VLC authors and VideoLAN * $Id$ @@ -22,11 +22,17 @@ * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. *****************************************************************************/ +#ifdef HAVE_CONFIG_H +# include "config.h" +#endif + +#include <vlc_common.h> #include <vlc_charset.h> #include <vlc_strings.h> #include <vlc_input.h> +#include "xiph_metadata.h" -static input_attachment_t* ParseFlacPicture( const uint8_t *p_data, int i_data, +input_attachment_t* ParseFlacPicture( const uint8_t *p_data, int i_data, int i_attachments, int *i_cover_score, int *i_cover_idx ) { /* TODO: Merge with ID3v2 copy in modules/meta_engine/taglib.cpp. */ @@ -106,7 +112,7 @@ error: return p_attachment; } -static inline void vorbis_ParseComment( vlc_meta_t **pp_meta, +void vorbis_ParseComment( vlc_meta_t **pp_meta, const uint8_t *p_data, int i_data, int *i_attachments, input_attachment_t ***attachments, int *i_cover_score, int *i_cover_idx, @@ -266,35 +272,6 @@ static inline void vorbis_ParseComment( vlc_meta_t **pp_meta, #undef RM } -static const struct { - const char *psz_tag; - const char *psz_i18n; -} Katei18nCategories[] = { - /* From Silvia's Mozilla list */ - { "CC", N_("Closed captions") }, - { "SUB", N_("Subtitles") }, - { "TAD", N_("Textual audio descriptions") }, - { "KTV", N_("Karaoke") }, - { "TIK", N_("Ticker text") }, - { "AR", N_("Active regions") }, - { "NB", N_("Semantic annotations") }, - { "META", N_("Metadata") }, - { "TRX", N_("Transcript") }, - { "LRC", N_("Lyrics") }, - { "LIN", N_("Linguistic markup") }, - { "CUE", N_("Cue points") }, - - /* Grandfathered */ - { "subtitles", N_("Subtitles") }, - { "spu-subtitles", N_("Subtitles (images)") }, - { "lyrics", N_("Lyrics") }, - - /* Kate specific */ - { "K-SPU", N_("Subtitles (images)") }, - { "K-SLD-T", N_("Slides (text)") }, - { "K-SLD-I", N_("Slides (images)") }, -}; - const char *FindKateCategoryName( const char *psz_tag ) { for( size_t i = 0; i < sizeof(Katei18nCategories)/sizeof(Katei18nCategories[0]); i++ ) diff --git a/modules/demux/xiph_metadata.h b/modules/demux/xiph_metadata.h new file mode 100644 index 0000000..de97c2b --- /dev/null +++ b/modules/demux/xiph_metadata.h @@ -0,0 +1,75 @@ +/***************************************************************************** + * xiph_metadata.h: Vorbis Comment parser + ***************************************************************************** + * Copyright © 2008-2013 VLC authors and VideoLAN + * $Id$ + * + * Authors: Laurent Aimar <fenrir _AT_ videolan _DOT_ org> + * Jean-Baptiste Kempf <[email protected]> + * + * This program is free software; you can redistribute it and/or modify it + * under the terms of the GNU Lesser General Public License as published by + * the Free Software Foundation; either version 2.1 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public License + * along with this program; if not, write to the Free Software Foundation, + * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. + *****************************************************************************/ + +#include <vlc_charset.h> +#include <vlc_strings.h> + +# ifdef __cplusplus +extern "C" { +# endif + +input_attachment_t* ParseFlacPicture( const uint8_t *p_data, int i_data, + int i_attachments, int *i_cover_score, int *i_cover_idx ); + +void vorbis_ParseComment( vlc_meta_t **pp_meta, + const uint8_t *p_data, int i_data, + int *i_attachments, input_attachment_t ***attachments, + int *i_cover_score, int *i_cover_idx, + int *i_seekpoint, seekpoint_t ***ppp_seekpoint ); + +static const struct { + const char *psz_tag; + const char *psz_i18n; +} Katei18nCategories[] = { + /* From Silvia's Mozilla list */ + { "CC", N_("Closed captions") }, + { "SUB", N_("Subtitles") }, + { "TAD", N_("Textual audio descriptions") }, + { "KTV", N_("Karaoke") }, + { "TIK", N_("Ticker text") }, + { "AR", N_("Active regions") }, + { "NB", N_("Semantic annotations") }, + { "META", N_("Metadata") }, + { "TRX", N_("Transcript") }, + { "LRC", N_("Lyrics") }, + { "LIN", N_("Linguistic markup") }, + { "CUE", N_("Cue points") }, + + /* Grandfathered */ + { "subtitles", N_("Subtitles") }, + { "spu-subtitles", N_("Subtitles (images)") }, + { "lyrics", N_("Lyrics") }, + + /* Kate specific */ + { "K-SPU", N_("Subtitles (images)") }, + { "K-SLD-T", N_("Slides (text)") }, + { "K-SLD-I", N_("Slides (images)") }, +}; + +const char *FindKateCategoryName( const char *psz_tag ); + +# ifdef __cplusplus +} +# endif + diff --git a/modules/meta_engine/Modules.am b/modules/meta_engine/Modules.am index f9fdcf1..b9fd775 100644 --- a/modules/meta_engine/Modules.am +++ b/modules/meta_engine/Modules.am @@ -1,5 +1,5 @@ SOURCES_folder = folder.c -SOURCES_taglib = taglib.cpp +SOURCES_taglib = taglib.cpp ../demux/xiph_metadata.h ../demux/xiph_metadata.c libvlc_LTLIBRARIES += \ libfolder_plugin.la diff --git a/modules/meta_engine/taglib.cpp b/modules/meta_engine/taglib.cpp index 76c8785..8867514 100644 --- a/modules/meta_engine/taglib.cpp +++ b/modules/meta_engine/taglib.cpp @@ -75,7 +75,7 @@ #include <mpegfile.h> #include <oggfile.h> #include <oggflacfile.h> -#include "../demux/vorbis.h" +#include "../demux/xiph_metadata.h" #include <aifffile.h> #include <wavfile.h> _______________________________________________ vlc-commits mailing list [email protected] http://mailman.videolan.org/listinfo/vlc-commits
