]> git.sesse.net Git - vlc/commitdiff
taglib: write meta in Xiph format. (only one advanced meta is writen for the moment)
authorRémi Duraffort <ivoire@videolan.org>
Mon, 29 Dec 2008 18:21:40 +0000 (19:21 +0100)
committerRémi Duraffort <ivoire@videolan.org>
Mon, 29 Dec 2008 18:21:40 +0000 (19:21 +0100)
modules/meta_engine/taglib.cpp

index d820aa6a531a0403ead66b8c684fb6ca10ed01a3..d2b3c988970c1de3dee193d66cb16825d49acc33 100644 (file)
@@ -494,8 +494,22 @@ static int WriteMetaToId2v2( ID3v2::Tag* tag, input_item_t* p_item )
  * @param p_input: the input item
  * @return VLC_SUCCESS if everything goes ok
  */
-static int WriteMetaToXiph( Ogg::XiphComment* tag, input_item_t* p_input )
+static int WriteMetaToXiph( Ogg::XiphComment* tag, input_item_t* p_item )
 {
+    char* psz_meta;
+#define WRITE( metaName, keyName )                      \
+    psz_meta = input_item_Get##metaName( p_item );      \
+    if( psz_meta )                                      \
+    {                                                   \
+        String key( keyName, String::UTF8 );            \
+        String value( psz_meta, String::UTF8 );         \
+        tag->addField( key, value, true );              \
+    }                                                   \
+    free( psz_meta );
+
+    WRITE( Copyright, "COPYRIGHT" );
+
+#undef WRITE
     return VLC_SUCCESS;
 }