diff options
author | Diego 'Flameeyes' Pettenò <flameeyes@gmail.com> | 2007-12-18 20:34:40 +0100 |
---|---|---|
committer | Diego 'Flameeyes' Pettenò <flameeyes@gmail.com> | 2007-12-18 20:34:40 +0100 |
commit | d3298c9017077d3ea3ea91110dcac349d58448a9 (patch) | |
tree | dfdb9d026dd4d7422aed9a5d868829d4ec791277 /src | |
parent | 1a366138f0b39cfa1d8586d54f5dfce296a001d2 (diff) | |
download | xine-lib-d3298c9017077d3ea3ea91110dcac349d58448a9.tar.gz xine-lib-d3298c9017077d3ea3ea91110dcac349d58448a9.tar.bz2 |
Replace seven calls to parse_data_atom with a single call, and then set the value on the proper structure.
This way, parse_data_atom is inlined by GCC.
Diffstat (limited to 'src')
-rw-r--r-- | src/demuxers/demux_qt.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/demuxers/demux_qt.c b/src/demuxers/demux_qt.c index 3cd573530..4c9399608 100644 --- a/src/demuxers/demux_qt.c +++ b/src/demuxers/demux_qt.c @@ -801,31 +801,33 @@ static void parse_meta_atom(qt_info *info, unsigned char *meta_atom) { const uint8_t *const sub_atom = &meta_atom[j]; const qt_atom sub_atom_code = _X_BE_32(&sub_atom[4]); const uint32_t sub_atom_size = _X_BE_32(&sub_atom[0]); + char *const data_atom = parse_data_atom(&sub_atom[8]); switch(sub_atom_code) { case ART_ATOM: - info->artist = parse_data_atom(&sub_atom[8]); + info->artist = data_atom; break; case NAM_ATOM: - info->name = parse_data_atom(&sub_atom[8]); + info->name = data_atom; break; case ALB_ATOM: - info->album = parse_data_atom(&sub_atom[8]); + info->album = data_atom; break; case GEN_ATOM: - info->genre = parse_data_atom(&sub_atom[8]); + info->genre = data_atom; break; case CMT_ATOM: - info->comment = parse_data_atom(&sub_atom[8]); + info->comment = data_atom; break; case WRT_ATOM: - info->composer = parse_data_atom(&sub_atom[8]); + info->composer = data_atom; break; case DAY_ATOM: - info->year = parse_data_atom(&sub_atom[8]); + info->year = data_atom; break; default: debug_meta_load("unknown atom %08x in ilst\n", sub_atom_code); + free(data_atom); } j += sub_atom_size; |