diff options
author | Michael Roitzsch <mroi@users.sourceforge.net> | 2003-08-15 14:35:09 +0000 |
---|---|---|
committer | Michael Roitzsch <mroi@users.sourceforge.net> | 2003-08-15 14:35:09 +0000 |
commit | a2f063e2bde647a9f6f79e7f3be7b3c9d82eec64 (patch) | |
tree | b43c17e06082ab3535eef4b4217f2c477d7f9f99 | |
parent | 6b9fa3fbe1ceee6f4a7215cb70d5f3fbee33a1c7 (diff) | |
download | xine-lib-a2f063e2bde647a9f6f79e7f3be7b3c9d82eec64.tar.gz xine-lib-a2f063e2bde647a9f6f79e7f3be7b3c9d82eec64.tar.bz2 |
I am using the latest internal API increase to rename video_overlay_instace to
video_overlay_manager, because
a) this thing is called "overlay manager" by everyone
b) the term "instance" is misleading, since it suggests that you would not
share the outcome of a get_instance() with others
CVS patchset: 5288
CVS date: 2003/08/15 14:35:09
-rw-r--r-- | src/xine-engine/osd.c | 2 | ||||
-rw-r--r-- | src/xine-engine/osd.h | 6 | ||||
-rw-r--r-- | src/xine-engine/video_out.c | 10 | ||||
-rw-r--r-- | src/xine-engine/video_out.h | 33 | ||||
-rw-r--r-- | src/xine-engine/video_overlay.c | 24 | ||||
-rw-r--r-- | src/xine-engine/xine.c | 4 |
6 files changed, 42 insertions, 37 deletions
diff --git a/src/xine-engine/osd.c b/src/xine-engine/osd.c index 87b2c7b70..89a0fc28c 100644 --- a/src/xine-engine/osd.c +++ b/src/xine-engine/osd.c @@ -1166,7 +1166,7 @@ static void osd_draw_bitmap(osd_object_t *osd, uint8_t *bitmap, * initialize the osd rendering engine */ -osd_renderer_t *osd_renderer_init( video_overlay_instance_t *video_overlay, config_values_t *config ) { +osd_renderer_t *osd_renderer_init( video_overlay_manager_t *video_overlay, config_values_t *config ) { osd_renderer_t *this; char str[1024]; diff --git a/src/xine-engine/osd.h b/src/xine-engine/osd.h index 21e0bf0e8..c1652341e 100644 --- a/src/xine-engine/osd.h +++ b/src/xine-engine/osd.h @@ -18,7 +18,7 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * * OSD stuff (text and graphic primitives) - * $Id: osd.h,v 1.16 2003/05/20 13:50:56 mroi Exp $ + * $Id: osd.h,v 1.17 2003/08/15 14:35:09 mroi Exp $ */ #ifndef HAVE_OSD_H @@ -188,7 +188,7 @@ struct osd_renderer_s { /* private stuff */ pthread_mutex_t osd_mutex; - video_overlay_instance_t *video_overlay; + video_overlay_manager_t *video_overlay; video_overlay_event_t event; osd_object_t *osds; /* instances of osd */ osd_font_t *fonts; /* loaded fonts */ @@ -201,7 +201,7 @@ struct osd_renderer_s { /* * initialize the osd rendering engine */ -osd_renderer_t *osd_renderer_init( video_overlay_instance_t *video_overlay, config_values_t *config ); +osd_renderer_t *osd_renderer_init( video_overlay_manager_t *video_overlay, config_values_t *config ); /* diff --git a/src/xine-engine/video_out.c b/src/xine-engine/video_out.c index d8657af98..2b3af4a9a 100644 --- a/src/xine-engine/video_out.c +++ b/src/xine-engine/video_out.c @@ -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: video_out.c,v 1.168 2003/08/12 13:53:30 mroi Exp $ + * $Id: video_out.c,v 1.169 2003/08/15 14:35:09 mroi Exp $ * * frame allocation / queuing / scheduling / output functions */ @@ -86,7 +86,7 @@ typedef struct { int64_t last_delivery_pts; - video_overlay_instance_t *overlay_source; + video_overlay_manager_t *overlay_source; int overlay_enabled; /* do we true real-time output or is this a grab only instance ? */ @@ -1398,7 +1398,7 @@ static vo_frame_t *vo_get_last_frame (xine_video_port_t *this_gen) { * overlay stuff */ -static video_overlay_instance_t *vo_get_overlay_instance (xine_video_port_t *this_gen) { +static video_overlay_manager_t *vo_get_overlay_manager (xine_video_port_t *this_gen) { vos_t *this = (vos_t *) this_gen; return this->overlay_source; } @@ -1480,7 +1480,7 @@ xine_video_port_t *vo_new_port (xine_t *xine, vo_driver_t *driver, this->vo.exit = vo_exit; this->vo.get_capabilities = vo_get_capabilities; this->vo.enable_ovl = vo_enable_overlay; - this->vo.get_overlay_instance = vo_get_overlay_instance; + this->vo.get_overlay_manager = vo_get_overlay_manager; this->vo.flush = vo_flush; this->vo.get_property = vo_get_property; this->vo.set_property = vo_set_property; @@ -1497,7 +1497,7 @@ xine_video_port_t *vo_new_port (xine_t *xine, vo_driver_t *driver, this->last_frame = NULL; this->img_backup = NULL; - this->overlay_source = video_overlay_new_instance(); + this->overlay_source = video_overlay_new_manager(); this->overlay_source->init (this->overlay_source); this->overlay_enabled = 1; diff --git a/src/xine-engine/video_out.h b/src/xine-engine/video_out.h index 0ba8d9720..957b8aef7 100644 --- a/src/xine-engine/video_out.h +++ b/src/xine-engine/video_out.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: video_out.h,v 1.95 2003/08/12 13:53:30 mroi Exp $ + * $Id: video_out.h,v 1.96 2003/08/15 14:35:09 mroi Exp $ * * * xine version of video_out.h @@ -55,7 +55,7 @@ extern "C" { typedef struct vo_frame_s vo_frame_t; typedef struct img_buf_fifo_s img_buf_fifo_t; typedef struct vo_overlay_s vo_overlay_t; -typedef struct video_overlay_instance_s video_overlay_instance_t; +typedef struct video_overlay_manager_s video_overlay_manager_t; typedef struct vo_driver_s vo_driver_t; /* to access extra_info_t contents one have to include xine_internal.h */ @@ -191,7 +191,7 @@ struct xine_video_port_s { void (*exit) (xine_video_port_t *self); /* get overlay instance (overlay source) */ - video_overlay_instance_t* (*get_overlay_instance) (xine_video_port_t *self); + video_overlay_manager_t* (*get_overlay_manager) (xine_video_port_t *self); /* flush video_out fifo */ void (*flush) (xine_video_port_t *self); @@ -412,27 +412,32 @@ struct vo_overlay_s { }; -/* API to video_overlay */ -struct video_overlay_instance_s { - void (*init) (video_overlay_instance_t *this_gen); +/* API to video_overlay manager + * + * Remember that adding new functions to this structure requires + * adaption of the post plugin decoration layer. Be sure to look into + * src/xine-engine/post.[ch]. + */ +struct video_overlay_manager_s { + void (*init) (video_overlay_manager_t *this_gen); - void (*dispose) (video_overlay_instance_t *this_gen); + void (*dispose) (video_overlay_manager_t *this_gen); - int32_t (*get_handle) (video_overlay_instance_t *this_gen, int object_type ); + int32_t (*get_handle) (video_overlay_manager_t *this_gen, int object_type ); - void (*free_handle) (video_overlay_instance_t *this_gen, int32_t handle); + void (*free_handle) (video_overlay_manager_t *this_gen, int32_t handle); - int32_t (*add_event) (video_overlay_instance_t *this_gen, void *event); + int32_t (*add_event) (video_overlay_manager_t *this_gen, void *event); - void (*flush_events) (video_overlay_instance_t *this_gen ); + void (*flush_events) (video_overlay_manager_t *this_gen ); - int (*redraw_needed) (video_overlay_instance_t *this_gen, int64_t vpts ); + int (*redraw_needed) (video_overlay_manager_t *this_gen, int64_t vpts ); - void (*multiple_overlay_blend) (video_overlay_instance_t *this_gen, int64_t vpts, + void (*multiple_overlay_blend) (video_overlay_manager_t *this_gen, int64_t vpts, vo_driver_t *output, vo_frame_t *vo_img, int enabled); }; -video_overlay_instance_t *video_overlay_new_instance (void); +video_overlay_manager_t *video_overlay_new_instance (void); /* diff --git a/src/xine-engine/video_overlay.c b/src/xine-engine/video_overlay.c index b049e6f3b..71622b6a8 100644 --- a/src/xine-engine/video_overlay.c +++ b/src/xine-engine/video_overlay.c @@ -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: video_overlay.c,v 1.29 2003/04/01 11:45:33 jcdutton Exp $ + * $Id: video_overlay.c,v 1.30 2003/08/15 14:35:09 mroi Exp $ * */ @@ -50,7 +50,7 @@ typedef struct video_overlay_showing_s { typedef struct video_overlay_s { - video_overlay_instance_t video_overlay; + video_overlay_manager_t video_overlay; pthread_mutex_t events_mutex; video_overlay_events_t events[MAX_EVENTS]; @@ -144,7 +144,7 @@ static void remove_events_handle( video_overlay_t *this, int32_t handle, int loc /* allocate a handle from the object pool (exported function) */ -static int32_t video_overlay_get_handle(video_overlay_instance_t *this_gen, int object_type ) { +static int32_t video_overlay_get_handle(video_overlay_manager_t *this_gen, int object_type ) { video_overlay_t *this = (video_overlay_t *) this_gen; int n; @@ -186,7 +186,7 @@ static void internal_video_overlay_free_handle(video_overlay_t *this, int32_t ha exported free handle function. must take care of removing the object from showing and events lists. */ -static void video_overlay_free_handle(video_overlay_instance_t *this_gen, int32_t handle) { +static void video_overlay_free_handle(video_overlay_manager_t *this_gen, int32_t handle) { video_overlay_t *this = (video_overlay_t *) this_gen; remove_showing_handle(this,handle); @@ -225,7 +225,7 @@ static void video_overlay_reset (video_overlay_t *this) { } -static void video_overlay_init (video_overlay_instance_t *this_gen) { +static void video_overlay_init (video_overlay_manager_t *this_gen) { video_overlay_t *this = (video_overlay_t *) this_gen; @@ -248,7 +248,7 @@ static void video_overlay_init (video_overlay_instance_t *this_gen) { * note2: handle will not be freed on HIDE events * the handle is removed from the currently showing list. */ -static int32_t video_overlay_add_event(video_overlay_instance_t *this_gen, void *event_gen ) { +static int32_t video_overlay_add_event(video_overlay_manager_t *this_gen, void *event_gen ) { video_overlay_event_t *event = (video_overlay_event_t *) event_gen; video_overlay_t *this = (video_overlay_t *) this_gen; uint32_t last_event,this_event,new_event; @@ -491,7 +491,7 @@ static int video_overlay_event( video_overlay_t *this, int64_t vpts ) { /* This is called from video_out.c * must call output->overlay_blend for each active overlay. */ -static void video_overlay_multiple_overlay_blend (video_overlay_instance_t *this_gen, int64_t vpts, +static void video_overlay_multiple_overlay_blend (video_overlay_manager_t *this_gen, int64_t vpts, vo_driver_t *output, vo_frame_t *vo_img, int enabled) { video_overlay_t *this = (video_overlay_t *) this_gen; int i; @@ -528,7 +528,7 @@ static void video_overlay_multiple_overlay_blend (video_overlay_instance_t *this /* this should be called on stream end or stop to make sure every hide event is processed. */ -static void video_overlay_flush_events(video_overlay_instance_t *this_gen ) +static void video_overlay_flush_events(video_overlay_manager_t *this_gen ) { video_overlay_t *this = (video_overlay_t *) this_gen; @@ -538,7 +538,7 @@ static void video_overlay_flush_events(video_overlay_instance_t *this_gen ) /* this is called from video_out.c on still frames to check if a redraw is needed. */ -static int video_overlay_redraw_needed(video_overlay_instance_t *this_gen, int64_t vpts ) +static int video_overlay_redraw_needed(video_overlay_manager_t *this_gen, int64_t vpts ) { video_overlay_t *this = (video_overlay_t *) this_gen; @@ -547,7 +547,7 @@ static int video_overlay_redraw_needed(video_overlay_instance_t *this_gen, int64 } -static void video_overlay_dispose(video_overlay_instance_t *this_gen) { +static void video_overlay_dispose(video_overlay_manager_t *this_gen) { video_overlay_t *this = (video_overlay_t *) this_gen; int i; @@ -575,7 +575,7 @@ static void video_overlay_dispose(video_overlay_instance_t *this_gen) { } -video_overlay_instance_t *video_overlay_new_instance () { +video_overlay_manager_t *video_overlay_new_manager () { video_overlay_t *this; @@ -590,5 +590,5 @@ video_overlay_instance_t *video_overlay_new_instance () { this->video_overlay.redraw_needed = video_overlay_redraw_needed; this->video_overlay.multiple_overlay_blend = video_overlay_multiple_overlay_blend; - return (video_overlay_instance_t *) &this->video_overlay; + return (video_overlay_manager_t *) &this->video_overlay; } diff --git a/src/xine-engine/xine.c b/src/xine-engine/xine.c index 3fb53f6b2..eb3e03f7f 100644 --- a/src/xine-engine/xine.c +++ b/src/xine-engine/xine.c @@ -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: xine.c,v 1.252 2003/07/27 12:25:04 hadess Exp $ + * $Id: xine.c,v 1.253 2003/08/15 14:35:09 mroi Exp $ */ /* @@ -431,7 +431,7 @@ xine_stream_t *xine_stream_new (xine_t *this, * osd */ - stream->osd_renderer = osd_renderer_init (stream->video_out->get_overlay_instance (stream->video_out), stream->xine->config ); + stream->osd_renderer = osd_renderer_init (stream->video_out->get_overlay_manager (stream->video_out), stream->xine->config ); /* * register stream |