Commit 9e2d67ff authored by Jean-Baptiste Kempf's avatar Jean-Baptiste Kempf

Taglib: generalize the couple-in-string extraction

parent a6ca4e4c
...@@ -114,16 +114,17 @@ vlc_module_end () ...@@ -114,16 +114,17 @@ vlc_module_end ()
using namespace TagLib; using namespace TagLib;
static void ExtractTrackNumberValues( vlc_meta_t* p_meta, const char *psz_value ) static void ExtractTrackNumberValues( vlc_meta_t* p_meta, const char *psz_value,
vlc_meta_type_t first, vlc_meta_type_t second)
{ {
unsigned int i_trknum, i_trktot; unsigned int i_trknum, i_trktot;
if( sscanf( psz_value, "%u/%u", &i_trknum, &i_trktot ) == 2 ) if( sscanf( psz_value, "%u/%u", &i_trknum, &i_trktot ) == 2 )
{ {
char psz_trck[11]; char psz_trck[11];
snprintf( psz_trck, sizeof( psz_trck ), "%u", i_trknum ); snprintf( psz_trck, sizeof( psz_trck ), "%u", i_trknum );
vlc_meta_SetTrackNum( p_meta, psz_trck ); vlc_meta_Set( p_meta, first, psz_trck );
snprintf( psz_trck, sizeof( psz_trck ), "%u", i_trktot ); snprintf( psz_trck, sizeof( psz_trck ), "%u", i_trktot );
vlc_meta_Set( p_meta, vlc_meta_TrackTotal, psz_trck ); vlc_meta_Set( p_meta, second, psz_trck );
} }
} }
...@@ -214,7 +215,8 @@ static void ReadMetaFromAPE( APE::Tag* tag, demux_meta_t* p_demux_meta, vlc_meta ...@@ -214,7 +215,8 @@ static void ReadMetaFromAPE( APE::Tag* tag, demux_meta_t* p_demux_meta, vlc_meta
iter = fields.find( "TRACK" ); iter = fields.find( "TRACK" );
if( iter != fields.end() && !iter->second.isEmpty() ) if( iter != fields.end() && !iter->second.isEmpty() )
{ {
ExtractTrackNumberValues( p_meta, iter->second.toString().toCString( true ) ); ExtractTrackNumberValues( p_meta, iter->second.toString().toCString( true ),
vlc_meta_TrackNumber, vlc_meta_TrackTotal );
fields.erase( iter ); fields.erase( iter );
} }
...@@ -383,7 +385,8 @@ static void ReadMetaFromId3v2( ID3v2::Tag* tag, demux_meta_t* p_demux_meta, vlc_ ...@@ -383,7 +385,8 @@ static void ReadMetaFromId3v2( ID3v2::Tag* tag, demux_meta_t* p_demux_meta, vlc_
list = tag->frameListMap()["TRCK"]; list = tag->frameListMap()["TRCK"];
if( !list.isEmpty() ) if( !list.isEmpty() )
{ {
ExtractTrackNumberValues( p_meta, (*list.begin())->toString().toCString( true ) ); ExtractTrackNumberValues( p_meta, (*list.begin())->toString().toCString( true ),
vlc_meta_TrackNumber, vlc_meta_TrackTotal );
} }
/* Preferred type of image /* Preferred type of image
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment