From c064a789c58e08c2e0f92377ce5ec47d01a4eb50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Reinhard=20Ni=C3=9Fl?= Date: Fri, 27 Jul 2007 00:12:00 +0200 Subject: provide an additional callback function for controlling frame interception Some postplugins override a frame's draw function just to get/manipulate frame related information -- and not for drawing on the frame. The current implementation disables any preprocessing function even if the plugin is not going to draw on the frame. By introducing a further callback function route_preprocessing_procs() a plugin is now able to tell that it is not going to draw on the frame, i. e. it is ok to route the preprocessing functions to the intercepted frame, too. --HG-- extra : transplant_source : %170%82%B8%8F%BA%3D%25%9B%D7%EF%E5%B3%3B%EEg%A0%D1be --- src/xine-engine/post.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/xine-engine/post.h b/src/xine-engine/post.h index a3b9786ca..7ef46536b 100644 --- a/src/xine-engine/post.h +++ b/src/xine-engine/post.h @@ -180,6 +180,13 @@ struct post_video_port_s { /* the new frame function pointers */ vo_frame_t *new_frame; + /* if you want to decide yourself, whether the preprocessing functions + * should still be routed when draw is intercepted, fill in this + * function; _x_post_intercept_video_frame() acts as a template method + * and asks your function; return a boolean; the default is _not_ to + * route preprocessing functions when draw is intercepted */ + int (*route_preprocessing_procs)(post_video_port_t *self, vo_frame_t *frame); + /* if you want to decide yourself, whether the overlay manager should * be intercepted, fill in this function; get_overlay_manager() acts as * a template method and asks your function; return a boolean; -- cgit v1.2.3