]> git.sesse.net Git - vlc/blobdiff - modules/demux/mpeg4_iod.h
demux: ts: parse SL config
[vlc] / modules / demux / mpeg4_iod.h
index af47b2b40ff68bb384afc509fca67ea9e58f7189..00bf2c1da0d1776a342931a7bf1eb59dfe97d03c 100644 (file)
  *****************************************************************************/
 
 #define ES_DESCRIPTOR_COUNT 255
+typedef enum
+{
+    USE_ACCESS_UNIT_START_FLAG = 1 << 7,
+    USE_ACCESS_UNIT_END_FLAG   = 1 << 6,
+    USE_RANDOM_ACCESS_POINT_FLAG  = 1 << 5,
+    HAS_RANDOM_ACCESS_UNITS_ONLY_FLAG  = 1 << 4,
+    USE_PADDING_FLAG  = 1 << 3,
+    USE_TIMESTAMPS_FLAG  = 1 << 2,
+    USE_IDLE_FLAG  = 1 << 1,
+    USE_DURATION_FLAG  = 1
+} sl_config_flags;
+
+typedef struct
+{
+    uint32_t i_timestamp_resolution;
+    uint32_t i_OCR_resolution;
+    uint8_t i_flags;
+    uint8_t i_timestamp_length;
+    uint8_t i_OCR_length;
+    uint8_t i_AU_length;
+    uint8_t i_instant_bitrate_length;
+    uint8_t i_degradation_priority_length;
+    uint8_t i_AU_seqnum_length;
+    uint8_t i_packet_seqnum_length;
+
+    uint32_t i_timescale;
+    uint16_t i_accessunit_duration;
+    uint16_t i_compositionunit_duration;
+
+    uint64_t i_startdecoding_timestamp;
+    uint64_t i_startcomposition_timestamp;
+} sl_config_descriptor_t;
 
 typedef struct
 {
@@ -38,6 +70,7 @@ typedef struct
     char                    *psz_url;
 
     decoder_config_descriptor_t    dec_descr;
+    sl_config_descriptor_t         sl_descr;
 
 } es_mpeg4_descriptor_t;