- Nov 26, 2020
-
-
Romain Vimont authored
This avoids small freezes of the UI thread.
-
Romain Vimont authored
Make the list cache use an async task for executing the count() call.
-
Romain Vimont authored
Make the list cache use async tasks to load the data asynchronously (and notify data changes once available).
-
Romain Vimont authored
This helper will help implementing asynchronous database queries initiated on the UI thread by list models.
-
Romain Vimont authored
The database queries, initiated by list models, must be executed asynchronously (on a thread different from the UI thread). When a list model is destroyed (from the UI thread), some database queries might still be executing. It would be incorrect for the list model to wait for them (it would block the UI thread), so they must be executed on an external thread pool. Since the queries themselves require the medialib to be executed, they must not outlive it (or the asynchronous code might crash). Therefore, the right scope for executing asynchronous queries is the MediaLib instance.
-
Romain Vimont authored
When the database queries are executed asynchronously, we must still be able to delete a list model from the main thread without blocking. As a consequence, the data loader must be able to outlive the list model instance; this implies that loading data must not involve calling methods on the list model itself (fetch() and countTotalElements()). Nevertheless, the actual data to load depends on the list model (the content is not the same between a list of videos and a list of albums). To be able to detach the lifetime of the data loader from the one of the list model, make the list models provide loader instances on demand, instead of implementing the loading methods directly.
-
Romain Vimont authored
Currently, the loader is owned by MLModelCache, but in the future it might outlive it: database queries will be executed from a separate thread, and MLModelCache could be deleted while an asynchronous request is running. To prepare for this change, do not require to receive the loader via a std::unique_ptr (let the cache wrap it).
-
Romain Vimont authored
Use the new list cache. For now, the cache loader just delegates calls to the model.
-
Romain Vimont authored
Add a separate class to provide local data caching, independant of the MLBaseModel implementation. It will be used in further commits.
-
Romain Vimont authored
MLSlidingWindowModel declares two pure virtual methods to be implemented by subclasses: - countTotalElements() - fetch() The query parameters to use were implicitly defined by the class fields. Instead, pass them explicitly. This paves the way to implement a separate cache and execute queries from a separate thread.
-
Romain Vimont authored
The count is initialized by a call to rowCount(), which must be called before calling item().
-
Romain Vimont authored
-
Romain Vimont authored
The fetch() methods returns the data it loads, it does not need access (except possibly to mutable fields for caching). This makes it consistent with countTotalElements().
-
-
François Cartegnie authored
mishandled in lookups. should be enforced in parsing. refs VLCKit/-/issues/382
-
Hugo Beauzée-Luyssen authored
-
Hugo Beauzée-Luyssen authored
Instead of allocating an empty array for nothing
-
François Cartegnie authored
invalid deref from -1 promotion 0e9db4f7
-
- Nov 25, 2020
-
-
Hugo Beauzée-Luyssen authored
sout_instance_ControlsPace is not built nor provided by missing.c when building with --disable-sout
-
Hugo Beauzée-Luyssen authored
-
As pointed out in #25055 the choice of url option delimiter is probably meant to be that way. std::string.find() returns std::string::npos (aka -1) in case of no match. Signed-off-by: Thomas Guillem <thomas@gllm.fr>
-
Steve Lhomme authored
-
Steve Lhomme authored
-
Steve Lhomme authored
For now we don't list other devices
-
Steve Lhomme authored
After a mute it seems we need to tell report the new volume otherwise it assumes it's 0. We keep the gain so we can compute the proper volume to report on mute.
-
Steve Lhomme authored
-
Steve Lhomme authored
The requested device is set to the default one in Open and requires the MTA setup in order for the activation to work. Otherwise it deadlocks.
-
Steve Lhomme authored
It must be free'd with CoTaskMemFree and only once.
-
Steve Lhomme authored
The aout_dev_t type doesn't need to be shared anymore.
-
- Nov 23, 2020
-
-
Signed-off-by: Pierre Lamot <pierre@videolabs.io>
-
Signed-off-by: Pierre Lamot <pierre@videolabs.io>
-
Signed-off-by: Pierre Lamot <pierre@videolabs.io>
-
this fixes the animation issue that occurs when Qt 5.15 is used Signed-off-by: Pierre Lamot <pierre@videolabs.io>
-
set '_colors' property when forcing colors Signed-off-by: Pierre Lamot <pierre@videolabs.io>
-
Signed-off-by: Pierre Lamot <pierre@videolabs.io>
-
Signed-off-by: Pierre Lamot <pierre@videolabs.io>
-
Signed-off-by: Pierre Lamot <pierre@videolabs.io>
-
due to an incident, a preliminary and incomplete version of "enable aligned player controlbar customization" patch was merged. this update ensures that the latest and the most tested version of the patch is available. Signed-off-by: Pierre Lamot <pierre@videolabs.io>
-
Steve Lhomme authored
The has_deint value can never be true at this point. This code is even dead in 3.0 as DeinterlaceCallback was not called in the init either.
-
Steve Lhomme authored
It's not used by anyone and doesn't match the string of the same core variable.
-