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

Reply via email to