X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=modules%2Fvideo_output%2Fdirectfb.c;h=fd18cbbe905f1378d8b8187f4f88579eced8b12f;hb=c8b51e05d71834aefd11c5d89bf193132bd1305d;hp=2378e81175356fa71ac5421c9abcd40f577337bc;hpb=03a5ec2b92bb997dabba8061f22bf855eb696843;p=vlc diff --git a/modules/video_output/directfb.c b/modules/video_output/directfb.c index 2378e81175..fd18cbbe90 100644 --- a/modules/video_output/directfb.c +++ b/modules/video_output/directfb.c @@ -55,10 +55,10 @@ vlc_module_end() /***************************************************************************** * Local prototypes *****************************************************************************/ -static picture_t *Get (vout_display_t *); -static void Display(vout_display_t *, picture_t *); -static int Control(vout_display_t *, int, va_list); -static void Manage (vout_display_t *); +static picture_pool_t *Pool (vout_display_t *, unsigned); +static void Display(vout_display_t *, picture_t *); +static int Control(vout_display_t *, int, va_list); +static void Manage (vout_display_t *); /* */ static int OpenDisplay (vout_display_t *); @@ -108,6 +108,7 @@ static int Open(vlc_object_t *object) Close(VLC_OBJECT(vd)); return VLC_EGENERIC; } + vout_display_DeleteWindow(vd, NULL); /* */ video_format_t fmt = vd->fmt; @@ -157,7 +158,7 @@ static int Open(vlc_object_t *object) /* */ vd->fmt = fmt; vd->info = info; - vd->get = Get; + vd->pool = Pool; vd->prepare = NULL; vd->display = Display; vd->control = Control; @@ -182,16 +183,13 @@ static void Close(vlc_object_t *object) } /* */ -static picture_t *Get(vout_display_t *vd) +static picture_pool_t *Pool(vout_display_t *vd, unsigned count) { vout_display_sys_t *sys = vd->sys; - if (!sys->pool) { - sys->pool = picture_pool_NewFromFormat(&vd->fmt, 1); - if (!sys->pool) - return NULL; - } - return picture_pool_Get(sys->pool); + if (!sys->pool) + sys->pool = picture_pool_NewFromFormat(&vd->fmt, count); + return sys->pool; } static void Display(vout_display_t *vd, picture_t *picture)