commit dced7b42629f74561fd31c4f7881bc7f769fcf46 Author: Joel Smith <jsf-lists.gtk...@jk1.net> Date: Sun Nov 4 00:00:05 2012 -0600
add track ID field to AtomicParseley library libs/atomic-parsley/AP_AtomExtracts.cpp | 13 +++++++++++++ libs/atomic-parsley/AP_AtomExtracts.h | 1 + 2 files changed, 14 insertions(+), 0 deletions(-) --- diff --git a/libs/atomic-parsley/AP_AtomExtracts.cpp b/libs/atomic-parsley/AP_AtomExtracts.cpp index d4e0544..039eda8 100644 --- a/libs/atomic-parsley/AP_AtomExtracts.cpp +++ b/libs/atomic-parsley/AP_AtomExtracts.cpp @@ -1070,8 +1070,21 @@ void APar_ExtractTrackDetails(char* uint32_buffer, FILE* isofile, Trackage* trac + 12); track_info->modified_time = APar_read32(uint32_buffer, isofile, parsedAtoms[track->track_atom].AtomicStart + 16); + track_info->track_id = APar_read32(uint32_buffer, isofile, parsedAtoms[track->track_atom].AtomicStart + 20); track_info->duration = APar_read32(uint32_buffer, isofile, parsedAtoms[track->track_atom].AtomicStart + 28); } + else if (APar_read8(isofile, parsedAtoms[track->track_atom].AtomicStart + 8) == 1) { + if (APar_read8(isofile, parsedAtoms[track->track_atom].AtomicStart + 11) & 1) { + track_info->track_enabled = true; + } + //version 1 has 64-bit creation/modified times which AP currently doesn't support + //track_info->creation_time = APar_read64(uint64_buffer, isofile, parsedAtoms[track->track_atom].AtomicStart + // + 12); + //track_info->modified_time = APar_read32(uint64_buffer, isofile, parsedAtoms[track->track_atom].AtomicStart + // + 20); + track_info->track_id = APar_read32(uint32_buffer, isofile, parsedAtoms[track->track_atom].AtomicStart + 28); + track_info->duration = APar_read32(uint32_buffer, isofile, parsedAtoms[track->track_atom].AtomicStart + 36); + } //language code APar_TrackLevelInfo(track, "mdhd"); diff --git a/libs/atomic-parsley/AP_AtomExtracts.h b/libs/atomic-parsley/AP_AtomExtracts.h index bd9cb26..3292aa5 100644 --- a/libs/atomic-parsley/AP_AtomExtracts.h +++ b/libs/atomic-parsley/AP_AtomExtracts.h @@ -35,6 +35,7 @@ typedef struct { //if any of these are unused, they are set to 0xFF struct _TrackInfo { uint32_t creation_time; uint32_t modified_time; + uint32_t track_id; uint32_t duration; bool track_enabled; uint32_t media_sample_rate; ------------------------------------------------------------------------------ Everyone hates slow websites. So do we. Make your web apps faster with AppDynamics Download AppDynamics Lite for free today: http://p.sf.net/sfu/appdyn_d2d_nov _______________________________________________ gtkpod-cvs2 mailing list gtkpod-cvs2@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2