diff options
author | Michael Roitzsch <mroi@users.sourceforge.net> | 2003-08-15 14:38:04 +0000 |
---|---|---|
committer | Michael Roitzsch <mroi@users.sourceforge.net> | 2003-08-15 14:38:04 +0000 |
commit | 1835a617e381e7a307945c71be4ee9d4e16520b0 (patch) | |
tree | afa17139ec20a30827d1824119f0cb8465685969 /src/xine-engine/post.h | |
parent | e648375a3eec5de906fd60206e1d5e23e2e078d0 (diff) | |
download | xine-lib-1835a617e381e7a307945c71be4ee9d4e16520b0.tar.gz xine-lib-1835a617e381e7a307945c71be4ee9d4e16520b0.tar.bz2 |
- rename to overlay manager
- add helper functions to intercept overlay manager calls within post plugins
CVS patchset: 5290
CVS date: 2003/08/15 14:38:04
Diffstat (limited to 'src/xine-engine/post.h')
-rw-r--r-- | src/xine-engine/post.h | 25 |
1 files changed, 24 insertions, 1 deletions
diff --git a/src/xine-engine/post.h b/src/xine-engine/post.h index 38dc3a75c..e29f12cdd 100644 --- a/src/xine-engine/post.h +++ b/src/xine-engine/post.h @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: post.h,v 1.10 2003/08/04 03:47:11 miguelfreitas Exp $ + * $Id: post.h,v 1.11 2003/08/15 14:38:04 mroi Exp $ * * post plugin definitions * @@ -111,6 +111,7 @@ struct post_plugin_s { * set of functions attached that you might need to decorate. */ + /* helper structure for intercepting video port calls */ typedef struct post_video_port_s post_video_port_t; struct post_video_port_s { @@ -138,6 +139,28 @@ post_video_port_t *post_intercept_video_port(post_plugin_t *post, xine_video_por void post_intercept_video_frame(vo_frame_t *frame, post_video_port_t *port); void post_restore_video_frame(vo_frame_t *frame, post_video_port_t *port); + +/* helper structure for intercepting overlay manager calls */ +typedef struct post_overlay_manager_s post_overlay_manager_t; +struct post_overlay_manager_s { + + /* the new public overlay manager with replaced function pointers */ + video_overlay_manager_t manager; + + /* the original manager to call its functions from inside yours */ + video_overlay_manager_t *original_manager; + + /* backward reference so that you have access to the post plugin + * when the call only gives you the overlay manager */ + post_plugin_t *post; +}; + +/* use this to create a new, trivially decorated overlay manager in which + * port functions can be replaced with own implementations */ +post_overlay_manager_t *post_intercept_overlay_manager(post_plugin_t *post, + video_overlay_manager_t *original); + + /* helper structure for intercepting audio port calls */ typedef struct post_audio_port_s post_audio_port_t; struct post_audio_port_s { |