qt: refactor media tree/source models
Context: A media source is a "front-end" of a service discovery (1-to-1 relationship). It embeds a media tree to expose the tree of media loaded by the service discovery or media added as the result of a preparse (concretely, double-click on a folder or a zip will "expand" new items in the tree).
Currently, the Qt models/views browse a media source, even if semantically, they would only need a media tree.
The purpose of this change is to make NetworkMediaModel
more generic so that it can browse any media tree, even without media source instance. In particular, this will allow to expose a media tree for a specific media (input_item_t
), which is not created from a service discovery.
Changes:
- Make some core functions public (the
vlc_media_tree_t
"methods"). - Use one "callbacks" instance per listener, so that each client can provide its own additional data.
- Refactor
NetworkSourceListener
into aMediaTreeListener
, which is only linked to a media tree, not a media source. - Refactor
NetworkMediaModel
to be totally independent of media sources, andNetworkDeviceModel
store its media source (which is not directly stored in the listener anymore, because it's not meaningful for all clients) in its listener callbacks implementation.
Read individual commit messages for more details (especially qt: use one "callbacks" instance per listener
).
Merge request reports
Activity
changed milestone to %4.0
added Component::Interface: Qt label
added 9 commits
- 0ffce226 - media tree: make functions public
- 137ff445 - qt: remove unused default constructor
- d590a3b6 - qt: remove unnecessary explicit destructor
- 1fe1a469 - qt: use static free functions for C callbacks
- a8f22211 - qt: use one "callbacks" instance per listener
- 0130a4e7 - qt: remove unused include
- 3c148ae1 - qt: remove unused mediaSource
- 35f73306 - qt: avoid unnecessary smart pointer copies
- b7e40ec8 - qt: refactor media tree listener
Toggle commit list- Resolved by Steve Lhomme
- Resolved by Romain Vimont
added 25 commits
-
b7e40ec8...02c95ad3 - 16 commits from branch
videolan:master
- 150b66f7 - media tree: make functions public
- 3530f771 - qt: remove unused default constructor
- f0b4d118 - qt: remove unnecessary explicit destructor
- e77a7195 - qt: use static free functions for C callbacks
- 29723ffe - qt: use one "callbacks" instance per listener
- 742d4aa8 - qt: remove unused include
- 457f139f - qt: remove unused mediaSource
- 71f2cdd8 - qt: avoid unnecessary smart pointer copies
- fb2c5b51 - qt: refactor media tree listener
Toggle commit list-
b7e40ec8...02c95ad3 - 16 commits from branch
added MRStatus::Acceptable label
added MRStatus::Accepted label and removed MRStatus::Acceptable label
MR Acceptance result
This MergeRequest has been Accepted! Congratulations.MR acceptance checks details:
-
MR should be considered mergeable by Gitlab -
Last pipeline should be successful -
MergeRequest should have at least one external review and/or vote -
All threads should be resolved, and score >= 0 -
MergeRequest should have no activity (threads/votes) for (24h/24h)
-
added 114 commits
-
fb2c5b51...9dafb994 - 105 commits from branch
videolan:master
- c808e3e8 - media tree: make functions public
- 07fc99b9 - qt: remove unused default constructor
- 0aeafa2d - qt: remove unnecessary explicit destructor
- 1a9ab8b5 - qt: use static free functions for C callbacks
- eae4b0c0 - qt: use one "callbacks" instance per listener
- baacc656 - qt: remove unused include
- 104fa8e8 - qt: remove unused mediaSource
- b9552485 - qt: avoid unnecessary smart pointer copies
- 7cc8e707 - qt: refactor media tree listener
Toggle commit list-
fb2c5b51...9dafb994 - 105 commits from branch
enabled an automatic merge when the pipeline for 7cc8e707 succeeds