mirror of https://github.com/mpv-player/mpv
vf_vo: Use vo_seek_reset() instead of vo_control()
Change the vo_control(vo, VOCTRL_RESET, NULL) call done when the vf_vo filter is uninited to vo_seek_reset(vo). The latter also sets vo->frame_loaded to false. Remove the vo->config_ok check from vo_seek_reset(). The reset call should be doable even if config failed.
This commit is contained in:
parent
de11a44bba
commit
7044965988
|
@ -203,7 +203,7 @@ static void uninit(struct vf_instance* vf)
|
||||||
if (vf->priv) {
|
if (vf->priv) {
|
||||||
/* Allow VO (which may live on to work with another instance of vf_vo)
|
/* Allow VO (which may live on to work with another instance of vf_vo)
|
||||||
* to get rid of numbered-mpi references that will now be invalid. */
|
* to get rid of numbered-mpi references that will now be invalid. */
|
||||||
vo_control(video_out, VOCTRL_RESET, NULL);
|
vo_seek_reset(video_out);
|
||||||
#ifdef CONFIG_ASS
|
#ifdef CONFIG_ASS
|
||||||
if (vf->priv->ass_priv)
|
if (vf->priv->ass_priv)
|
||||||
ass_renderer_done(vf->priv->ass_priv);
|
ass_renderer_done(vf->priv->ass_priv);
|
||||||
|
|
|
@ -354,8 +354,6 @@ void vo_check_events(struct vo *vo)
|
||||||
|
|
||||||
void vo_seek_reset(struct vo *vo)
|
void vo_seek_reset(struct vo *vo)
|
||||||
{
|
{
|
||||||
if (!vo->config_ok)
|
|
||||||
return;
|
|
||||||
vo_control(vo, VOCTRL_RESET, NULL);
|
vo_control(vo, VOCTRL_RESET, NULL);
|
||||||
vo->frame_loaded = false;
|
vo->frame_loaded = false;
|
||||||
}
|
}
|
||||||
|
|
|
@ -205,6 +205,7 @@ int vo_config(struct vo *vo, uint32_t width, uint32_t height,
|
||||||
uint32_t d_width, uint32_t d_height, uint32_t flags,
|
uint32_t d_width, uint32_t d_height, uint32_t flags,
|
||||||
char *title, uint32_t format) { abort(); }
|
char *title, uint32_t format) { abort(); }
|
||||||
int vo_control(struct vo *vo, uint32_t request, void *data) { abort(); }
|
int vo_control(struct vo *vo, uint32_t request, void *data) { abort(); }
|
||||||
|
void vo_seek_reset(struct vo *vo) { abort(); }
|
||||||
int vo_draw_image(struct vo *vo, struct mp_image *mpi, double pts) { abort(); }
|
int vo_draw_image(struct vo *vo, struct mp_image *mpi, double pts) { abort(); }
|
||||||
int vo_draw_frame(struct vo *vo, uint8_t *src[]) { abort(); }
|
int vo_draw_frame(struct vo *vo, uint8_t *src[]) { abort(); }
|
||||||
int vo_draw_slice(struct vo *vo, uint8_t *src[], int stride[], int w, int h, int x, int y) { abort(); }
|
int vo_draw_slice(struct vo *vo, uint8_t *src[], int stride[], int w, int h, int x, int y) { abort(); }
|
||||||
|
|
Loading…
Reference in New Issue