Revert play & send durations, read preroll as 64 bits
authorRafaël Carré <funman@videolan.org>
Tue, 22 Apr 2008 16:09:20 +0000 (18:09 +0200)
committerRafaël Carré <funman@videolan.org>
Tue, 22 Apr 2008 16:09:20 +0000 (18:09 +0200)
The "unknown, always 0" field looks very much like it is the not used 32
msb of preroll
Thanks to Juho Vähä-Herttua

modules/demux/asf/libasf.c
modules/demux/asf/libasf.h

index 0ac06b7..9a007f1 100644 (file)
@@ -279,10 +279,9 @@ static int ASF_ReadObject_file_properties( stream_t *s, asf_object_t *p_obj )
     p_fp->i_file_size = GetQWLE( p_peek + 40 );
     p_fp->i_creation_date = GetQWLE( p_peek + 48 );
     p_fp->i_data_packets_count = GetQWLE( p_peek + 56 );
-    p_fp->i_send_duration = GetQWLE( p_peek + 64 );
-    p_fp->i_play_duration = GetQWLE( p_peek + 72 );
-    p_fp->i_preroll = GetDWLE( p_peek + 80 );
-    p_fp->i_unknown = GetDWLE( p_peek + 84 );
+    p_fp->i_play_duration = GetQWLE( p_peek + 64 );
+    p_fp->i_send_duration = GetQWLE( p_peek + 72 );
+    p_fp->i_preroll = GetQWLE( p_peek + 80 );
     p_fp->i_flags = GetDWLE( p_peek + 88 );
     p_fp->i_min_data_packet_size = GetDWLE( p_peek + 92 );
     p_fp->i_max_data_packet_size = GetDWLE( p_peek + 96 );
@@ -292,13 +291,13 @@ static int ASF_ReadObject_file_properties( stream_t *s, asf_object_t *p_obj )
     msg_Dbg( s,
             "read \"file properties object\" file_id:" GUID_FMT
             " file_size:"I64Fd" creation_date:"I64Fd" data_packets_count:"
-            I64Fd" send_duration:"I64Fd" play_duration:"I64Fd" preroll:%d"
-            "unknown:%d flags:%d min_data_packet_size:%d "
-            "max_data_packet_size:%d max_bitrate:%d",
+            I64Fd" play_duration:"I64Fd" send_duration:"I64Fd" preroll:"I64Fd
+            " flags:%d min_data_packet_size:%d "
+            " max_data_packet_size:%d max_bitrate:%d",
             GUID_PRINT( p_fp->i_file_id ), p_fp->i_file_size,
             p_fp->i_creation_date, p_fp->i_data_packets_count,
-            p_fp->i_send_duration, p_fp->i_play_duration,
-            p_fp->i_preroll, p_fp->i_unknown, p_fp->i_flags,
+            p_fp->i_play_duration, p_fp->i_send_duration,
+            p_fp->i_preroll, p_fp->i_flags,
             p_fp->i_min_data_packet_size, p_fp->i_max_data_packet_size,
             p_fp->i_max_bitrate );
 #endif
index e8dda44..a9290db 100644 (file)
@@ -198,10 +198,9 @@ typedef struct
     uint64_t     i_file_size;
     uint64_t     i_creation_date;
     uint64_t     i_data_packets_count;
-    uint64_t     i_send_duration;
     uint64_t     i_play_duration;
-    uint32_t     i_preroll;
-    uint32_t     i_unknown; /* ignored, usually 0 */
+    uint64_t     i_send_duration;
+    uint64_t     i_preroll;
     uint32_t     i_flags;
     uint32_t     i_min_data_packet_size;
     uint32_t     i_max_data_packet_size;