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(type, prop)   if( p_track->prop ) {input_item_Set##type( 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_node_t *p_input_node, track_elem_t *p_track, xml_reader_t *p_xml_reader, const char *psz_element, xml_elem_hnd_t *p_handlers)
 parse the root node of the playlist
static bool parse_dict (demux_t *p_demux, input_item_node_t *p_input_node, track_elem_t *p_track, xml_reader_t *p_xml_reader, const char *psz_element, xml_elem_hnd_t *p_handlers)
 parse a <dict>
static bool parse_plist_dict (demux_t *p_demux, input_item_node_t *p_input_node, track_elem_t *p_track, xml_reader_t *p_xml_reader, const char *psz_element, xml_elem_hnd_t *p_handlers)
static bool parse_tracks_dict (demux_t *p_demux, input_item_node_t *p_input_node, track_elem_t *p_track, xml_reader_t *p_xml_reader, const char *psz_element, xml_elem_hnd_t *p_handlers)
static bool parse_track_dict (demux_t *p_demux, input_item_node_t *p_input_node, track_elem_t *p_track, xml_reader_t *p_xml_reader, const char *psz_element, xml_elem_hnd_t *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_node_t *p_input_node, track_elem_t *p_track, xml_reader_t *p_xml_reader, const char *psz_element, xml_elem_hnd_t *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 ); }

Referenced by save_data().

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

Referenced by add_meta().


Function Documentation

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

handles the supported <track> sub-elements

References name, and SET_INFO.

Referenced by parse_track_dict().

void Close_iTML ( vlc_object_t p_this  ) 

References demux_t::p_sys.

static int Control ( demux_t p_demux,
int  i_query,
va_list  args 
) [static]

dummy function for demux callback interface

References VLC_EGENERIC, and VLC_UNUSED.

int Demux ( demux_t p_demux  )  [static]

static void free_track ( track_elem_t p_track  )  [static]

int Import_iTML ( vlc_object_t p_this  ) 

iTML submodule initialization function

References DEMUX_BY_EXTENSION_OR_FORCED_MSG, and VLC_SUCCESS.

static track_elem_t* new_track ( void   )  [static]

static bool parse_dict ( demux_t p_demux,
input_item_node_t p_input_node,
track_elem_t p_track,
xml_reader_t p_xml_reader,
const char *  psz_element,
xml_elem_hnd_t p_handlers 
) [static]

static bool parse_plist_dict ( demux_t p_demux,
input_item_node_t p_input_node,
track_elem_t p_track,
xml_reader_t p_xml_reader,
const char *  psz_element,
xml_elem_hnd_t p_handlers 
) [static]

static bool parse_plist_node ( demux_t p_demux,
input_item_node_t p_input_node,
track_elem_t p_track,
xml_reader_t p_xml_reader,
const char *  psz_element,
xml_elem_hnd_t p_handlers 
) [static]

parse the root node of the playlist

References msg_Err, msg_Warn, parse_dict(), psz_name, psz_value, VLC_SUCCESS, VLC_UNUSED, xml_ReaderName, xml_ReaderNextAttr, and xml_ReaderValue.

Referenced by Demux().

static bool parse_track_dict ( demux_t p_demux,
input_item_node_t p_input_node,
track_elem_t p_track,
xml_reader_t p_xml_reader,
const char *  psz_element,
xml_elem_hnd_t p_handlers 
) [static]

static bool parse_tracks_dict ( demux_t p_demux,
input_item_node_t p_input_node,
track_elem_t p_track,
xml_reader_t p_xml_reader,
const char *  psz_element,
xml_elem_hnd_t 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_node_t p_input_node,
track_elem_t p_track,
xml_reader_t p_xml_reader,
const char *  psz_element,
xml_elem_hnd_t p_handlers 
) [static]

skips complex element content that we can't manage

References VLC_UNUSED, XML_READER_ENDELEM, xml_ReaderName, xml_ReaderNodeType, and xml_ReaderRead.

Referenced by parse_playlist_node(), and parse_track_dict().


Generated on Tue May 25 08:05:17 2010 for VLC by  doxygen 1.5.6