Mercurial > mplayer.hg
changeset 37166:3721d8f98dfe
Support -ni option for all formats.
Can work around playback issues with badly interleaved files.
author | reimar |
---|---|
date | Sun, 31 Aug 2014 09:39:13 +0000 |
parents | 681c7f805a23 |
children | 30a8897dd22d |
files | DOCS/man/en/mplayer.1 cfg-common.h libmpdemux/demuxer.c |
diffstat | 3 files changed, 7 insertions(+), 4 deletions(-) [+] |
line wrap: on
line diff
--- a/DOCS/man/en/mplayer.1 Sun Aug 31 09:33:38 2014 +0000 +++ b/DOCS/man/en/mplayer.1 Sun Aug 31 09:39:13 2014 +0000 @@ -1843,9 +1843,12 @@ .PD 1 . .TP -.B \-ni (AVI only) -Force usage of non-interleaved AVI parser (fixes playback +.B \-ni +Force treating files as non-interleaved. +In particular forces usage of non-interleaved AVI parser (fixes playback of some bad AVI files). +Can also help playing files that otherwise play audio +and video alternating instead of at the same time. . .TP .B \-nobps (AVI only)
--- a/cfg-common.h Sun Aug 31 09:33:38 2014 +0000 +++ b/cfg-common.h Sun Aug 31 09:39:13 2014 +0000 @@ -406,7 +406,7 @@ {"edl", &edl_filename, CONF_TYPE_STRING, 0, 0, 0, NULL}, - // AVI specific: force non-interleaved mode + // force non-interleaved mode {"ni", &force_ni, CONF_TYPE_FLAG, 0, 0, 1, NULL}, {"noni", &force_ni, CONF_TYPE_FLAG, 0, 1, 0, NULL},
--- a/libmpdemux/demuxer.c Sun Aug 31 09:33:38 2014 +0000 +++ b/libmpdemux/demuxer.c Sun Aug 31 09:39:13 2014 +0000 @@ -722,7 +722,7 @@ // This needs to be enough for at least 1 second of packets // since libavformat mov demuxer does not try to interleave // with more than 1s precision. - if (ds->fill_count > 80) + if (!force_ni && ds->fill_count > 80) break; // avoid printing the "too many ..." message over and over if (ds->eof)