diff options
author | wm4 <wm4@nowhere> | 2014-07-15 01:49:02 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2014-07-15 01:49:02 +0200 |
commit | 23a7257cca5982fa44300825ea489ba95a7e4c17 (patch) | |
tree | 5c03e6b1e0127d2e6b72fa168ea0dce8294ca122 /sub | |
parent | 4b93210e0c244a65ef10a566abed2ad25ecaf9a1 (diff) | |
download | mpv-23a7257cca5982fa44300825ea489ba95a7e4c17.tar.bz2 mpv-23a7257cca5982fa44300825ea489ba95a7e4c17.tar.xz |
Revert "Remove DVD and Bluray support"
This reverts commit 4b93210e0c244a65ef10a566abed2ad25ecaf9a1.
*shrug*
Diffstat (limited to 'sub')
-rw-r--r-- | sub/osd.c | 11 | ||||
-rw-r--r-- | sub/osd.h | 8 |
2 files changed, 19 insertions, 0 deletions
@@ -206,6 +206,14 @@ void osd_set_external2(struct osd_state *osd, struct sub_bitmaps *imgs) pthread_mutex_unlock(&osd->lock); } +void osd_set_nav_highlight(struct osd_state *osd, void *priv) +{ + pthread_mutex_lock(&osd->lock); + osd->objs[OSDTYPE_NAV_HIGHLIGHT]->highlight_priv = priv; + osd_changed_unlocked(osd, OSDTYPE_NAV_HIGHLIGHT); + pthread_mutex_unlock(&osd->lock); +} + static void render_object(struct osd_state *osd, struct osd_object *obj, struct mp_osd_res res, double video_pts, const bool sub_formats[SUBBITMAP_COUNT], @@ -239,6 +247,9 @@ static void render_object(struct osd_state *osd, struct osd_object *obj, *out_imgs = *obj->external2; obj->external2->bitmap_id = obj->external2->bitmap_pos_id = 0; } + } else if (obj->type == OSDTYPE_NAV_HIGHLIGHT) { + if (obj->highlight_priv) + mp_nav_get_highlight(obj->highlight_priv, obj->vo_res, out_imgs); } else { osd_object_get_bitmaps(osd, obj, out_imgs); } @@ -84,6 +84,8 @@ enum mp_osdtype { OSDTYPE_SUB, OSDTYPE_SUB2, + OSDTYPE_NAV_HIGHLIGHT, // dvdnav fake highlights + OSDTYPE_PROGBAR, OSDTYPE_OSD, @@ -172,6 +174,8 @@ void osd_set_external(struct osd_state *osd, int res_x, int res_y, char *text); void osd_set_external2(struct osd_state *osd, struct sub_bitmaps *imgs); +void osd_set_nav_highlight(struct osd_state *osd, void *priv); + enum mp_osd_draw_flags { OSD_DRAW_SUB_FILTER = (1 << 0), OSD_DRAW_SUB_ONLY = (1 << 1), @@ -220,4 +224,8 @@ void osd_get_function_sym(char *buffer, size_t buffer_size, int osd_function); void osd_object_get_resolution(struct osd_state *osd, int obj, int *out_w, int *out_h); +// defined in player +void mp_nav_get_highlight(void *priv, struct mp_osd_res res, + struct sub_bitmaps *out_imgs); + #endif /* MPLAYER_SUB_H */ |