ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

id3.c File Reference
#include "mpg123lib_intern.h"
#include "id3.h"
#include "debug.h"

Go to the source code of this file.

Defines

#define KNOWN_FRAMES   4
#define free_comment(mh)   free_id3_text(&((mh)->id3v2.comment_list), &((mh)->id3v2.comments))
#define free_text(mh)   free_id3_text(&((mh)->id3v2.text), &((mh)->id3v2.texts))
#define free_extra(mh)   free_id3_text(&((mh)->id3v2.extra), &((mh)->id3v2.extras))
#define add_comment(mh)   add_id3_text(&((mh)->id3v2.comment_list), &((mh)->id3v2.comments))
#define add_text(mh)   add_id3_text(&((mh)->id3v2.text), &((mh)->id3v2.texts))
#define add_extra(mh)   add_id3_text(&((mh)->id3v2.extra), &((mh)->id3v2.extras))
#define pop_comment(mh)   pop_id3_text(&((mh)->id3v2.comment_list), &((mh)->id3v2.comments))
#define pop_text(mh)   pop_id3_text(&((mh)->id3v2.text), &((mh)->id3v2.texts))
#define pop_extra(mh)   pop_id3_text(&((mh)->id3v2.extra), &((mh)->id3v2.extras))
#define UNSYNC_FLAG   128
#define EXTHEAD_FLAG   64
#define EXP_FLAG   32
#define FOOTER_FLAG   16
#define UNKNOWN_FLAGS   15 /* 00001111*/
#define synchsafe_to_long(buf, res)
#define bytes_to_long(buf, res)
#define threebytes_to_long(buf, res)
#define BAD_FFLAGS   (unsigned long) 36784
#define PRES_TAG_FFLAG   16384
#define PRES_FILE_FFLAG   8192
#define READ_ONLY_FFLAG   4096
#define GROUP_FFLAG   64
#define COMPR_FFLAG   8
#define ENCR_FFLAG   4
#define UNSYNC_FFLAG   2
#define DATLEN_FFLAG   1
#define FULLPOINT(f, s)   ( (((f)&0x3ff)<<10) + ((s)&0x3ff) + 0x10000 )
#define UTF8LEN(x)   ( (x)<0x80 ? 1 : ((x)<0x800 ? 2 : ((x)<0x10000 ? 3 : 4)))

Typedefs

typedef void(* text_converter )(mpg123_string *sb, const unsigned char *source, size_t len, const int noquiet)

Enumerations

enum  frame_types {
  unknown = -2, text = -1, comment, extra,
  rva2, uslt
}

Functions

static void convert_latin1 (mpg123_string *sb, const unsigned char *source, size_t len, const int noquiet)
static void convert_utf16bom (mpg123_string *sb, const unsigned char *source, size_t len, const int noquiet)
static void convert_utf8 (mpg123_string *sb, const unsigned char *source, size_t len, const int noquiet)
static void null_id3_links (mpg123_handle *fr)
void init_id3 (mpg123_handle *fr)
static void init_mpg123_text (mpg123_text *txt)
static void free_mpg123_text (mpg123_text *txt)
static void free_id3_text (mpg123_text **list, size_t *size)
static mpg123_textadd_id3_text (mpg123_text **list, size_t *size)
static void pop_id3_text (mpg123_text **list, size_t *size)
void exit_id3 (mpg123_handle *fr)
void reset_id3 (mpg123_handle *fr)
void id3_link (mpg123_handle *fr)
void store_id3_text (mpg123_string *sb, char *source, size_t source_size, const int noquiet, const int notranslate)
void id3_to_utf8 (mpg123_string *sb, unsigned char encoding, const unsigned char *source, size_t source_size, int noquiet)
charnext_text (char *prev, int encoding, size_t limit)
static const charenc_name (int enc)
static void process_text (mpg123_handle *fr, char *realdata, size_t realsize, char *id)
static void process_comment (mpg123_handle *fr, enum frame_types tt, char *realdata, size_t realsize, int rva_level, char *id)
void process_extra (mpg123_handle *fr, char *realdata, size_t realsize, int rva_level, char *id)
int promote_framename (mpg123_handle *fr, char *id)
int parse_new_id3 (mpg123_handle *fr, unsigned long first4bytes)
static int check_bom (const unsigned char **source, size_t *len)

Variables

static const char frame_type [KNOWN_FRAMES][5] = { "COMM", "TXXX", "RVA2", "USLT" }
static const text_converter text_converters [4]
const unsigned int encoding_widths [4] = { 1, 2, 2, 1 }

Generated on Fri May 25 2012 05:58:52 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.