summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--core/mplayer.c6
-rw-r--r--video/out/vo.h2
-rw-r--r--video/out/vo_image.c1
-rw-r--r--video/out/vo_lavc.c1
-rw-r--r--video/vfcap.h2
5 files changed, 6 insertions, 6 deletions
diff --git a/core/mplayer.c b/core/mplayer.c
index 48375ee9df..8cbf7db002 100644
--- a/core/mplayer.c
+++ b/core/mplayer.c
@@ -3321,7 +3321,7 @@ static void run_playloop(struct MPContext *mpctx)
* If untimed is set always output frames immediately
* without sleeping.
*/
- if (mpctx->time_frame < -0.2 || opts->untimed)
+ if (mpctx->time_frame < -0.2 || opts->untimed || vo->untimed)
mpctx->time_frame = 0;
}
@@ -3344,8 +3344,7 @@ static void run_playloop(struct MPContext *mpctx)
mpctx->time_frame -= get_relative_time(mpctx);
mpctx->time_frame -= vo->flip_queue_offset;
- if (mpctx->time_frame > 0.001
- && !(mpctx->sh_video->output_flags & VFCAP_TIMER))
+ if (mpctx->time_frame > 0.001)
mpctx->time_frame = timing_sleep(mpctx, mpctx->time_frame);
mpctx->time_frame += vo->flip_queue_offset;
@@ -4446,7 +4445,6 @@ int main(int argc, char *argv[])
m_config_set_option0(mpctx->mconfig, "ao", "lavc");
m_config_set_option0(mpctx->mconfig, "fixed-vo", "yes");
m_config_set_option0(mpctx->mconfig, "gapless-audio", "yes");
- m_config_set_option0(mpctx->mconfig, "untimed", "yes");
}
#endif
diff --git a/video/out/vo.h b/video/out/vo.h
index e883293326..6ea2f930e8 100644
--- a/video/out/vo.h
+++ b/video/out/vo.h
@@ -228,6 +228,8 @@ struct vo {
int config_count; // Total number of successful config calls
int default_caps; // query_format() result for configured video format
+ bool untimed; // non-interactive, don't do sleep calls in playloop
+
bool frame_loaded; // Is there a next frame the VO could flip to?
struct mp_image *waiting_mpi;
double next_pts; // pts value of the next frame if any
diff --git a/video/out/vo_image.c b/video/out/vo_image.c
index 12bd18862a..2c9c6f3acf 100644
--- a/video/out/vo_image.c
+++ b/video/out/vo_image.c
@@ -137,6 +137,7 @@ static void uninit(struct vo *vo)
static int preinit(struct vo *vo, const char *arg)
{
+ vo->untimed = true;
return 0;
}
diff --git a/video/out/vo_lavc.c b/video/out/vo_lavc.c
index 7d846da92d..a9cb0624ac 100644
--- a/video/out/vo_lavc.c
+++ b/video/out/vo_lavc.c
@@ -71,6 +71,7 @@ static int preinit(struct vo *vo, const char *arg)
vc = vo->priv;
vc->harddup = vo->encode_lavc_ctx->options->harddup;
vc->colorspace = (struct mp_csp_details) MP_CSP_DETAILS_DEFAULTS;
+ vo->untimed = true;
return 0;
}
diff --git a/video/vfcap.h b/video/vfcap.h
index 670faa596a..8758e30ada 100644
--- a/video/vfcap.h
+++ b/video/vfcap.h
@@ -29,8 +29,6 @@
// driver/filter can do vertical flip (upside-down)
#define VFCAP_FLIP 0x80
-// driver/hardware handles timing (blocking)
-#define VFCAP_TIMER 0x100
// filter does postprocessing (so you shouldn't scale/filter image before it)
#define VFCAP_POSTPROC 0x800