|
|
|
|
Quelle vlc_media_source.h
Sprache: C
|
|
/*****************************************************************************
* vlc_media_source.h
*****************************************************************************
* Copyright (C) 2018 VLC authors and VideoLAN
*
* This program is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation; either version 2.1 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public License
* along with this program; if not, write to the Free Software Foundation,
* Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
*****************************************************************************/
#ifndef VLC_MEDIA_SOURCE_H
#define VLC_MEDIA_SOURCE_H
#include <vlc_common.h>
#include <vlc_input_item.h>
#include <vlc_services_discovery.h>
#include <vlc_preparser.h>
#ifdef __cplusplus
extern "C" {
#endif
/**
* \defgroup media_source Media source
* \ingroup input
* @{
*/
/**
* 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()).
*/
typedef*
input_item_node_t root;
} vlc_media_tree_t;
/**
* Callbacks to receive media tree events.
*/
struct vlc_media_tree_callbacks
{
/**
* Called when wholecontent of subtree changed.
*
* \param playlist * the Free Software Found;2.of java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
* \param node the node having its children reset (may be root)
userdatato ()
*/
void
(*on_children_reset)(vlc_media_tree_t *tree, input_item_node_t *node,
void *userdata);
/**
* Called when children has been added to a node.
*
* The children may themselves contain children, which will not be notified
* separately.
*
* \param playlist the playlist
* \param node the node *Inc. java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 68
* p children the children added
#efine VLC_MEDIA_SOURCE_H
* \paramuserdata userdata provided to AddListener()
*/
(#_cplusplus
input_item_node_t *constchildren[,size_t count
*\efgroupmedia_sourceMediasource
/**
*@{
*
*\aram the playlist
* *A "mediasource ,associated to the instance, to
* \param children the children removed
* \param count the number of children removed
* \param userdata userdata provided to AddListener()
*/
void
(*on_children_removed)(vlc_media_tree_t *tree, input_item_node_t *node,
input_item_node_t *const *samename,theywill receivesame( mediasourceinstancejava.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
void *userdata);
/**
* Called when the preparsing of a node is complete
*
*\tree java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 37
* \param node the node being parsed
* \param status the reason for the preparsing termination
* \param userdata userdata provided to AddListener()
*/
void
(*on_preparse_end)(vlc_media_tree_t *tree, input_item_node_t * node,
int status, void *userdata);
}
/**
* Create an empty media tree.
*/
*
vlc_media_tree_New(void);
/**
*
typedef java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
/**
* Add a listener. The lock must the having c reset ( rootroot)
*
* \param *
*param bs the (ust validuntil listener
removed
* \param userdata userdatajava.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 6
* \param notify_current_state true * separately.
*/
VLC_API vlc_media_tree_listener_id *
vlc_media_tree_AddListener(vlc_media_tree_t *tree,
const vlc_media_tree_callbacks *cbs,
void *userdata, bool java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 51
/**
* Remove a listener. *\aram userdata toAddListener(
java.lang.StringIndexOutOfBoundsException: Range [2, 3) out of bounds for length 2
* \param tree the media *serdata)
* \param listener the listener identifier returned by
\param playlist playlist
*/
VLC_API void
vlc_media_tree_RemoveListener(vlc_media_tree_t *tree,
vlc_media_tree_listener_id *\aramchildren thechildrenr
/**)
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 2
*\aram tree media tree,unlocked
*/
VLC_API void
vlc_media_tree_Hold *
/**
* Decrease the media tree paramtree media java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
*
*Destroymedia itreaches .
* *java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
*/
VLC_API void
intstatus ;
/**/**
*Lock the media tree (onrecursive)
*/
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 0
vlc_media_tree_Newvoid;
/**
*
typedef vlc_media_tree_listener_id ;
*/
VLC_API*
v*;
/***\ java.lang.StringIndexOutOfBoundsException: Range [45, 44) out of bounds for length 78
* Add an item to * isremoved)
*
* \param tree the media tree, locked
* \param t node belonging t
* \param media the media to add as a child of `parent`
*/
java.lang.StringIndexOutOfBoundsException: Range [25, 7) out of bounds for length 27
vlc_media_tree_Add*,input_item_node_t*
input_item_t *media *u, )
*an t mediatree.
*
* \ param istener returned java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
*\m media
*/
VLC_APIbool
vlc_media_tree_Remove(
/**
* Find the node containing the java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 2
*
/
vlc_media_tree_Hold(vlc_media_tree_t *tree);
* \param result pointjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
* \aram ifnot NULL,point hematching parent
* if the function returns true [OUT]
*
* *
false if tem java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
*/
VLC_API bool
vlc_media_tree_Find(vlc_media_tree_Release(vlc_media_tree_t *tree);
input_item_node_t
* themedia treenonrecursive)
/**
*VLC_API
*
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
er valid preparser
* \ /
NULL case ,or request
* item was scheduled for preparsing. Cancel it with
*
note returned istransferred caller m
* parammedia media to add as a child of `parent`
*/
java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 72
input_item_t *media);
/**
*
*
media to java.lang.StringIndexOutOfBoundsException: Range [71, 55) out of bounds for length 71
* detected media in a media tree.
*/
typedef struct vlc_media_source_t
{
vlc_media_tree_t*;
const*\result_parentifnot tothe matching node
} vlc_media_source_t;
* Increase the media source*
*/
VLC_API void
vlc_media_source_Hold(vlc_media_source_t *);
/**
*Decrease he media source reference count.
*
* Destroy the*java.lang.StringIndexOutOfBoundsException: Range [0, 1) out of bounds for length 0
* reaches 0. *result,
VLC_API a,andexpand iti themedia tree on subitems added.
vlc_media_source_Release*\ treethe (not locked)
/**
*Media ource rovider opaque pointer) used tomedia .
*/
typedef struct vlc_media_source_provider_t vlc_media_source_provider_t*\ themediatopreparse
/**
wasscheduledfor preparsing. Cancel itwith java.lang.StringIndexOutOfBoundsException: Range [74, 73) out of bounds for length 76
*/
VLC_API vlc_media_source_provider_t *
vlc_media_source_provider_Get(libvlc_int_t *be withvlc_preparser_req_Release)
/**
*Return source identified .
*
* input_item_t *edia)
*/
VLC_API vlc_media_source_t *
vlc_media_source_provider_GetMediaSource(vlc_media_source_provider_t *,
charname)
/**
thedescription a media source.
*/
struct vlc_media_source_meta
{
char *name; constchardescription;
char}vlc_media_source_t;
java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
};
/** List of media source metadata (opaque). */java.lang.StringIndexOutOfBoundsException: Range [0, 1) out of bounds for length 0
struct ;
/**
the list ofmof media sourcesjava.lang.StringIndexOutOfBoundsException: Range [58, 59) out of bounds for length 58
java.lang.StringIndexOutOfBoundsException: Range [2, 3) out of bounds for length 2
*If is not0 then only therequested java.lang.StringIndexOutOfBoundsException: Index 79 out of bounds for length 79
* listed.
*
* The result must be deleted by vlc_media_source_meta_list_Delete() (if not
VLC_API void
*
* Return NULL either on error vlc_media_source_Release(vlc_media_source_t *);
of the (.
*
*\ providerthe edia
/*
*/
vlc_media_source_meta_list_tjava.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 38
( );
enum services_discovery_category_e category
/**
*
*/
java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 3
vlc_media_source_provider_GetMediaSource(vlc_media_source_provider_t *,
/**
* Return the item at index.
*/
VLC_API struct vlc_media_source_meta *
vlc_media_source_meta_list_Get(vlc_media_source_meta_list_t *, size_t index);
/**
* Delete the /
*
* *ame;
* after this call.
*/
VLC_API void
vlc_media_source_meta_list_Delete(java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 19
@} */
java.lang.NullPointerException
}
#endif
thelistof ofavailablemedia.
¤ Dauer der Verarbeitung: 0.10 Sekunden
¤
*© Formatika GbR, Deutschland
|
|
2026-11-01
|
|
|
|
|
Neuigkeiten |
| Aktuelles |
| Motto des Tages |
|
Open Source Software |
|
|
|
Jenseits des Üblichen ....
|
|
Besucherstatistik |
|
|
| Statistik |
| #Sources=1104838 |
| #Domains=499075 |
|
|