[vlc-devel] [PATCH 0/5] qt: medialib: avoid blocking the UI thread for generating thumbnails
Hugo Beauzée-Luyssen
hugo at beauzee.fr
Thu Jan 7 14:05:04 UTC 2021
On Thu, Jan 7, 2021, at 2:23 PM, Romain Vimont wrote:
> In the VLC medialibrary module, the control VLC_ML_MEDIA_GENERATE_THUMBNAIL,
> called from the UI thread, requests asynchronous thumbnail generation.
>
> However, even if the generation was asynchronous, the control itself executed
> I/O calls on the UI thread:
> 1. it executed a SQL query to retrieve a Media from a media id (so that it
> could call requestThumbnail()).
> 2. the Init() and Start() calls (to initialize the medialib and start
> discovery), called on every thumbnail generation request, executed some SQL
> queries or blocked on the medialibrary mutex (hold during SQL queries).
>
> To solve the first issue, a new medialib API has been added for asynchronous
> thumbnail generation from a media id:
> https://code.videolan.org/videolan/medialibrary/-/merge_requests/350
> This patchset bumps the medialibrary version and uses it.
>
> For the second issue, the Init()/Start() calls are improved to guarantee that
> they do not cause any I/O except on the very first call (the actual
> initialization/starting), which can be an acceptable compromise for now.
>
> Branch: https://code.videolan.org/rom1v/vlc/-/commits/async_thumbnails
>
> Regards
>
> Romain Vimont (5):
> medialib: rename medialib.cpp to medialibrary.cpp
> medialib: bump contrib & reflect API changes
> medialib: fix initialization
> medialib: improve starting
> qt: medialib: use new requestThumbnail() API
>
> configure.ac | 2 +-
> contrib/src/medialibrary/rules.mak | 4 +-
> modules/misc/Makefile.am | 2 +-
> modules/misc/medialibrary/fs/file.cpp | 2 +-
> modules/misc/medialibrary/fs/file.h | 2 +-
> .../{medialib.cpp => medialibrary.cpp} | 37 ++++++++++++-------
> modules/misc/medialibrary/medialibrary.h | 5 +++
> po/POTFILES.in | 2 +-
> 8 files changed, 35 insertions(+), 21 deletions(-)
> rename modules/misc/medialibrary/{medialib.cpp => medialibrary.cpp} (98%)
>
The set LGTM
--
Hugo Beauzée-Luyssen
hugo at beauzee.fr
More information about the vlc-devel
mailing list