commit dced7b42629f74561fd31c4f7881bc7f769fcf46
Author: Joel Smith <[email protected]>
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/gtkpod-cvs2