summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorUoti Urpala <uau@glyph.nonexistent.invalid>2009-12-02 12:50:56 +0200
committerUoti Urpala <uau@glyph.nonexistent.invalid>2009-12-02 12:50:56 +0200
commit7044965988cb6aa63f2e493c80050ae39aab5bf8 (patch)
tree99341066f4ddc8a4c14608621b1cc05b5c7f5d8f
parentde11a44bba877d46cfa3b5150cc191453bf97fed (diff)
downloadmpv-7044965988cb6aa63f2e493c80050ae39aab5bf8.tar.bz2
mpv-7044965988cb6aa63f2e493c80050ae39aab5bf8.tar.xz
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.
-rw-r--r--libmpcodecs/vf_vo.c2
-rw-r--r--libvo/video_out.c2
-rw-r--r--mencoder.c1
3 files changed, 2 insertions, 3 deletions
diff --git a/libmpcodecs/vf_vo.c b/libmpcodecs/vf_vo.c
index 7026ac93fc..b15e488961 100644
--- a/libmpcodecs/vf_vo.c
+++ b/libmpcodecs/vf_vo.c
@@ -203,7 +203,7 @@ static void uninit(struct vf_instance* vf)
if (vf->priv) {
/* 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. */
- vo_control(video_out, VOCTRL_RESET, NULL);
+ vo_seek_reset(video_out);
#ifdef CONFIG_ASS
if (vf->priv->ass_priv)
ass_renderer_done(vf->priv->ass_priv);
diff --git a/libvo/video_out.c b/libvo/video_out.c
index e2d42f4900..1241b65537 100644
--- a/libvo/video_out.c
+++ b/libvo/video_out.c
@@ -354,8 +354,6 @@ void vo_check_events(struct vo *vo)
void vo_seek_reset(struct vo *vo)
{
- if (!vo->config_ok)
- return;
vo_control(vo, VOCTRL_RESET, NULL);
vo->frame_loaded = false;
}
diff --git a/mencoder.c b/mencoder.c
index 9620e2abe3..1f00adc7f0 100644
--- a/mencoder.c
+++ b/mencoder.c
@@ -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,
char *title, uint32_t format) { 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_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(); }