summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-04-05 11:09:21 +0000
committerreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2008-04-05 11:09:21 +0000
commitaf654481c0b24a0018412e3509442c58e17139cb (patch)
treed6f755b1fcea536759424104ebac97742dd89336
parente826cc2d72f7fb4ab1e1ba4687d247d63aeaef12 (diff)
downloadmpv-af654481c0b24a0018412e3509442c58e17139cb.tar.bz2
mpv-af654481c0b24a0018412e3509442c58e17139cb.tar.xz
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. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@26328 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r--libmpdemux/video.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/libmpdemux/video.c b/libmpdemux/video.c
index fe69c7bf84..b0f72c515f 100644
--- a/libmpdemux/video.c
+++ b/libmpdemux/video.c
@@ -81,6 +81,8 @@ static video_codec_t find_video_codec(sh_video_t *sh_video)
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 @@ switch(video_codec){
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;