]> git.sesse.net Git - vlc/blobdiff - modules/codec/vorbis.c
Factorize code and remove unneed error message about memory allocation.
[vlc] / modules / codec / vorbis.c
index 018a1f8c5d8d91e54473ac53c2d7a5b53f3b5723..77e0a22c860166107ba0195827b254bc40fa3734 100644 (file)
@@ -31,7 +31,8 @@
 # include "config.h"
 #endif
 
-#include <vlc/vlc.h>
+#include <vlc_common.h>
+#include <vlc_plugin.h>
 #include <vlc_codec.h>
 #include <vlc_aout.h>
 #include <vlc_input.h>
@@ -185,7 +186,7 @@ static block_t *Encode   ( encoder_t *, aout_buffer_t * );
 
 vlc_module_begin();
     set_shortname( "Vorbis" );
-    set_description( _("Vorbis audio decoder") );
+    set_description( N_("Vorbis audio decoder") );
 #ifdef MODULE_NAME_IS_tremor
     set_capability( "decoder", 90 );
 #else
@@ -196,14 +197,14 @@ vlc_module_begin();
     set_callbacks( OpenDecoder, CloseDecoder );
 
     add_submodule();
-    set_description( _("Vorbis audio packetizer") );
+    set_description( N_("Vorbis audio packetizer") );
     set_capability( "packetizer", 100 );
     set_callbacks( OpenPacketizer, CloseDecoder );
 
 #ifndef MODULE_NAME_IS_tremor
 #   define ENC_CFG_PREFIX "sout-vorbis-"
     add_submodule();
-    set_description( _("Vorbis audio encoder") );
+    set_description( N_("Vorbis audio encoder") );
     set_capability( "encoder", 100 );
 #if defined(HAVE_VORBIS_VORBISENC_H)
     set_callbacks( OpenEncoder, CloseEncoder );
@@ -222,7 +223,7 @@ vlc_module_begin();
 vlc_module_end();
 
 #ifndef MODULE_NAME_IS_tremor
-static const char *ppsz_enc_options[] = {
+static const char *const ppsz_enc_options[] = {
     "quality", "max-bitrate", "min-bitrate", "cbr", NULL
 };
 #endif
@@ -243,10 +244,7 @@ static int OpenDecoder( vlc_object_t *p_this )
     /* Allocate the memory needed to store the decoder's structure */
     if( ( p_dec->p_sys = p_sys =
           (decoder_sys_t *)malloc(sizeof(decoder_sys_t)) ) == NULL )
-    {
-        msg_Err( p_dec, "out of memory" );
-        return VLC_EGENERIC;
-    }
+        return VLC_ENOMEM;
 
     /* Misc init */
     aout_DateSet( &p_sys->end_date, 0 );
@@ -635,10 +633,7 @@ static void ParseVorbisComments( decoder_t *p_dec )
     {
         psz_comment = strdup( p_dec->p_sys->vc.user_comments[i] );
         if( !psz_comment )
-        {
-            msg_Warn( p_dec, "out of memory" );
             break;
-        }
         psz_name = psz_comment;
         psz_value = strchr( psz_comment, '=' );
         if( psz_value )
@@ -647,56 +642,30 @@ static void ParseVorbisComments( decoder_t *p_dec )
             psz_value++;
             input_Control( p_input, INPUT_ADD_INFO, _("Vorbis comment"),
                            psz_name, "%s", psz_value );
+/*TODO: dot he test at the beginning and save time !! */
 #ifndef HAVE_TAGLIB
-            if( !strcasecmp( psz_name, "artist" ) )
+            if( psz_value && ( *psz_value != '\0' ) )
             {
-                if( psz_value && ( *psz_value != '\0' ) )
-                {
+                if( !strcasecmp( psz_name, "artist" ) )
                     input_item_SetArtist( p_item, psz_value );
-                    input_ItemAddInfo( p_item,
-                                        _(VLC_META_INFO_CAT),
-                                        _(VLC_META_ARTIST),
-                                        "%s", psz_value );
-                }
-            }
-            else if( !strcasecmp( psz_name, "title" ) )
-            {
-                if( psz_value && ( *psz_value != '\0' ) )
+                else if( !strcasecmp( psz_name, "title" ) )
                 {
                     input_item_SetTitle( p_item, psz_value );
                     p_item->psz_name = strdup( psz_value );
                 }
-            }
-            else if( !strcasecmp( psz_name, "album" ) )
-            {
-                if( psz_value && ( *psz_value != '\0' ) )
+                else if( !strcasecmp( psz_name, "album" ) )
                 {
                     input_item_SetAlbum( p_item, psz_value );
                 }
-            }
-            else if( !strcasecmp( psz_name, "musicbrainz_trackid" ) )
-            {
-                if( psz_value && ( *psz_value != '\0' ) )
-                {
+                else if( !strcasecmp( psz_name, "musicbrainz_trackid" ) )
                     input_item_SetTrackID( p_item, psz_value );
-                }
-            }
 #if 0 //not used
-            else if( !strcasecmp( psz_name, "musicbrainz_artistid" ) )
-            {
-                if( psz_value && ( *psz_value != '\0' ) )
-                {
+                else if( !strcasecmp( psz_name, "musicbrainz_artistid" ) )
                     vlc_meta_SetArtistID( p_item, psz_value );
-                }
-            }
-            else if( !strcasecmp( psz_name, "musicbrainz_albumid" ) )
-            {
-                if( psz_value && ( *psz_value != '\0' ) )
-                {
+                else if( !strcasecmp( psz_name, "musicbrainz_albumid" ) )
                     input_item_SetAlbumID( p_item, psz_value );
-                }
-            }
 #endif
+            }
 #endif
             if( !strcasecmp( psz_name, "REPLAYGAIN_TRACK_GAIN" ) ||
                      !strcasecmp( psz_name, "RG_RADIO" ) )
@@ -730,7 +699,8 @@ static void ParseVorbisComments( decoder_t *p_dec )
                 r->pf_peak[AUDIO_REPLAY_GAIN_ALBUM] = atof( psz_value );
             }
         }
-        var_SetInteger( pl_Get( p_input ), "item-change", p_item->i_id );
+        var_SetInteger( pl_Yield( p_input ), "item-change", p_item->i_id );
+        pl_Release( p_input );
         free( psz_comment );
         i++;
     }
@@ -876,10 +846,7 @@ static int OpenEncoder( vlc_object_t *p_this )
 
     /* Allocate the memory needed to store the decoder's structure */
     if( ( p_sys = (encoder_sys_t *)malloc(sizeof(encoder_sys_t)) ) == NULL )
-    {
-        msg_Err( p_enc, "out of memory" );
-        return VLC_EGENERIC;
-    }
+        return VLC_ENOMEM;
     p_enc->p_sys = p_sys;
 
     p_enc->pf_encode_audio = Encode;