VLC  2.1.0-git
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs | Enumerations | Functions
vlc_meta.h File Reference

This file defines functions and structures for stream meta-data in vlc. More...

Include dependency graph for vlc_meta.h:

Go to the source code of this file.

Data Structures

struct  meta_export_t

Macros

#define VLC_META_TYPE_COUNT   18
#define ITEM_PREPARSED   1
#define ITEM_ARTURL_FETCHED   2
#define ITEM_ART_FETCHED   4
#define ITEM_ART_NOTFOUND   8
#define vlc_meta_SetTitle(meta, b)   vlc_meta_Set( meta, vlc_meta_Title, b )
#define vlc_meta_SetArtist(meta, b)   vlc_meta_Set( meta, vlc_meta_Artist, b )
#define vlc_meta_SetGenre(meta, b)   vlc_meta_Set( meta, vlc_meta_Genre, b )
#define vlc_meta_SetCopyright(meta, b)   vlc_meta_Set( meta, vlc_meta_Copyright, b )
#define vlc_meta_SetAlbum(meta, b)   vlc_meta_Set( meta, vlc_meta_Album, b )
#define vlc_meta_SetTrackNum(meta, b)   vlc_meta_Set( meta, vlc_meta_TrackNumber, b )
#define vlc_meta_SetDescription(meta, b)   vlc_meta_Set( meta, vlc_meta_Description, b )
#define vlc_meta_SetRating(meta, b)   vlc_meta_Set( meta, vlc_meta_Rating, b )
#define vlc_meta_SetDate(meta, b)   vlc_meta_Set( meta, vlc_meta_Date, b )
#define vlc_meta_SetSetting(meta, b)   vlc_meta_Set( meta, vlc_meta_Setting, b )
#define vlc_meta_SetURL(meta, b)   vlc_meta_Set( meta, vlc_meta_URL, b )
#define vlc_meta_SetLanguage(meta, b)   vlc_meta_Set( meta, vlc_meta_Language, b )
#define vlc_meta_SetNowPlaying(meta, b)   vlc_meta_Set( meta, vlc_meta_NowPlaying, b )
#define vlc_meta_SetPublisher(meta, b)   vlc_meta_Set( meta, vlc_meta_Publisher, b )
#define vlc_meta_SetEncodedBy(meta, b)   vlc_meta_Set( meta, vlc_meta_EncodedBy, b )
#define vlc_meta_SetArtURL(meta, b)   vlc_meta_Set( meta, vlc_meta_ArtworkURL, b )
#define vlc_meta_SetTrackID(meta, b)   vlc_meta_Set( meta, vlc_meta_TrackID, b )
#define VLC_META_TITLE   vlc_meta_TypeToLocalizedString( vlc_meta_Title )
#define VLC_META_ARTIST   vlc_meta_TypeToLocalizedString( vlc_meta_Artist )
#define VLC_META_GENRE   vlc_meta_TypeToLocalizedString( vlc_meta_Genre )
#define VLC_META_COPYRIGHT   vlc_meta_TypeToLocalizedString( vlc_meta_Copyright )
#define VLC_META_ALBUM   vlc_meta_TypeToLocalizedString( vlc_meta_Album )
#define VLC_META_TRACK_NUMBER   vlc_meta_TypeToLocalizedString( vlc_meta_TrackNumber )
#define VLC_META_DESCRIPTION   vlc_meta_TypeToLocalizedString( vlc_meta_Description )
#define VLC_META_RATING   vlc_meta_TypeToLocalizedString( vlc_meta_Rating )
#define VLC_META_DATE   vlc_meta_TypeToLocalizedString( vlc_meta_Date )
#define VLC_META_SETTING   vlc_meta_TypeToLocalizedString( vlc_meta_Setting )
#define VLC_META_URL   vlc_meta_TypeToLocalizedString( vlc_meta_URL )
#define VLC_META_LANGUAGE   vlc_meta_TypeToLocalizedString( vlc_meta_Language )
#define VLC_META_NOW_PLAYING   vlc_meta_TypeToLocalizedString( vlc_meta_NowPlaying )
#define VLC_META_PUBLISHER   vlc_meta_TypeToLocalizedString( vlc_meta_Publisher )
#define VLC_META_ENCODED_BY   vlc_meta_TypeToLocalizedString( vlc_meta_EncodedBy )
#define VLC_META_ART_URL   vlc_meta_TypeToLocalizedString( vlc_meta_ArtworkURL )
#define VLC_META_TRACKID   vlc_meta_TypeToLocalizedString( vlc_meta_TrackID )

Typedefs

typedef enum vlc_meta_type_t vlc_meta_type_t
typedef struct meta_export_t meta_export_t

Enumerations

enum  vlc_meta_type_t {
  vlc_meta_Title, vlc_meta_Artist, vlc_meta_Genre, vlc_meta_Copyright,
  vlc_meta_Album, vlc_meta_TrackNumber, vlc_meta_Description, vlc_meta_Rating,
  vlc_meta_Date, vlc_meta_Setting, vlc_meta_URL, vlc_meta_Language,
  vlc_meta_NowPlaying, vlc_meta_Publisher, vlc_meta_EncodedBy, vlc_meta_ArtworkURL,
  vlc_meta_TrackID, vlc_meta_TrackTotal
}
enum  { ALBUM_ART_WHEN_ASKED, ALBUM_ART_WHEN_PLAYED, ALBUM_ART_ALL }

Functions

vlc_meta_tvlc_meta_New (void)
 vlc_meta contructor.
void vlc_meta_Delete (vlc_meta_t *m)
void vlc_meta_Set (vlc_meta_t *p_meta, vlc_meta_type_t meta_type, const char *psz_val)
 vlc_meta has two kinds of meta, the one in a table, and the one in a dictionary.
const char * vlc_meta_Get (const vlc_meta_t *p_meta, vlc_meta_type_t meta_type)
void vlc_meta_AddExtra (vlc_meta_t *m, const char *psz_name, const char *psz_value)
const char * vlc_meta_GetExtra (const vlc_meta_t *m, const char *psz_name)
unsigned vlc_meta_GetExtraCount (const vlc_meta_t *m)
char ** vlc_meta_CopyExtraNames (const vlc_meta_t *m)
 Allocate a copy of all extra meta names and a table with it.
void vlc_meta_Merge (vlc_meta_t *dst, const vlc_meta_t *src)
 Merging meta.
int vlc_meta_GetStatus (vlc_meta_t *m)
 vlc_meta status (see vlc_meta_status_e)
void vlc_meta_SetStatus (vlc_meta_t *m, int status)
const char * vlc_meta_TypeToLocalizedString (vlc_meta_type_t meta_type)
 Returns a localizes string describing the meta.
int input_item_WriteMeta (vlc_object_t *, input_item_t *)

Detailed Description

This file defines functions and structures for stream meta-data in vlc.

Macro Definition Documentation

#define ITEM_ART_FETCHED   4
#define ITEM_ART_NOTFOUND   8
#define ITEM_ARTURL_FETCHED   2
#define ITEM_PREPARSED   1
#define VLC_META_ALBUM   vlc_meta_TypeToLocalizedString( vlc_meta_Album )
#define VLC_META_ART_URL   vlc_meta_TypeToLocalizedString( vlc_meta_ArtworkURL )
#define VLC_META_ARTIST   vlc_meta_TypeToLocalizedString( vlc_meta_Artist )
#define VLC_META_COPYRIGHT   vlc_meta_TypeToLocalizedString( vlc_meta_Copyright )
#define VLC_META_DATE   vlc_meta_TypeToLocalizedString( vlc_meta_Date )
#define VLC_META_DESCRIPTION   vlc_meta_TypeToLocalizedString( vlc_meta_Description )
#define VLC_META_ENCODED_BY   vlc_meta_TypeToLocalizedString( vlc_meta_EncodedBy )
#define VLC_META_GENRE   vlc_meta_TypeToLocalizedString( vlc_meta_Genre )
#define VLC_META_LANGUAGE   vlc_meta_TypeToLocalizedString( vlc_meta_Language )
#define VLC_META_NOW_PLAYING   vlc_meta_TypeToLocalizedString( vlc_meta_NowPlaying )
#define VLC_META_PUBLISHER   vlc_meta_TypeToLocalizedString( vlc_meta_Publisher )
#define VLC_META_RATING   vlc_meta_TypeToLocalizedString( vlc_meta_Rating )
#define vlc_meta_SetAlbum (   meta,
 
)    vlc_meta_Set( meta, vlc_meta_Album, b )
#define vlc_meta_SetArtist (   meta,
 
)    vlc_meta_Set( meta, vlc_meta_Artist, b )
#define vlc_meta_SetArtURL (   meta,
 
)    vlc_meta_Set( meta, vlc_meta_ArtworkURL, b )
#define vlc_meta_SetCopyright (   meta,
 
)    vlc_meta_Set( meta, vlc_meta_Copyright, b )
#define vlc_meta_SetDate (   meta,
 
)    vlc_meta_Set( meta, vlc_meta_Date, b )
#define vlc_meta_SetDescription (   meta,
 
)    vlc_meta_Set( meta, vlc_meta_Description, b )
#define vlc_meta_SetEncodedBy (   meta,
 
)    vlc_meta_Set( meta, vlc_meta_EncodedBy, b )
#define vlc_meta_SetGenre (   meta,
 
)    vlc_meta_Set( meta, vlc_meta_Genre, b )
#define vlc_meta_SetLanguage (   meta,
 
)    vlc_meta_Set( meta, vlc_meta_Language, b )
#define vlc_meta_SetNowPlaying (   meta,
 
)    vlc_meta_Set( meta, vlc_meta_NowPlaying, b )
#define vlc_meta_SetPublisher (   meta,
 
)    vlc_meta_Set( meta, vlc_meta_Publisher, b )
#define vlc_meta_SetRating (   meta,
 
)    vlc_meta_Set( meta, vlc_meta_Rating, b )
#define vlc_meta_SetSetting (   meta,
 
)    vlc_meta_Set( meta, vlc_meta_Setting, b )
#define VLC_META_SETTING   vlc_meta_TypeToLocalizedString( vlc_meta_Setting )
#define vlc_meta_SetTitle (   meta,
 
)    vlc_meta_Set( meta, vlc_meta_Title, b )
#define vlc_meta_SetTrackID (   meta,
 
)    vlc_meta_Set( meta, vlc_meta_TrackID, b )
#define vlc_meta_SetTrackNum (   meta,
 
)    vlc_meta_Set( meta, vlc_meta_TrackNumber, b )
#define vlc_meta_SetURL (   meta,
 
)    vlc_meta_Set( meta, vlc_meta_URL, b )
#define VLC_META_TITLE   vlc_meta_TypeToLocalizedString( vlc_meta_Title )
#define VLC_META_TRACK_NUMBER   vlc_meta_TypeToLocalizedString( vlc_meta_TrackNumber )
#define VLC_META_TRACKID   vlc_meta_TypeToLocalizedString( vlc_meta_TrackID )
#define VLC_META_TYPE_COUNT   18

Referenced by vlc_meta_Delete(), and vlc_meta_Merge().

#define VLC_META_URL   vlc_meta_TypeToLocalizedString( vlc_meta_URL )

Typedef Documentation

typedef struct meta_export_t meta_export_t

Enumeration Type Documentation

anonymous enum
Enumerator:
ALBUM_ART_WHEN_ASKED 
ALBUM_ART_WHEN_PLAYED 
ALBUM_ART_ALL 
Enumerator:
vlc_meta_Title 
vlc_meta_Artist 
vlc_meta_Genre 
vlc_meta_Copyright 
vlc_meta_Album 
vlc_meta_TrackNumber 
vlc_meta_Description 
vlc_meta_Rating 
vlc_meta_Date 
vlc_meta_Setting 
vlc_meta_URL 
vlc_meta_Language 
vlc_meta_NowPlaying 
vlc_meta_Publisher 
vlc_meta_EncodedBy 
vlc_meta_ArtworkURL 
vlc_meta_TrackID 
vlc_meta_TrackTotal 

Function Documentation

int input_item_WriteMeta ( vlc_object_t ,
input_item_t  
)
void vlc_meta_AddExtra ( vlc_meta_t m,
const char *  psz_name,
const char *  psz_value 
)
char** vlc_meta_CopyExtraNames ( const vlc_meta_t m)

Allocate a copy of all extra meta names and a table with it.

Be sure to free both the returned pointers and its name.

References vlc_meta_t::extra_tags, and vlc_dictionary_all_keys().

Referenced by EsOutProgramMeta(), and EsOutUpdateInfo().

void vlc_meta_Delete ( vlc_meta_t m)
const char* vlc_meta_Get ( const vlc_meta_t p_meta,
vlc_meta_type_t  meta_type 
)
const char* vlc_meta_GetExtra ( const vlc_meta_t m,
const char *  psz_name 
)
unsigned vlc_meta_GetExtraCount ( const vlc_meta_t m)
int vlc_meta_GetStatus ( vlc_meta_t m)
void vlc_meta_Merge ( vlc_meta_t dst,
const vlc_meta_t src 
)
vlc_meta_t* vlc_meta_New ( void  )
void vlc_meta_Set ( vlc_meta_t p_meta,
vlc_meta_type_t  meta_type,
const char *  psz_val 
)

vlc_meta has two kinds of meta, the one in a table, and the one in a dictionary.

FIXME - Why don't we merge those two?

References vlc_meta_t::ppsz_meta, and strdup().

Referenced by input_item_SetMeta(), and InputMetaUser().

void vlc_meta_SetStatus ( vlc_meta_t m,
int  status 
)
const char* vlc_meta_TypeToLocalizedString ( vlc_meta_type_t  meta_type)