Coverage Report

Created: 2025-07-23 06:11

/src/vlc/include/vlc_probe.h
Line
Count
Source (jump to first uncovered line)
1
/*****************************************************************************
2
 * vlc_probe.h: service probing interface
3
 *****************************************************************************
4
 * Copyright (C) 2009 Rémi Denis-Courmont
5
 *
6
 * This program is free software; you can redistribute it and/or modify it
7
 * under the terms of the GNU Lesser General Public License as published by
8
 * the Free Software Foundation; either version 2.1 of the License, or
9
 * (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
 * GNU Lesser General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU Lesser General Public License
17
 * along with this program; if not, write to the Free Software Foundation,
18
 * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
19
 *****************************************************************************/
20
21
#ifndef VLC_PROBE_H
22
# define VLC_PROBE_H 1
23
24
# include <stdlib.h>
25
26
/**
27
 * \file
28
 * This file defines functions and structures to run-time probe VLC extensions
29
 */
30
31
# ifdef __cplusplus
32
extern "C" {
33
# endif
34
35
void *vlc_probe (vlc_object_t *, const char *, size_t *);
36
#define vlc_probe(obj, cap, pcount) \
37
0
        vlc_probe(VLC_OBJECT(obj), cap, pcount)
38
39
struct vlc_probe_t
40
{
41
    struct vlc_object_t obj;
42
43
    void  *list;
44
    size_t count;
45
};
46
47
typedef struct vlc_probe_t vlc_probe_t;
48
49
static inline int vlc_probe_add(vlc_probe_t *obj, const void *data,
50
                                size_t len)
51
0
{
52
0
    char *tab = (char *)realloc (obj->list, (obj->count + 1) * len);
53
54
0
    if (unlikely(tab == NULL))
55
0
        return VLC_ENOMEM;
56
0
    memcpy(tab + (obj->count * len), data, len);
57
0
    obj->list = tab;
58
0
    obj->count++;
59
0
    return VLC_SUCCESS;
60
0
}
Unexecuted instantiation: sap.c:vlc_probe_add
Unexecuted instantiation: libvlc.c:vlc_probe_add
Unexecuted instantiation: media_source.c:vlc_probe_add
Unexecuted instantiation: media_tree.c:vlc_probe_add
Unexecuted instantiation: input.c:vlc_probe_add
Unexecuted instantiation: player.c:vlc_probe_add
Unexecuted instantiation: services_discovery.c:vlc_probe_add
Unexecuted instantiation: probe.c:vlc_probe_add
Unexecuted instantiation: renderer_discovery.c:vlc_probe_add
61
62
0
# define VLC_PROBE_CONTINUE VLC_EGENERIC
63
# define VLC_PROBE_STOP     VLC_SUCCESS
64
65
# ifdef __cplusplus
66
}
67
# endif
68
69
#endif