VLC 4.0.0-dev
|
Media source API aims to manage "services discovery" easily from UI clients. More...
#include <vlc_media_source.h>
Data Fields | |
input_item_node_t | root |
Media source API aims to manage "services discovery" easily from UI clients.
A "media source provider", associated to the libvlc instance, allows to retrieve media sources (each associated to a services discovery module).
Requesting a services discovery that is not open will automatically open it. If several "clients" request the same media source (i.e. by requesting the same name), they will receive the same (refcounted) media source instance. As soon as a media source is released by all its clients, the associated services discovery is closed.
Each media source holds a media tree, used to store both the media detected by the services discovery and the media detected by preparsing. Clients may listen to the tree to be notified of changes.
To preparse a media belonging to a media tree, use vlc_media_tree_Preparse(). If subitems are detected during the preparsing, the media tree is updated accordingly. Media tree.
Nodes must be traversed with locked held (vlc_media_tree_Lock()).
input_item_node_t vlc_media_tree::root |
Referenced by media_subtree_changed(), media_subtree_preparse_ended(), services_discovery_item_added(), test_media_tree(), test_media_tree_callbacks(), test_media_tree_callbacks_on_add_listener(), vlc_media_tree_DestroyRootNode(), vlc_media_tree_Find(), vlc_media_tree_New(), vlc_media_tree_NotifyCurrentState(), and vlc_media_tree_Remove().