[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