summaryrefslogtreecommitdiff
path: root/src/video_out
diff options
context:
space:
mode:
authorMiguel Freitas <miguelfreitas@users.sourceforge.net>2003-05-31 18:33:28 +0000
committerMiguel Freitas <miguelfreitas@users.sourceforge.net>2003-05-31 18:33:28 +0000
commitaf85be8db56a088a7689baf9f4d1d67c2ee0decf (patch)
tree9576e1b0c2b3872fe6b26562fcd1ce98eeba8b9b /src/video_out
parent0306990681bdf214741c6ab2798b47bf8e578c97 (diff)
downloadxine-lib-af85be8db56a088a7689baf9f4d1d67c2ee0decf.tar.gz
xine-lib-af85be8db56a088a7689baf9f4d1d67c2ee0decf.tar.bz2
update video out api to allow better frame management (explicit locking)
img->displayed is obsolete now, drivers should use img->free. CVS patchset: 4994 CVS date: 2003/05/31 18:33:28
Diffstat (limited to 'src/video_out')
-rw-r--r--src/video_out/video_out_aa.c6
-rw-r--r--src/video_out/video_out_directfb.c6
-rwxr-xr-xsrc/video_out/video_out_directx.c6
-rw-r--r--src/video_out/video_out_fb.c8
-rw-r--r--src/video_out/video_out_none.c6
-rw-r--r--src/video_out/video_out_opengl.c6
-rw-r--r--src/video_out/video_out_pgx64.c8
-rw-r--r--src/video_out/video_out_sdl.c6
-rw-r--r--src/video_out/video_out_syncfb.c12
-rw-r--r--src/video_out/video_out_vidix.c8
-rw-r--r--src/video_out/video_out_xshm.c6
-rw-r--r--src/video_out/video_out_xv.c8
12 files changed, 43 insertions, 43 deletions
diff --git a/src/video_out/video_out_aa.c b/src/video_out/video_out_aa.c
index a164fcecd..363793abc 100644
--- a/src/video_out/video_out_aa.c
+++ b/src/video_out/video_out_aa.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_aa.c,v 1.34 2003/03/06 16:49:31 guenter Exp $
+ * $Id: video_out_aa.c,v 1.35 2003/05/31 18:33:30 miguelfreitas Exp $
*
* video_out_aa.c, ascii-art output plugin for xine
*
@@ -215,7 +215,7 @@ static void aa_display_frame (vo_driver_t *this_gen, vo_frame_t *frame_gen) {
}
}
- frame->vo_frame.displayed (&frame->vo_frame);
+ frame->vo_frame.free (&frame->vo_frame);
aa_fastrender(this->context, 0, 0,
aa_imgwidth (this->context),
@@ -328,6 +328,6 @@ static vo_info_t vo_info_aa = {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_VIDEO_OUT, 14, "aa", XINE_VERSION_CODE, &vo_info_aa, init_class },
+ { PLUGIN_VIDEO_OUT, 15, "aa", XINE_VERSION_CODE, &vo_info_aa, init_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/video_out/video_out_directfb.c b/src/video_out/video_out_directfb.c
index e64cb667b..92ff0b1a4 100644
--- a/src/video_out/video_out_directfb.c
+++ b/src/video_out/video_out_directfb.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_directfb.c,v 1.16 2003/03/06 16:49:31 guenter Exp $
+ * $Id: video_out_directfb.c,v 1.17 2003/05/31 18:33:30 miguelfreitas Exp $
*
* DirectFB based output plugin.
* Rich Wareham <richwareham@users.sourceforge.net>
@@ -384,7 +384,7 @@ static void directfb_display_frame (vo_driver_t *this_gen, vo_frame_t *frame_gen
directfb_frame_t *frame = (directfb_frame_t *) frame_gen;
if( this->cur_frame )
- this->cur_frame->vo_frame.displayed (&this->cur_frame->vo_frame);
+ this->cur_frame->vo_frame.free (&this->cur_frame->vo_frame);
this->cur_frame = frame;
if ( (frame->width != this->last_frame_width) ||
@@ -400,7 +400,7 @@ static void directfb_display_frame (vo_driver_t *this_gen, vo_frame_t *frame_gen
directfb_render_image (this, frame);
- frame->vo_frame.displayed (&frame->vo_frame);
+ frame->vo_frame.free (&frame->vo_frame);
this->cur_frame = NULL;
}
diff --git a/src/video_out/video_out_directx.c b/src/video_out/video_out_directx.c
index 55691f287..9d7e44a94 100755
--- a/src/video_out/video_out_directx.c
+++ b/src/video_out/video_out_directx.c
@@ -968,7 +968,7 @@ static void win32_display_frame( vo_driver_t * vo_driver, vo_frame_t * vo_frame
if( !win32_driver->contents )
{
- vo_frame->displayed( vo_frame );
+ vo_frame->free( vo_frame );
return;
}
@@ -1089,7 +1089,7 @@ static void win32_display_frame( vo_driver_t * vo_driver, vo_frame_t * vo_frame
// tag our frame as displayed
if((win32_driver->current != NULL) && (win32_driver->current != vo_frame)) {
- vo_frame->displayed(&win32_driver->current->vo_frame);
+ vo_frame->free(&win32_driver->current->vo_frame);
}
win32_driver->current = vo_frame;
}
@@ -1279,6 +1279,6 @@ static vo_info_t vo_info_win32 = {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_VIDEO_OUT, 14, "vo_directx", XINE_VERSION_CODE, &vo_info_win32, init_class },
+ { PLUGIN_VIDEO_OUT, 15, "vo_directx", XINE_VERSION_CODE, &vo_info_win32, init_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/video_out/video_out_fb.c b/src/video_out/video_out_fb.c
index b88d915a5..aa63a3381 100644
--- a/src/video_out/video_out_fb.c
+++ b/src/video_out/video_out_fb.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_fb.c,v 1.25 2003/03/19 15:29:27 holstsn Exp $
+ * $Id: video_out_fb.c,v 1.26 2003/05/31 18:33:30 miguelfreitas Exp $
*
* video_out_fb.c, frame buffer xine driver by Miguel Freitas
*
@@ -582,7 +582,7 @@ static void fb_display_frame(vo_driver_t *this_gen, vo_frame_t *frame_gen)
if(this->use_zero_copy)
{
if(this->old_frame)
- this->old_frame->vo_frame.displayed
+ this->old_frame->vo_frame.free
(&this->old_frame->vo_frame);
this->old_frame = this->cur_frame;
this->cur_frame = frame;
@@ -605,7 +605,7 @@ static void fb_display_frame(vo_driver_t *this_gen, vo_frame_t *frame_gen)
dst += this->fb_bytes_per_line;
}
- frame->vo_frame.displayed(&frame->vo_frame);
+ frame->vo_frame.free(&frame->vo_frame);
}
}
@@ -1053,7 +1053,7 @@ plugin_info_t xine_plugin_info[] =
/* type, API, "name", version, special_info, init_function */
{
PLUGIN_VIDEO_OUT,
- 14,
+ 15,
"fb",
XINE_VERSION_CODE,
&vo_info_fb, fb_init_class
diff --git a/src/video_out/video_out_none.c b/src/video_out/video_out_none.c
index c94c0e8e3..2cb01977b 100644
--- a/src/video_out/video_out_none.c
+++ b/src/video_out/video_out_none.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_none.c,v 1.13 2003/03/04 10:30:29 mroi Exp $
+ * $Id: video_out_none.c,v 1.14 2003/05/31 18:33:31 miguelfreitas Exp $
*
* Was originally part of toxine frontend.
* ...but has now been adapted to xine coding style standards ;)
@@ -169,7 +169,7 @@ static void none_display_frame(vo_driver_t *vo_driver, vo_frame_t *vo_frame) {
/* none_driver_t *driver = (none_driver_t *)vo_driver; */
none_frame_t *frame = (none_frame_t *)vo_frame;
- frame->vo_frame.displayed(&frame->vo_frame);
+ frame->vo_frame.free(&frame->vo_frame);
}
static int none_get_property(vo_driver_t *vo_driver, int property) {
@@ -302,6 +302,6 @@ static vo_info_t vo_info_none = {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_VIDEO_OUT, 14, "none", XINE_VERSION_CODE, &vo_info_none, init_class },
+ { PLUGIN_VIDEO_OUT, 15, "none", XINE_VERSION_CODE, &vo_info_none, init_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/video_out/video_out_opengl.c b/src/video_out/video_out_opengl.c
index 870f2b6d3..8ec4447f7 100644
--- a/src/video_out/video_out_opengl.c
+++ b/src/video_out/video_out_opengl.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_opengl.c,v 1.25 2003/02/28 02:51:51 storri Exp $
+ * $Id: video_out_opengl.c,v 1.26 2003/05/31 18:33:31 miguelfreitas Exp $
*
* video_out_glut.c, glut based OpenGL rendering interface for xine
* Matthias Hopf <mat@mshopf.de>
@@ -731,7 +731,7 @@ static void opengl_display_frame (vo_driver_t *this_gen, vo_frame_t *frame_gen)
* multiple threads rendering in many OpenGL implementations) */
/* FIXME: check that */
#if 1
- frame->vo_frame.displayed (&frame->vo_frame);
+ frame->vo_frame.free (&frame->vo_frame);
#endif
DEBUGF ((stderr, "done display_frame\n"));
}
@@ -999,7 +999,7 @@ static vo_info_t vo_info_opengl = {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_VIDEO_OUT, 14, "opengl", XINE_VERSION_CODE,
+ { PLUGIN_VIDEO_OUT, 15, "opengl", XINE_VERSION_CODE,
&vo_info_opengl, opengl_init_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/video_out/video_out_pgx64.c b/src/video_out/video_out_pgx64.c
index 009036f6e..cf1289c22 100644
--- a/src/video_out/video_out_pgx64.c
+++ b/src/video_out/video_out_pgx64.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_pgx64.c,v 1.27 2003/05/12 07:07:12 komadori Exp $
+ * $Id: video_out_pgx64.c,v 1.28 2003/05/31 18:33:31 miguelfreitas Exp $
*
* video_out_pgx64.c, Sun PGX64/PGX24 output plugin for xine
*
@@ -472,7 +472,7 @@ static void pgx64_display_frame(pgx64_driver_t *this, pgx64_frame_t *frame)
}
if ((this->current != NULL) && (this->current != frame)) {
- frame->vo_frame.displayed(&this->current->vo_frame);
+ frame->vo_frame.free(&this->current->vo_frame);
}
this->current = frame;
}
@@ -886,8 +886,8 @@ static pgx64_driver_class_t* pgx64fb_init_class(xine_t *xine, void *visual_gen)
plugin_info_t xine_plugin_info[] = {
#ifdef HAVE_X11
- {PLUGIN_VIDEO_OUT, 14, "pgx64", XINE_VERSION_CODE, &vo_info_pgx64, (void*)pgx64_init_class},
+ {PLUGIN_VIDEO_OUT, 15, "pgx64", XINE_VERSION_CODE, &vo_info_pgx64, (void*)pgx64_init_class},
#endif
- {PLUGIN_VIDEO_OUT, 14, "pgx64fb", XINE_VERSION_CODE, &vo_info_pgx64fb, (void*)pgx64fb_init_class},
+ {PLUGIN_VIDEO_OUT, 15, "pgx64fb", XINE_VERSION_CODE, &vo_info_pgx64fb, (void*)pgx64fb_init_class},
{PLUGIN_NONE, 0, "", 0, NULL, NULL}
};
diff --git a/src/video_out/video_out_sdl.c b/src/video_out/video_out_sdl.c
index 7729cba3a..b83a18dec 100644
--- a/src/video_out/video_out_sdl.c
+++ b/src/video_out/video_out_sdl.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_sdl.c,v 1.24 2003/05/14 16:27:22 mroi Exp $
+ * $Id: video_out_sdl.c,v 1.25 2003/05/31 18:33:31 miguelfreitas Exp $
*
* video_out_sdl.c, Simple DirectMedia Layer
*
@@ -344,7 +344,7 @@ static void sdl_display_frame (vo_driver_t *this_gen, vo_frame_t *frame_gen) {
clip_rect.h = this->sc.output_height;
SDL_DisplayYUVOverlay (frame->overlay, &clip_rect);
- frame->vo_frame.displayed (&frame->vo_frame);
+ frame->vo_frame.free (&frame->vo_frame);
pthread_mutex_unlock(&this->mutex);
}
@@ -595,6 +595,6 @@ static vo_info_t vo_info_sdl = {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_VIDEO_OUT, 14, "sdl", XINE_VERSION_CODE, &vo_info_sdl, init_class },
+ { PLUGIN_VIDEO_OUT, 15, "sdl", XINE_VERSION_CODE, &vo_info_sdl, init_class },
{ PLUGIN_NONE, 0, "" , 0 , NULL, NULL}
};
diff --git a/src/video_out/video_out_syncfb.c b/src/video_out/video_out_syncfb.c
index ba241b580..064895fd2 100644
--- a/src/video_out/video_out_syncfb.c
+++ b/src/video_out/video_out_syncfb.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_syncfb.c,v 1.84 2003/01/29 15:34:28 miguelfreitas Exp $
+ * $Id: video_out_syncfb.c,v 1.85 2003/05/31 18:33:31 miguelfreitas Exp $
*
* video_out_syncfb.c, SyncFB (for Matrox G200/G400 cards) interface for xine
*
@@ -299,7 +299,7 @@ static void write_frame_sfb(syncfb_driver_t* this, syncfb_frame_t* frame)
break;
}
- frame->vo_frame.displayed(&frame->vo_frame);
+ frame->vo_frame.free(&frame->vo_frame);
}
void free_framedata(syncfb_frame_t* frame)
@@ -603,7 +603,7 @@ static void syncfb_display_frame(vo_driver_t* this_gen, vo_frame_t* frame_gen)
if(this->overlay_state) {
if(this->bufinfo.id != -1) {
printf("video_out_syncfb: error. (invalid syncfb image buffer state)\n");
- frame->vo_frame.displayed(&frame->vo_frame);
+ frame->vo_frame.free(&frame->vo_frame);
return;
}
@@ -613,7 +613,7 @@ static void syncfb_display_frame(vo_driver_t* this_gen, vo_frame_t* frame_gen)
if(this->bufinfo.id == -1) {
printf("video_out_syncfb: error. (syncfb module couldn't allocate image buffer)\n");
- frame->vo_frame.displayed(&frame->vo_frame);
+ frame->vo_frame.free(&frame->vo_frame);
/*
* there are several "fixable" situations when this request will fail.
@@ -634,7 +634,7 @@ static void syncfb_display_frame(vo_driver_t* this_gen, vo_frame_t* frame_gen)
printf("video_out_syncfb: error. (commit ioctl failed)\n");
}
else
- frame->vo_frame.displayed(&frame->vo_frame);
+ frame->vo_frame.free(&frame->vo_frame);
this->bufinfo.id = -1;
}
@@ -1057,7 +1057,7 @@ static vo_info_t vo_info_syncfb = {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_VIDEO_OUT, 14, "SyncFB", XINE_VERSION_CODE, &vo_info_syncfb, init_class },
+ { PLUGIN_VIDEO_OUT, 15, "SyncFB", XINE_VERSION_CODE, &vo_info_syncfb, init_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/video_out/video_out_vidix.c b/src/video_out/video_out_vidix.c
index ab4262e5c..551451aef 100644
--- a/src/video_out/video_out_vidix.c
+++ b/src/video_out/video_out_vidix.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_vidix.c,v 1.43 2003/05/02 01:10:10 jstembridge Exp $
+ * $Id: video_out_vidix.c,v 1.44 2003/05/31 18:33:31 miguelfreitas Exp $
*
* video_out_vidix.c
*
@@ -641,7 +641,7 @@ static void vidix_display_frame (vo_driver_t *this_gen, vo_frame_t *frame_gen) {
this->next_frame=(this->next_frame+1)%this->vidix_play.num_frames;
}
- frame->vo_frame.displayed(frame_gen);
+ frame->vo_frame.free(frame_gen);
pthread_mutex_unlock(&this->mutex);
}
@@ -1228,10 +1228,10 @@ static vo_info_t vo_info_vidixfb = {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
#ifdef HAVE_X11
- { PLUGIN_VIDEO_OUT, 14, "vidix", XINE_VERSION_CODE, &vo_info_vidix, vidix_init_class },
+ { PLUGIN_VIDEO_OUT, 15, "vidix", XINE_VERSION_CODE, &vo_info_vidix, vidix_init_class },
#endif
#ifdef HAVE_FB
- { PLUGIN_VIDEO_OUT, 14, "vidixfb", XINE_VERSION_CODE, &vo_info_vidixfb, vidixfb_init_class },
+ { PLUGIN_VIDEO_OUT, 15, "vidixfb", XINE_VERSION_CODE, &vo_info_vidixfb, vidixfb_init_class },
#endif
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/video_out/video_out_xshm.c b/src/video_out/video_out_xshm.c
index 14d17299f..b4bb0ec5d 100644
--- a/src/video_out/video_out_xshm.c
+++ b/src/video_out/video_out_xshm.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_xshm.c,v 1.110 2003/05/26 11:33:01 hadess Exp $
+ * $Id: video_out_xshm.c,v 1.111 2003/05/31 18:33:31 miguelfreitas Exp $
*
* video_out_xshm.c, X11 shared memory extension interface for xine
*
@@ -734,7 +734,7 @@ static void xshm_display_frame (vo_driver_t *this_gen, vo_frame_t *frame_gen) {
|| (this->cur_frame->sc.output_yoffset != frame->sc.output_yoffset) )
clean_output_area (this, frame);
- this->cur_frame->vo_frame.displayed (&this->cur_frame->vo_frame);
+ this->cur_frame->vo_frame.free (&this->cur_frame->vo_frame);
}
this->cur_frame = frame;
@@ -1289,6 +1289,6 @@ static vo_info_t vo_info_xshm = {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_VIDEO_OUT, 14, "xshm", XINE_VERSION_CODE, &vo_info_xshm, xshm_init_class },
+ { PLUGIN_VIDEO_OUT, 15, "xshm", XINE_VERSION_CODE, &vo_info_xshm, xshm_init_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};
diff --git a/src/video_out/video_out_xv.c b/src/video_out/video_out_xv.c
index c90826281..b62e192c5 100644
--- a/src/video_out/video_out_xv.c
+++ b/src/video_out/video_out_xv.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_xv.c,v 1.168 2003/05/26 11:35:52 hadess Exp $
+ * $Id: video_out_xv.c,v 1.169 2003/05/31 18:33:31 miguelfreitas Exp $
*
* video_out_xv.c, X11 video extension interface for xine
*
@@ -636,7 +636,7 @@ static void xv_add_recent_frame (xv_driver_t *this, xv_frame_t *frame) {
i = VO_NUM_RECENT_FRAMES-1;
if( this->recent_frames[i] )
- this->recent_frames[i]->vo_frame.displayed
+ this->recent_frames[i]->vo_frame.free
(&this->recent_frames[i]->vo_frame);
for( ; i ; i-- )
@@ -654,7 +654,7 @@ static void xv_flush_recent_frames (xv_driver_t *this) {
for( i=0; i < VO_NUM_RECENT_FRAMES; i++ )
{
if( this->recent_frames[i] )
- this->recent_frames[i]->vo_frame.displayed
+ this->recent_frames[i]->vo_frame.free
(&this->recent_frames[i]->vo_frame);
this->recent_frames[i] = NULL;
}
@@ -1466,7 +1466,7 @@ static vo_info_t vo_info_xv = {
plugin_info_t xine_plugin_info[] = {
/* type, API, "name", version, special_info, init_function */
- { PLUGIN_VIDEO_OUT, 14, "xv", XINE_VERSION_CODE, &vo_info_xv, init_class },
+ { PLUGIN_VIDEO_OUT, 15, "xv", XINE_VERSION_CODE, &vo_info_xv, init_class },
{ PLUGIN_NONE, 0, "", 0, NULL, NULL }
};