commit 7f966953fc5b0ba6a8a46d0a936fd02a9faf1b19
Author: Joel Smith <jsf...@jk...>
Date: Sat Nov 3 23:57:29 2012 -0600
add text track type to AtomicParseley library
libs/atomic-parsley/AP_AtomExtracts.cpp | 14 +++++++++++---
libs/atomic-parsley/AP_AtomExtracts.h | 2 +-
2 files changed, 12 insertions(+), 4 deletions(-)
---
diff --git a/libs/atomic-parsley/AP_AtomExtracts.cpp b/libs/atomic-parsley/AP_AtomExtracts.cpp
index 3b7a967..d4e0544 100644
--- a/libs/atomic-parsley/AP_AtomExtracts.cpp
+++ b/libs/atomic-parsley/AP_AtomExtracts.cpp
@@ -1085,11 +1085,19 @@ void APar_ExtractTrackDetails(char* uint32_buffer, FILE* isofile, Trackage* trac
APar_TrackLevelInfo(track, "hdlr");
memset(uint32_buffer, 0, 5);
track_info->track_type = APar_read32(uint32_buffer, isofile, parsedAtoms[track->track_atom].AtomicStart + 16);
- if (track_info->track_type == 0x736F756E) { //soun
+ switch (track_info->track_type)
+ {
+ case 0x736F756E: //soun
track_info->type_of_track = AUDIO_TRACK;
- }
- else if (track_info->track_type == 0x76696465) { //vide
+ break;
+ case 0x76696465: //vide
track_info->type_of_track = VIDEO_TRACK;
+ break;
+ case 0x74657874: //text
+ track_info->type_of_track = TEXT_TRACK;
+ break;
+ default:
+ break;
}
if (parsedAtoms[track->track_atom].AtomicLength > 34) {
memset(track_info->track_hdlr_name, 0, 100);
diff --git a/libs/atomic-parsley/AP_AtomExtracts.h b/libs/atomic-parsley/AP_AtomExtracts.h
index 255bb97..bd9cb26 100644
--- a/libs/atomic-parsley/AP_AtomExtracts.h
+++ b/libs/atomic-parsley/AP_AtomExtracts.h
@@ -105,7 +105,7 @@ typedef struct {
} ap_time;
enum {
- UNKNOWN_TRACK = 0, VIDEO_TRACK = 2, AUDIO_TRACK = 4, DRM_PROTECTED_TRACK = 8, OTHER_TRACK = 16
+ UNKNOWN_TRACK = 0, VIDEO_TRACK = 2, AUDIO_TRACK = 4, DRM_PROTECTED_TRACK = 8, OTHER_TRACK = 16, TEXT_TRACK = 32
};
enum {
|