summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReinhard Nißl <rnissl@gmx.de>2007-07-27 00:12:00 +0200
committerReinhard Nißl <rnissl@gmx.de>2007-07-27 00:12:00 +0200
commitc064a789c58e08c2e0f92377ce5ec47d01a4eb50 (patch)
tree0a214bfb4d6af030752beab9603d026d7ff797d4
parent944fc07d1bfd33010a1a61e923d53b884f5a6359 (diff)
downloadxine-lib-c064a789c58e08c2e0f92377ce5ec47d01a4eb50.tar.gz
xine-lib-c064a789c58e08c2e0f92377ce5ec47d01a4eb50.tar.bz2
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
-rw-r--r--src/xine-engine/post.h7
1 files changed, 7 insertions, 0 deletions
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;