summaryrefslogtreecommitdiffstats
path: root/libmpcodecs
diff options
context:
space:
mode:
authorUoti Urpala <uau@glyph.nonexistent.invalid>2009-01-15 01:07:12 +0200
committerUoti Urpala <uau@glyph.nonexistent.invalid>2009-01-15 01:09:21 +0200
commitd419ecd161634e79dab3ac57d57c4bccba2adcdc (patch)
tree7b13f4db6a141bb1c1f08afc4e3a71552618d8ec /libmpcodecs
parent2d532689fcc96deaa8ae8c05c34e315cfcef8350 (diff)
downloadmpv-d419ecd161634e79dab3ac57d57c4bccba2adcdc.tar.bz2
mpv-d419ecd161634e79dab3ac57d57c4bccba2adcdc.tar.xz
OSD: Ensure that OSD content is drawn in filter-added frames
Move the OSD drawing calls from filter_video() to higher-level code to ensure that VOs will draw the OSD also in filter-added frames, which are displayed without a separate call to filter_video().
Diffstat (limited to 'libmpcodecs')
-rw-r--r--libmpcodecs/dec_video.c9
-rw-r--r--libmpcodecs/dec_video.h3
2 files changed, 2 insertions, 10 deletions
diff --git a/libmpcodecs/dec_video.c b/libmpcodecs/dec_video.c
index 8cdc3e7b1d..ef44399e82 100644
--- a/libmpcodecs/dec_video.c
+++ b/libmpcodecs/dec_video.c
@@ -455,20 +455,13 @@ void *decode_video(sh_video_t *sh_video, unsigned char *start, int in_size,
return mpi;
}
-int filter_video(sh_video_t *sh_video, void *frame, double pts,
- struct osd_state *osd)
+int filter_video(sh_video_t *sh_video, void *frame, double pts)
{
mp_image_t *mpi = frame;
unsigned int t2 = GetTimer();
vf_instance_t *vf = sh_video->vfilter;
// apply video filters and call the leaf vo/ve
int ret = vf->put_image(vf, mpi, pts);
- if (ret > 0) {
-#ifdef CONFIG_ASS
- vf->control(vf, VFCTRL_DRAW_EOSD, NULL);
-#endif
- vf->control(vf, VFCTRL_DRAW_OSD, osd);
- }
t2 = GetTimer() - t2;
vout_time_usage += t2 * 0.000001;
diff --git a/libmpcodecs/dec_video.h b/libmpcodecs/dec_video.h
index 463304bde5..606fbe946e 100644
--- a/libmpcodecs/dec_video.h
+++ b/libmpcodecs/dec_video.h
@@ -12,8 +12,7 @@ int init_best_video_codec(sh_video_t *sh_video, char** video_codec_list, char**
void uninit_video(sh_video_t *sh_video);
void *decode_video(sh_video_t *sh_video, unsigned char *start, int in_size, int drop_frame, double pts);
-int filter_video(sh_video_t *sh_video, void *frame, double pts,
- struct osd_state *osd);
+int filter_video(sh_video_t *sh_video, void *frame, double pts);
int get_video_quality_max(sh_video_t *sh_video);
void set_video_quality(sh_video_t *sh_video, int quality);