]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/asf.h
rtpdec_asf: Don't free the payload context in the .close function
[ffmpeg] / libavformat / asf.h
index b56345993d82480d69b620ef29080e11ad2b466a..2f6722adca698905d0bf5921c951658cebef29a8 100644 (file)
 #include <stdint.h>
 #include "avformat.h"
 #include "metadata.h"
+#include "riff.h"
 
 #define PACKET_SIZE 3200
 
-typedef struct {
+typedef struct ASFStream {
     int num;
     unsigned char seq;
     /* use for reading */
@@ -44,11 +45,11 @@ typedef struct {
 
     uint16_t stream_language_index;
 
+    int      palette_changed;
+    uint32_t palette[256];
 } ASFStream;
 
-typedef uint8_t ff_asf_guid[16];
-
-typedef struct {
+typedef struct ASFMainHeader {
     ff_asf_guid guid;                  ///< generated by client computer
     uint64_t file_size;         /**< in bytes
                                  *   invalid if broadcasting */
@@ -74,9 +75,11 @@ typedef struct {
 } ASFMainHeader;
 
 
-typedef struct {
+typedef struct ASFIndex {
     uint32_t packet_number;
     uint16_t packet_count;
+    uint64_t send_time;
+    uint64_t offset;
 } ASFIndex;
 
 extern const ff_asf_guid ff_asf_header;
@@ -101,7 +104,9 @@ extern const ff_asf_guid ff_asf_simple_index_header;
 extern const ff_asf_guid ff_asf_ext_stream_embed_stream_header;
 extern const ff_asf_guid ff_asf_ext_stream_audio_stream;
 extern const ff_asf_guid ff_asf_metadata_header;
+extern const ff_asf_guid ff_asf_metadata_library_header;
 extern const ff_asf_guid ff_asf_marker_header;
+extern const ff_asf_guid ff_asf_reserved_4;
 extern const ff_asf_guid ff_asf_my_guid;
 extern const ff_asf_guid ff_asf_language_guid;
 extern const ff_asf_guid ff_asf_content_encryption;
@@ -173,11 +178,4 @@ extern const AVMetadataConv ff_asf_metadata_conv[];
 
 extern AVInputFormat ff_asf_demuxer;
 
-static av_always_inline int ff_guidcmp(const void *g1, const void *g2)
-{
-    return memcmp(g1, g2, sizeof(ff_asf_guid));
-}
-
-void ff_get_guid(AVIOContext *s, ff_asf_guid *g);
-
 #endif /* AVFORMAT_ASF_H */