VLC 4.0.0-dev
Loading...
Searching...
No Matches
LibVLC media discovery

LibVLC media discovery finds available media via various means. More...

Collaboration diagram for LibVLC media discovery:

Files

file  libvlc_media_discoverer.h
 LibVLC media discovery external API.

Data Structures

struct  libvlc_media_discoverer_cbs
 struct defining callbacks for libvlc_media_discoverer_new() More...

Typedefs

typedef struct libvlc_media_discoverer_t libvlc_media_discoverer_t

Functions

LIBVLC_API libvlc_media_discoverer_tlibvlc_media_discoverer_new (libvlc_instance_t *p_inst, const char *psz_name, const struct libvlc_media_discoverer_cbs *cbs, void *cbs_opaque)
 Create a media discoverer object by name.
LIBVLC_API int libvlc_media_discoverer_start (libvlc_media_discoverer_t *p_mdis)
 Start media discovery.
LIBVLC_API void libvlc_media_discoverer_stop (libvlc_media_discoverer_t *p_mdis)
 Stop media discovery.
LIBVLC_API void libvlc_media_discoverer_destroy (libvlc_media_discoverer_t *p_mdis)
 Destroy a media discoverer object.
LIBVLC_API bool libvlc_media_discoverer_is_running (libvlc_media_discoverer_t *p_mdis)
 Query if media service discover object is running.
LIBVLC_API size_t libvlc_media_discoverer_list_get (libvlc_instance_t *p_inst, libvlc_media_discoverer_category_t i_cat, libvlc_media_discoverer_description_t ***ppp_services)
 Get media discoverer services by category.
LIBVLC_API void libvlc_media_discoverer_list_release (libvlc_media_discoverer_description_t **pp_services, size_t i_count)
 Release an array of media discoverer services.

Detailed Description

LibVLC media discovery finds available media via various means.

This corresponds to the service discovery functionality in VLC media player. Different plugins find potential medias locally (e.g. user media directory), from peripherals (e.g. video capture device), on the local network (e.g. SAP) or on the Internet (e.g. Internet radios).

Typedef Documentation

◆ libvlc_media_discoverer_t

Function Documentation

◆ libvlc_media_discoverer_destroy()

LIBVLC_API void libvlc_media_discoverer_destroy ( libvlc_media_discoverer_t * p_mdis)

Destroy a media discoverer object.

If the discovery is running, it will be stopped first.

Parameters
p_mdismedia service discover object
Version
LibVLC 4.0.0 or later

References LIBVLC_API.

◆ libvlc_media_discoverer_is_running()

LIBVLC_API bool libvlc_media_discoverer_is_running ( libvlc_media_discoverer_t * p_mdis)

Query if media service discover object is running.

Parameters
p_mdismedia service discover object
Return values
truerunning
falsenot running

References LIBVLC_API.

◆ libvlc_media_discoverer_list_get()

LIBVLC_API size_t libvlc_media_discoverer_list_get ( libvlc_instance_t * p_inst,
libvlc_media_discoverer_category_t i_cat,
libvlc_media_discoverer_description_t *** ppp_services )

Get media discoverer services by category.

Version
LibVLC 3.0.0 and later.
Parameters
p_instlibvlc instance
i_catcategory of services to fetch
ppp_servicesaddress to store an allocated array of media discoverer services (must be freed with libvlc_media_discoverer_list_release() by the caller) [OUT]
Returns
the number of media discoverer services (0 on error)

References LIBVLC_API.

◆ libvlc_media_discoverer_list_release()

LIBVLC_API void libvlc_media_discoverer_list_release ( libvlc_media_discoverer_description_t ** pp_services,
size_t i_count )

Release an array of media discoverer services.

Version
LibVLC 3.0.0 and later.
See also
libvlc_media_discoverer_list_get()
Parameters
pp_servicesarray to release
i_countnumber of elements in the array

◆ libvlc_media_discoverer_new()

LIBVLC_API libvlc_media_discoverer_t * libvlc_media_discoverer_new ( libvlc_instance_t * p_inst,
const char * psz_name,
const struct libvlc_media_discoverer_cbs * cbs,
void * cbs_opaque )

Create a media discoverer object by name.

You need to call libvlc_media_discoverer_start() in order to start the discovery.

See also
libvlc_media_discoverer_start
Parameters
p_instlibvlc instance
psz_nameservice name; use libvlc_media_discoverer_list_get() to get a list of the discoverer names available in this libVLC instance
cbscallback to listen to events (can be NULL). The pointed struct must be kept alive (and not modified) by the caller until the returned object is destroyed with libvlc_media_discoverer_destroy().
cbs_opaqueopaque pointer used by the callbacks
Returns
media discover object or NULL in case of error
Version
LibVLC 3.0.0 or later

References LIBVLC_API, and psz_name.

◆ libvlc_media_discoverer_start()

LIBVLC_API int libvlc_media_discoverer_start ( libvlc_media_discoverer_t * p_mdis)

Start media discovery.

To stop it, call libvlc_media_discoverer_stop() or libvlc_media_discoverer_destroy() directly.

See also
libvlc_media_discoverer_stop
Parameters
p_mdismedia discover object
Returns
-1 in case of error, 0 otherwise
Version
LibVLC 3.0.0 or later

References LIBVLC_API.

◆ libvlc_media_discoverer_stop()

LIBVLC_API void libvlc_media_discoverer_stop ( libvlc_media_discoverer_t * p_mdis)

Stop media discovery.

See also
libvlc_media_discoverer_start
Parameters
p_mdismedia discover object
Version
LibVLC 3.0.0 or later

References LIBVLC_API.