itml.c File Reference

iTunes Music Library import functions More...

Include dependency graph for itml.c:


Data Structures

struct  demux_sys_t

Defines

#define SAVE_INFO(name, value)   if( !strcmp( psz_name, name ) ) { p_track->value = strdup( psz_value ); }
#define SET_INFO(func, prop)   if( p_track->prop ) { func( p_input_item, p_track->prop ); }

Functions

static int Control (demux_t *p_demux, int i_query, va_list args)
 dummy function for demux callback interface
static int Demux (demux_t *p_demux)
 demuxer function for iTML parsing
int Import_iTML (vlc_object_t *p_this)
 iTML submodule initialization function
void Close_iTML (vlc_object_t *p_this)
static bool parse_plist_node (demux_t *p_demux, input_item_t *p_input_item, track_elem_t *p_track, xml_reader_t *p_xml_reader, const char *psz_element, struct xml_elem_hnd *p_handlers)
 parse the root node of the playlist
static bool parse_dict (demux_t *p_demux, input_item_t *p_input_item, track_elem_t *p_track, xml_reader_t *p_xml_reader, const char *psz_element, struct xml_elem_hnd *p_handlers)
 parse a <dict>
static bool parse_plist_dict (demux_t *p_demux, input_item_t *p_input_item, track_elem_t *p_track, xml_reader_t *p_xml_reader, const char *psz_element, struct xml_elem_hnd *p_handlers)
static bool parse_tracks_dict (demux_t *p_demux, input_item_t *p_input_item, track_elem_t *p_track, xml_reader_t *p_xml_reader, const char *psz_element, struct xml_elem_hnd *p_handlers)
static bool parse_track_dict (demux_t *p_demux, input_item_t *p_input_item, track_elem_t *p_track, xml_reader_t *p_xml_reader, const char *psz_element, struct xml_elem_hnd *p_handlers)
static track_elem_tnew_track ()
static void free_track (track_elem_t *p_track)
static bool save_data (track_elem_t *p_track, const char *psz_name, char *psz_value)
static bool add_meta (input_item_t *p_input_item, track_elem_t *p_track)
 handles the supported <track> sub-elements
static bool skip_element (demux_t *p_demux, input_item_t *p_input_item, track_elem_t *p_track, xml_reader_t *p_xml_reader, const char *psz_element, struct xml_elem_hnd *p_handlers)
 skips complex element content that we can't manage

Detailed Description

iTunes Music Library import functions


Define Documentation

#define SAVE_INFO ( name,
value   )     if( !strcmp( psz_name, name ) ) { p_track->value = strdup( psz_value ); }

#define SET_INFO ( func,
prop   )     if( p_track->prop ) { func( p_input_item, p_track->prop ); }


Function Documentation

static bool add_meta ( input_item_t p_input_item,
track_elem_t p_track 
) [static]

handles the supported <track> sub-elements

void Close_iTML ( vlc_object_t p_this  ) 

static int Control ( demux_t ,
int  ,
va_list   
) [static]

dummy function for demux callback interface

int Demux ( demux_t  )  [static]

demuxer function for iTML parsing

static void free_track ( track_elem_t p_track  )  [static]

int Import_iTML ( vlc_object_t p_this  ) 

iTML submodule initialization function

static track_elem_t* new_track ( void   )  [static]

static bool parse_dict ( demux_t p_demux,
input_item_t p_input_item,
track_elem_t p_track,
xml_reader_t p_xml_reader,
const char *  psz_element,
struct xml_elem_hnd p_handlers 
) [static]

parse a <dict>

Parameters:
COMPLEX_INTERFACE 

static bool parse_plist_dict ( demux_t p_demux,
input_item_t p_input_item,
track_elem_t p_track,
xml_reader_t p_xml_reader,
const char *  psz_element,
struct xml_elem_hnd p_handlers 
) [static]

static bool parse_plist_node ( demux_t p_demux,
input_item_t p_input_item,
track_elem_t p_track,
xml_reader_t p_xml_reader,
const char *  psz_element,
struct xml_elem_hnd p_handlers 
) [static]

parse the root node of the playlist

static bool parse_track_dict ( demux_t p_demux,
input_item_t p_input_item,
track_elem_t p_track,
xml_reader_t p_xml_reader,
const char *  psz_element,
struct xml_elem_hnd p_handlers 
) [static]

static bool parse_tracks_dict ( demux_t p_demux,
input_item_t p_input_item,
track_elem_t p_track,
xml_reader_t p_xml_reader,
const char *  psz_element,
struct xml_elem_hnd p_handlers 
) [static]

static bool save_data ( track_elem_t p_track,
const char *  psz_name,
char *  psz_value 
) [static]

static bool skip_element ( demux_t p_demux,
input_item_t p_input_item,
track_elem_t p_track,
xml_reader_t p_xml_reader,
const char *  psz_element,
struct xml_elem_hnd p_handlers 
) [static]

skips complex element content that we can't manage


Generated on Wed Aug 13 08:03:28 2008 for VLC by  doxygen 1.5.1