]> git.sesse.net Git - ffmpeg/blobdiff - libavformat/oggparseogm.c
mkvenc: Handle negative timestamps correctly
[ffmpeg] / libavformat / oggparseogm.c
index 2cdaac7ec900e1989eaae1439b0717c486d97cc6..beeb27d5bc2a1e257939d0a8542c48c995d91564 100644 (file)
@@ -24,7 +24,7 @@
 
 #include <stdlib.h>
 #include "libavutil/intreadwrite.h"
-#include "libavcodec/bitstream.h"
+#include "libavcodec/get_bits.h"
 #include "libavcodec/bytestream.h"
 #include "avformat.h"
 #include "oggdec.h"
@@ -53,7 +53,7 @@ ogm_header(AVFormatContext *s, int idx)
         st->codec->codec_type = CODEC_TYPE_VIDEO;
         p += 8;
         tag = bytestream_get_le32(&p);
-        st->codec->codec_id = codec_get_id(codec_bmp_tags, tag);
+        st->codec->codec_id = ff_codec_get_id(ff_codec_bmp_tags, tag);
         st->codec->codec_tag = tag;
     } else if (*p == 't') {
         st->codec->codec_type = CODEC_TYPE_SUBTITLE;
@@ -67,7 +67,7 @@ ogm_header(AVFormatContext *s, int idx)
         bytestream_get_buffer(&p, acid, 4);
         acid[4] = 0;
         cid = strtol(acid, NULL, 16);
-        st->codec->codec_id = codec_get_id(codec_wav_tags, cid);
+        st->codec->codec_id = ff_codec_get_id(ff_codec_wav_tags, cid);
         st->need_parsing = AVSTREAM_PARSE_FULL;
     }
 
@@ -115,14 +115,14 @@ ogm_dshow_header(AVFormatContext *s, int idx)
 
     if(t == 0x05589f80){
         st->codec->codec_type = CODEC_TYPE_VIDEO;
-        st->codec->codec_id = codec_get_id(codec_bmp_tags, AV_RL32(p + 68));
+        st->codec->codec_id = ff_codec_get_id(ff_codec_bmp_tags, AV_RL32(p + 68));
         st->codec->time_base.den = 10000000;
         st->codec->time_base.num = AV_RL64(p + 164);
         st->codec->width = AV_RL32(p + 176);
         st->codec->height = AV_RL32(p + 180);
     } else if(t == 0x05589f81){
         st->codec->codec_type = CODEC_TYPE_AUDIO;
-        st->codec->codec_id = codec_get_id(codec_wav_tags, AV_RL16(p + 124));
+        st->codec->codec_id = ff_codec_get_id(ff_codec_wav_tags, AV_RL16(p + 124));
         st->codec->channels = AV_RL16(p + 126);
         st->codec->sample_rate = AV_RL32(p + 128);
         st->codec->bit_rate = AV_RL32(p + 132) * 8;
@@ -153,26 +153,30 @@ const struct ogg_codec ff_ogm_video_codec = {
     .magic = "\001video",
     .magicsize = 6,
     .header = ogm_header,
-    .packet = ogm_packet
+    .packet = ogm_packet,
+    .granule_is_start = 1,
 };
 
 const struct ogg_codec ff_ogm_audio_codec = {
     .magic = "\001audio",
     .magicsize = 6,
     .header = ogm_header,
-    .packet = ogm_packet
+    .packet = ogm_packet,
+    .granule_is_start = 1,
 };
 
 const struct ogg_codec ff_ogm_text_codec = {
     .magic = "\001text",
     .magicsize = 5,
     .header = ogm_header,
-    .packet = ogm_packet
+    .packet = ogm_packet,
+    .granule_is_start = 1,
 };
 
 const struct ogg_codec ff_ogm_old_codec = {
     .magic = "\001Direct Show Samples embedded in Ogg",
     .magicsize = 35,
     .header = ogm_dshow_header,
-    .packet = ogm_packet
+    .packet = ogm_packet,
+    .granule_is_start = 1,
 };