[vlc-devel] [PATCH v2 3/3] video_output: remove the private pool
Steve Lhomme
robux4 at ycbcr.xyz
Thu Aug 20 10:15:22 CEST 2020
On 2020-08-20 10:12, Rémi Denis-Courmont wrote:
> Hi,
>
> Ok. We should probably remove picture_pool_Reserve() later.
Do you mean removing the display pool but keeping the private pool for now ?
> Le 17 août 2020 16:33:01 GMT+02:00, Steve Lhomme <robux4 at ycbcr.xyz> a
> écrit :
>
> ------------------------------------------------------------------------
> src/video_output/video_output.c | 3 +--
> src/video_output/vout_private.h | 1 -
> src/video_output/vout_wrapper.c | 30 +++++-------------------------
> 3 files changed, 6 insertions(+), 28 deletions(-)
>
> diff --git a/src/video_output/video_output.c b/src/video_output/video_output.c
> index 09aaa10e98a..def6875cea0 100644
> --- a/src/video_output/video_output.c
> +++ b/src/video_output/video_output.c
> @@ -1703,7 +1703,6 @@ static int vout_Start(vout_thread_sys_t *vout, vlc_video_context *vctx, const vo
>
> sys->decoder_fifo = picture_fifo_New();
> sys->private.display_pool = NULL;
> - sys->private.private_pool = NULL;
>
> sys->filter.configuration = NULL;
> video_format_Copy(&sys->filter.src_fmt, &sys->original);
> @@ -1784,7 +1783,7 @@ static int vout_Start(vout_thread_sys_t *vout, vlc_video_context *vctx, const vo
> vout_SetDisplayAspect(sys->display, num, den);
> vlc_mutex_unlock(&sys->display_lock);
>
> - assert(sys->private.display_pool != NULL && sys->private.private_pool != NULL);
> + assert(sys->private.display_pool != NULL);
>
> sys->displayed.current = NULL;
> sys->displayed.next = NULL;
> diff --git a/src/video_output/vout_private.h b/src/video_output/vout_private.h
> index 261dcc30fe4..cb4c0bde6a8 100644
> --- a/src/video_output/vout_private.h
> +++ b/src/video_output/vout_private.h
> @@ -43,7 +43,6 @@ struct vout_thread_private_t
> vlc_tick_t date;
> } interlacing;
>
> - picture_pool_t *private_pool;
> picture_pool_t *display_pool;
> };
>
> diff --git a/src/video_output/vout_wrapper.c b/src/video_output/vout_wrapper.c
> index 6445f99b7a2..6e751f4c238 100644
> --- a/src/video_output/vout_wrapper.c
> +++ b/src/video_output/vout_wrapper.c
> @@ -79,39 +79,20 @@ vout_display_t *vout_OpenWrapper(vout_thread_t *vout, vout_thread_private_t *sys
> if (vd == NULL)
> return NULL;
>
> - sys->display_pool = NULL;
> -
> - const unsigned private_picture = 4; /* XXX 3 for filter, 1 for SPU */
> const unsigned kept_picture = 1; /* last displayed picture */
> const unsigned reserved_picture = DISPLAY_PICTURE_COUNT +
> - private_picture +
> kept_picture;
>
> - picture_pool_t *display_pool = vout_GetPool(vd, reserved_picture);
> - if (display_pool == NULL)
> + sys->display_pool = vout_GetPool(vd, reserved_picture);
> + if (sys->display_pool == NULL)
> goto error;
>
> #ifndef NDEBUG
> - if ( picture_pool_GetSize(display_pool) < reserved_picture )
> + if ( picture_pool_GetSize(sys->display_pool) < reserved_picture )
> msg_Warn(vout, "Not enough display buffers in the pool, requested %u got %u",
> - reserved_picture, picture_pool_GetSize(display_pool));
> + reserved_picture, picture_pool_GetSize(sys->display_pool));
> #endif
>
> - if (!vout_IsDisplayFiltered(vd) &&
> - picture_pool_GetSize(display_pool) >= reserved_picture) {
> - sys->private_pool = picture_pool_Reserve(display_pool, private_picture);
> - } else {
> - sys->private_pool =
> - picture_pool_NewFromFormat(&vd->source,
> - __MAX(VOUT_MAX_PICTURES,
> - reserved_picture - DISPLAY_PICTURE_COUNT));
> - }
> - if (sys->private_pool == NULL) {
> - picture_pool_Release(display_pool);
> - goto error;
> - }
> - sys->display_pool = display_pool;
> -
> #ifdef _WIN32
> var_Create(vout, "video-wallpaper", VLC_VAR_BOOL|VLC_VAR_DOINHERIT);
> var_AddCallback(vout, "video-wallpaper", Forward, vd);
> @@ -130,9 +111,8 @@ error:
> *****************************************************************************/
> void vout_CloseWrapper(vout_thread_t *vout, vout_thread_private_t *sys, vout_display_t *vd)
> {
> - assert(sys->display_pool && sys->private_pool);
> + assert(sys->display_pool);
>
> - picture_pool_Release(sys->private_pool);
> sys->display_pool = NULL;
>
> #ifdef _WIN32
>
>
> --
> Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser
> ma brièveté.
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
>
More information about the vlc-devel
mailing list