diff options
author | Anton Kindestam <antonki@kth.se> | 2018-12-05 19:02:03 +0100 |
---|---|---|
committer | Anton Kindestam <antonki@kth.se> | 2018-12-05 19:19:24 +0100 |
commit | 8b83c8996686072bc743b112ae5cb3bf93aa33ed (patch) | |
tree | b09ce6a7ff470b05006622f19914b3d39d2f7d9f /video/out | |
parent | 5bcac8580df6fc62323136f756a3a6d1e754fe9c (diff) | |
parent | 559a400ac36e75a8d73ba263fd7fa6736df1c2da (diff) | |
download | mpv-8b83c8996686072bc743b112ae5cb3bf93aa33ed.tar.bz2 mpv-8b83c8996686072bc743b112ae5cb3bf93aa33ed.tar.xz |
Merge commit '559a400ac36e75a8d73ba263fd7fa6736df1c2da' into wm4-commits--merge-edition
This bumps libmpv version to 1.103
Diffstat (limited to 'video/out')
-rw-r--r-- | video/out/gpu/video.c | 4 | ||||
-rw-r--r-- | video/out/vo.c | 20 |
2 files changed, 14 insertions, 10 deletions
diff --git a/video/out/gpu/video.c b/video/out/gpu/video.c index b0fa9eb4d9..13e5b06918 100644 --- a/video/out/gpu/video.c +++ b/video/out/gpu/video.c @@ -3871,7 +3871,9 @@ static void reinit_from_options(struct gl_video *p) gl_video_setup_hooks(p); reinit_osd(p); - if (p->opts.interpolation && !p->global->opts->video_sync && !p->dsi_warned) { + int vs; + mp_read_option_raw(p->global, "video-sync", &m_option_type_choice, &vs); + if (p->opts.interpolation && !vs && !p->dsi_warned) { MP_WARN(p, "Interpolation now requires enabling display-sync mode.\n" "E.g.: --video-sync=display-resample\n"); p->dsi_warned = true; diff --git a/video/out/vo.c b/video/out/vo.c index 9ecfd76a1f..a33d9fd15f 100644 --- a/video/out/vo.c +++ b/video/out/vo.c @@ -300,11 +300,9 @@ static struct vo *vo_create(bool probing, struct mpv_global *global, m_config_cache_set_dispatch_change_cb(vo->opts_cache, vo->in->dispatch, update_opts, vo); -#if HAVE_GL vo->gl_opts_cache = m_config_cache_alloc(NULL, global, &gl_video_conf); m_config_cache_set_dispatch_change_cb(vo->gl_opts_cache, vo->in->dispatch, update_opts, vo); -#endif vo->eq_opts_cache = m_config_cache_alloc(NULL, global, &mp_csp_equalizer_conf); m_config_cache_set_dispatch_change_cb(vo->eq_opts_cache, vo->in->dispatch, @@ -332,7 +330,9 @@ error: struct vo *init_best_video_out(struct mpv_global *global, struct vo_extra *ex) { - struct m_obj_settings *vo_list = global->opts->vo->video_driver_list; + struct mp_vo_opts *opts = mp_get_config_group(NULL, global, &vo_sub_opts); + struct m_obj_settings *vo_list = opts->video_driver_list; + struct vo *vo = NULL; // first try the preferred drivers, with their optional subdevice param: if (vo_list && vo_list[0].name) { for (int n = 0; vo_list[n].name; n++) { @@ -340,11 +340,11 @@ struct vo *init_best_video_out(struct mpv_global *global, struct vo_extra *ex) if (strlen(vo_list[n].name) == 0) goto autoprobe; bool p = !!vo_list[n + 1].name; - struct vo *vo = vo_create(p, global, ex, vo_list[n].name); + vo = vo_create(p, global, ex, vo_list[n].name); if (vo) - return vo; + goto done; } - return NULL; + goto done; } autoprobe: // now try the rest... @@ -352,11 +352,13 @@ autoprobe: const struct vo_driver *driver = video_out_drivers[i]; if (driver == &video_out_null) break; - struct vo *vo = vo_create(true, global, ex, (char *)driver->name); + vo = vo_create(true, global, ex, (char *)driver->name); if (vo) - return vo; + goto done; } - return NULL; +done: + talloc_free(opts); + return vo; } static void terminate_vo(void *p) |