diff options
author | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2003-05-31 18:33:28 +0000 |
---|---|---|
committer | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2003-05-31 18:33:28 +0000 |
commit | af85be8db56a088a7689baf9f4d1d67c2ee0decf (patch) | |
tree | 9576e1b0c2b3872fe6b26562fcd1ce98eeba8b9b /src/video_out | |
parent | 0306990681bdf214741c6ab2798b47bf8e578c97 (diff) | |
download | xine-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.c | 6 | ||||
-rw-r--r-- | src/video_out/video_out_directfb.c | 6 | ||||
-rwxr-xr-x | src/video_out/video_out_directx.c | 6 | ||||
-rw-r--r-- | src/video_out/video_out_fb.c | 8 | ||||
-rw-r--r-- | src/video_out/video_out_none.c | 6 | ||||
-rw-r--r-- | src/video_out/video_out_opengl.c | 6 | ||||
-rw-r--r-- | src/video_out/video_out_pgx64.c | 8 | ||||
-rw-r--r-- | src/video_out/video_out_sdl.c | 6 | ||||
-rw-r--r-- | src/video_out/video_out_syncfb.c | 12 | ||||
-rw-r--r-- | src/video_out/video_out_vidix.c | 8 | ||||
-rw-r--r-- | src/video_out/video_out_xshm.c | 6 | ||||
-rw-r--r-- | src/video_out/video_out_xv.c | 8 |
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 } }; |