mirror of https://github.com/mpv-player/mpv
New option: -ignore-start
Makes mplayer and mencoder ignore dwStart in AVI files. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@17655 b3059339-0415-0410-9bf9-f77b7e298cf2
This commit is contained in:
parent
362b6d13dd
commit
6f446f41b5
|
@ -1101,6 +1101,18 @@ When used with MEncoder, this is not guaranteed to work correctly
|
|||
with \-ovc copy; use \-audio-delay instead.
|
||||
.
|
||||
.TP
|
||||
.B \-ignore-start
|
||||
Ignore the specified starting time for streams in AVI files.
|
||||
In MPlayer, this nullifies stream delays in files encoded with
|
||||
the \-audio-delay option.
|
||||
During encoding, this option prevents MEncoder from transferring
|
||||
original stream start times to the new file; the \-audio-delay option is
|
||||
not affected.
|
||||
Note that MEncoder sometimes adjusts stream starting times
|
||||
automatically to compensate for anticipated decoding delays, so don't
|
||||
use this option for encoding without testing it first.
|
||||
.
|
||||
.TP
|
||||
.B \-demuxer <[+]name>
|
||||
Force demuxer type.
|
||||
Use a '+' before the name to force it, this will skip some checks!
|
||||
|
|
|
@ -150,6 +150,10 @@
|
|||
// set a-v distance
|
||||
{"delay", &audio_delay, CONF_TYPE_FLOAT, CONF_RANGE, -100.0, 100.0, NULL},
|
||||
|
||||
// ignore header-specified delay (dwStart)
|
||||
{"ignore-start", &ignore_start, CONF_TYPE_FLAG, 0, 0, 1, NULL},
|
||||
{"noignore-start", &ignore_start, CONF_TYPE_FLAG, 0, 1, 0, NULL},
|
||||
|
||||
#ifdef USE_LIBA52
|
||||
{"a52drc", &a52_drc_level, CONF_TYPE_FLOAT, CONF_RANGE, 0, 1, NULL},
|
||||
#endif
|
||||
|
|
|
@ -156,6 +156,7 @@ static float c_total=0;
|
|||
static float audio_preload=0.5;
|
||||
static float audio_delay_fix=0.0;
|
||||
static float audio_delay=0.0;
|
||||
static int ignore_start=0;
|
||||
static int audio_density=2;
|
||||
|
||||
float force_fps=0;
|
||||
|
@ -866,6 +867,7 @@ if ((force_fourcc != NULL) && (strlen(force_fourcc) >= 4))
|
|||
mux_v->bih->biCompression, (char *)&mux_v->bih->biCompression);
|
||||
}
|
||||
|
||||
if (! ignore_start)
|
||||
muxer->audio_delay_fix -= sh_video->stream_delay;
|
||||
|
||||
//if(demuxer->file_format!=DEMUXER_TYPE_AVI) pts_from_bps=0; // it must be 0 for mpeg/asf!
|
||||
|
@ -961,6 +963,7 @@ case ACODEC_COPY:
|
|||
|
||||
if (verbose>1) print_wave_header(mux_a->wf);
|
||||
|
||||
if (! ignore_start)
|
||||
muxer->audio_delay_fix += sh_audio->stream_delay;
|
||||
|
||||
} // if(sh_audio)
|
||||
|
|
|
@ -294,6 +294,7 @@ static float default_max_pts_correction=-1;//0.01f;
|
|||
static float max_pts_correction=0;//default_max_pts_correction;
|
||||
static float c_total=0;
|
||||
float audio_delay=0;
|
||||
static int ignore_start=0;
|
||||
|
||||
static int softsleep=0;
|
||||
|
||||
|
@ -2524,9 +2525,11 @@ current_module="av_init";
|
|||
|
||||
if(sh_video){
|
||||
sh_video->timer=0;
|
||||
if (! ignore_start)
|
||||
audio_delay += sh_video->stream_delay;
|
||||
}
|
||||
if(sh_audio){
|
||||
if (! ignore_start)
|
||||
audio_delay -= sh_audio->stream_delay;
|
||||
sh_audio->delay=-audio_delay;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue