changeset 26296:71ddd37be152

Do proper parsing for DVR-MS files, this fixes playback with ffmpeg decoder and also will create proper files when remuxing into e.g. AVI.
author reimar
date Sat, 05 Apr 2008 11:09:21 +0000
parents c8a489c8cae8
children e9e160b6b5ad
files libmpdemux/video.c
diffstat 1 files changed, 6 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/libmpdemux/video.c	Sat Apr 05 09:19:55 2008 +0000
+++ b/libmpdemux/video.c	Sat Apr 05 11:09:21 2008 +0000
@@ -81,6 +81,8 @@
   else if((fmt == DEMUXER_TYPE_MPEG_PS ||  fmt == DEMUXER_TYPE_MPEG_TS) &&
     (sh_video->format==mmioFOURCC('W', 'V', 'C', '1')))
     return VIDEO_VC1;
+  else if (fmt == DEMUXER_TYPE_ASF && sh_video->bih && sh_video->bih->biCompression == mmioFOURCC('D', 'V', 'R', ' '))
+    return VIDEO_MPEG12;
   else
     return VIDEO_OTHER;
 }
@@ -250,6 +252,10 @@
    break;
  }
  case VIDEO_MPEG12: {
+   if (d_video->demuxer->file_format == DEMUXER_TYPE_ASF) { // DVR-MS
+     if(!sh_video->bih) return 0;
+     sh_video->format=sh_video->bih->biCompression;
+   }
 mpeg_header_parser:
    // Find sequence_header first:
    videobuf_len=0; videobuf_code_len=0;