]> git.sesse.net Git - vlc/commitdiff
Fixed vlc_meta_SetXXX macros
authorLaurent Aimar <fenrir@videolan.org>
Sun, 3 Jun 2007 22:19:50 +0000 (22:19 +0000)
committerLaurent Aimar <fenrir@videolan.org>
Sun, 3 Jun 2007 22:19:50 +0000 (22:19 +0000)
Added decoder_GetInputAttachments.

include/vlc_arrays.h
include/vlc_codec.h
include/vlc_meta.h
src/input/decoder.c

index 11a8de8fa6c93baf0196c38c9715a2567361684c..cb3cbecb949c29799f278b7695a9c567ec89b411 100644 (file)
         }                                       \
   } while(0)
 
+#define TAB_INSERT_CAST( cast, count, tab, p, index ) do { \
+    if( (count) > 0 )                           \
+        (tab) = cast realloc( tab, sizeof( void ** ) * ( (count) + 1 ) ); \
+    else                                        \
+        (tab) = cast malloc( sizeof( void ** ) );       \
+    if( (count) - (index) > 0 )                 \
+        memmove( (void**)(tab) + (index) + 1,   \
+                 (void**)(tab) + (index),       \
+                 ((count) - (index)) * sizeof(*(tab)) );\
+    (tab)[(index)] = (p);                       \
+    (count)++;                                  \
+} while(0)
+
+#define TAB_INSERT( count, tab, p, index )      \
+    TAB_INSERT_CAST( , count, tab, p, index )
+
 /**
  * Binary search in a sorted array. The key must be comparable by < and >
  * \param entries array of entries
index d1bc79d1418e403af942d4cc90e10d19e679c1e4..029cb59414dc93a0735b31d15bff2de09419edb1 100644 (file)
@@ -143,5 +143,7 @@ struct encoder_t
  */
 
 VLC_EXPORT( input_attachment_t *, decoder_GetInputAttachment, ( decoder_t *, const char *psz_name ) );
+VLC_EXPORT( int, decoder_GetInputAttachments, ( decoder_t *p_dec, input_attachment_t ***ppp_attachment, int *pi_attachment ) );
+
 
 #endif /* _VLC_CODEC_H */
index e33e1708c546621e92ca7251e91aea01fa8ca049..49aeb40d28ed90640a62916a1ee0c44ddab71670 100644 (file)
@@ -90,23 +90,23 @@ struct vlc_meta_t
     if( meta->psz_##var ) free( meta->psz_##var ); \
     meta->psz_##var = str ? strdup( str ) : NULL; } while(0)
 
-#define vlc_meta_SetTitle( meta, b ) vlc_meta_Set( meta, title, b );
-#define vlc_meta_SetArtist( meta, b ) vlc_meta_Set( meta, artist, b );
-#define vlc_meta_SetGenre( meta, b ) vlc_meta_Set( meta, genre, b );
-#define vlc_meta_SetCopyright( meta, b ) vlc_meta_Set( meta, copyright, b );
-#define vlc_meta_SetAlbum( meta, b ) vlc_meta_Set( meta, album, b );
-#define vlc_meta_SetTracknum( meta, b ) vlc_meta_Set( meta, tracknum, b );
-#define vlc_meta_SetDescription( meta, b ) vlc_meta_Set( meta, description, b );
-#define vlc_meta_SetRating( meta, b ) vlc_meta_Set( meta, rating, b );
-#define vlc_meta_SetDate( meta, b ) vlc_meta_Set( meta, date, b );
-#define vlc_meta_SetSetting( meta, b ) vlc_meta_Set( meta, setting, b );
-#define vlc_meta_SetURL( meta, b ) vlc_meta_Set( meta, url, b );
-#define vlc_meta_SetLanguage( meta, b ) vlc_meta_Set( meta, language, b );
-#define vlc_meta_SetNowPlaying( meta, b ) vlc_meta_Set( meta, nowplaying, b );
-#define vlc_meta_SetPublisher( meta, b ) vlc_meta_Set( meta, publisher, b );
-#define vlc_meta_SetEncodedBy( meta, b ) vlc_meta_Set( meta, encodedby, b );
-#define vlc_meta_SetArtURL( meta, b ) vlc_meta_Set( meta, arturl, b );
-#define vlc_meta_SetTrackID( meta, b ) vlc_meta_Set( meta, trackid, b );
+#define vlc_meta_SetTitle( meta, b ) vlc_meta_Set( meta, title, b )
+#define vlc_meta_SetArtist( meta, b ) vlc_meta_Set( meta, artist, b )
+#define vlc_meta_SetGenre( meta, b ) vlc_meta_Set( meta, genre, b )
+#define vlc_meta_SetCopyright( meta, b ) vlc_meta_Set( meta, copyright, b )
+#define vlc_meta_SetAlbum( meta, b ) vlc_meta_Set( meta, album, b )
+#define vlc_meta_SetTracknum( meta, b ) vlc_meta_Set( meta, tracknum, b )
+#define vlc_meta_SetDescription( meta, b ) vlc_meta_Set( meta, description, b )
+#define vlc_meta_SetRating( meta, b ) vlc_meta_Set( meta, rating, b )
+#define vlc_meta_SetDate( meta, b ) vlc_meta_Set( meta, date, b )
+#define vlc_meta_SetSetting( meta, b ) vlc_meta_Set( meta, setting, b )
+#define vlc_meta_SetURL( meta, b ) vlc_meta_Set( meta, url, b )
+#define vlc_meta_SetLanguage( meta, b ) vlc_meta_Set( meta, language, b )
+#define vlc_meta_SetNowPlaying( meta, b ) vlc_meta_Set( meta, nowplaying, b )
+#define vlc_meta_SetPublisher( meta, b ) vlc_meta_Set( meta, publisher, b )
+#define vlc_meta_SetEncodedBy( meta, b ) vlc_meta_Set( meta, encodedby, b )
+#define vlc_meta_SetArtURL( meta, b ) vlc_meta_Set( meta, arturl, b )
+#define vlc_meta_SetTrackID( meta, b ) vlc_meta_Set( meta, trackid, b )
 
 static inline vlc_meta_t *vlc_meta_New( void )
 {
index 05c405ca7133c30f68cfc81c753e4ebf01241666..079b546acd5360ea56f505486d12828471aa764a 100644 (file)
@@ -94,13 +94,23 @@ struct decoder_owner_sys_t
 
 /* decoder_GetInputAttachment:
  */
-input_attachment_t *decoder_GetInputAttachment( decoder_t *p_dec, const char *psz_name )
+input_attachment_t *decoder_GetInputAttachment( decoder_t *p_dec,
+                                                const char *psz_name )
 {
     input_attachment_t *p_attachment;
     if( input_Control( p_dec->p_owner->p_input, INPUT_GET_ATTACHMENT, &p_attachment, psz_name ) )
         return NULL;
     return p_attachment;
 }
+/* decoder_GetInputAttachments:
+ */
+int decoder_GetInputAttachments( decoder_t *p_dec,
+                                 input_attachment_t ***ppp_attachment,
+                                 int *pi_attachment )
+{
+    return input_Control( p_dec->p_owner->p_input, INPUT_GET_ATTACHMENTS,
+                          ppp_attachment, pi_attachment );
+}
 
 /**
  * Spawns a new decoder thread