[vlc-devel] [PATCH 2/5] android:display: don't lock pictures via the pool
Rémi Denis-Courmont
remi at remlab.net
Tue Feb 26 09:59:11 CET 2019
Hi,
Even with pull-buffers, I don't see any justification for pool lock/unlock. If you don't want a certain picture buffer to be "locked", just keep it held. Only release the picture buffer once it is ready to be reused.
Le 26 février 2019 10:34:28 GMT+02:00, Steve Lhomme <robux4 at ycbcr.xyz> a écrit :
>On 25/02/2019 16:53, Thomas Guillem wrote:
>> I prefer that you don't touch android for now. It's OK to break the
>VLC4.0 Android build, it is regularly broken and not tested/used by the
>vlc-android app.
>
>I'm not entirely sure we can get rid of the lock in pools yet so I
>don't
>think I will push for now. It will also break MMAL support. I don't
>know
>if some bots build that and if it's OK to break it or even remove it
>(it
>would need a bit of cleaning up and adapting if we get rid of all the
>"external" display pools).
>
>>
>> On Mon, Feb 25, 2019, at 15:49, Steve Lhomme wrote:
>>> Not sure if decoding will still work if the pictures are unlocked by
>default
>>> during decoding.
>>> This pool will probably move in the decoder anyway. The unlock/lock
>might have
>>> to be done in the Display() if displaying locked pictures is not
>possible.
>>> ---
>>> modules/video_output/android/display.c | 9 ++++-----
>>> 1 file changed, 4 insertions(+), 5 deletions(-)
>>>
>>> diff --git a/modules/video_output/android/display.c
>>> b/modules/video_output/android/display.c
>>> index 73767fcd09..e0f45109b0 100644
>>> --- a/modules/video_output/android/display.c
>>> +++ b/modules/video_output/android/display.c
>>> @@ -794,10 +794,8 @@ static picture_pool_t *PoolAlloc(vout_display_t
>>> *vd, unsigned requested_count)
>>> pp_pics[i] = p_pic;
>>> }
>>>
>>> - picture_pool_configuration_t pool_cfg;
>>> - memset(&pool_cfg, 0, sizeof(pool_cfg));
>>> - pool_cfg.picture_count = requested_count;
>>> - pool_cfg.picture = pp_pics;
>>> +#if 0
>>> + /* we could do the lock/copy/unlock in Prepare() */
>>> if (sys->p_window->b_opaque)
>>> {
>>> pool_cfg.lock = PoolLockOpaquePicture;
>>> @@ -808,7 +806,8 @@ static picture_pool_t *PoolAlloc(vout_display_t
>>> *vd, unsigned requested_count)
>>> pool_cfg.lock = PoolLockPicture;
>>> pool_cfg.unlock = PoolUnlockPicture;
>>> }
>>> - pool = picture_pool_NewExtended(&pool_cfg);
>>> +#endif
>>> + pool = picture_pool_New(requested_count, pp_pics);
>>>
>>> error:
>>> if (!pool && pp_pics) {
>>> --
>>> 2.17.1
>>>
>>> _______________________________________________
>>> vlc-devel mailing list
>>> To unsubscribe or modify your subscription options:
>>> https://mailman.videolan.org/listinfo/vlc-devel
>> _______________________________________________
>> vlc-devel mailing list
>> To unsubscribe or modify your subscription options:
>> https://mailman.videolan.org/listinfo/vlc-devel
>
>_______________________________________________
>vlc-devel mailing list
>To unsubscribe or modify your subscription options:
>https://mailman.videolan.org/listinfo/vlc-devel
--
Envoyé de mon appareil Android avec Courriel K-9 Mail. Veuillez excuser ma brièveté.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20190226/e92385f7/attachment.html>
More information about the vlc-devel
mailing list