summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Roitzsch <mroi@users.sourceforge.net>2003-08-15 14:35:09 +0000
committerMichael Roitzsch <mroi@users.sourceforge.net>2003-08-15 14:35:09 +0000
commita2f063e2bde647a9f6f79e7f3be7b3c9d82eec64 (patch)
treeb43c17e06082ab3535eef4b4217f2c477d7f9f99
parent6b9fa3fbe1ceee6f4a7215cb70d5f3fbee33a1c7 (diff)
downloadxine-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.c2
-rw-r--r--src/xine-engine/osd.h6
-rw-r--r--src/xine-engine/video_out.c10
-rw-r--r--src/xine-engine/video_out.h33
-rw-r--r--src/xine-engine/video_overlay.c24
-rw-r--r--src/xine-engine/xine.c4
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