Coverage Report

Created: 2026-05-16 07:42

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/vlc/include/vlc_arrays.h
Line
Count
Source
1
/*****************************************************************************
2
 * vlc_arrays.h : Arrays and data structures handling
3
 *****************************************************************************
4
 * Copyright (C) 1999-2004 VLC authors and VideoLAN
5
 *
6
 * Authors: Samuel Hocevar <sam@zoy.org>
7
 *          Clément Stenac <zorglub@videolan.org>
8
 *
9
 * This program is free software; you can redistribute it and/or modify it
10
 * under the terms of the GNU Lesser General Public License as published by
11
 * the Free Software Foundation; either version 2.1 of the License, or
12
 * (at your option) any later version.
13
 *
14
 * This program is distributed in the hope that it will be useful,
15
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
 * GNU Lesser General Public License for more details.
18
 *
19
 * You should have received a copy of the GNU Lesser General Public License
20
 * along with this program; if not, write to the Free Software Foundation,
21
 * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
22
 *****************************************************************************/
23
24
#ifndef VLC_ARRAYS_H_
25
#define VLC_ARRAYS_H_
26
27
#include <vlc_common.h>
28
29
/**
30
 * \file
31
 * This file defines functions, structures and macros for handling arrays in vlc
32
 */
33
34
/* realloc() that never fails *if* downsizing */
35
static inline void *realloc_down( void *ptr, size_t size )
36
0
{
37
0
    void *ret = realloc( ptr, size );
38
0
    return ret ? ret : ptr;
39
0
}
Unexecuted instantiation: demux-run.c:realloc_down
Unexecuted instantiation: common.c:realloc_down
Unexecuted instantiation: decoder.c:realloc_down
Unexecuted instantiation: core.c:realloc_down
Unexecuted instantiation: error.c:realloc_down
Unexecuted instantiation: asf.c:realloc_down
Unexecuted instantiation: avi.c:realloc_down
Unexecuted instantiation: es.c:realloc_down
Unexecuted instantiation: flac.c:realloc_down
Unexecuted instantiation: xiph_metadata.c:realloc_down
Unexecuted instantiation: mp4.c:realloc_down
Unexecuted instantiation: heif.c:realloc_down
Unexecuted instantiation: sap.c:realloc_down
Unexecuted instantiation: subtitle.c:realloc_down
Unexecuted instantiation: ttml.c:realloc_down
Unexecuted instantiation: encttml.c:realloc_down
Unexecuted instantiation: substtml.c:realloc_down
Unexecuted instantiation: genttml.c:realloc_down
Unexecuted instantiation: subsvtt.c:realloc_down
Unexecuted instantiation: hx.c:realloc_down
Unexecuted instantiation: ogg.c:realloc_down
Unexecuted instantiation: ts.c:realloc_down
Unexecuted instantiation: ts_pid.c:realloc_down
Unexecuted instantiation: ts_psi.c:realloc_down
Unexecuted instantiation: ts_si.c:realloc_down
Unexecuted instantiation: ts_psip.c:realloc_down
Unexecuted instantiation: ts_streams.c:realloc_down
Unexecuted instantiation: ts_scte.c:realloc_down
Unexecuted instantiation: mpeg4_iod.c:realloc_down
Unexecuted instantiation: ts_arib.c:realloc_down
Unexecuted instantiation: ts_sl.c:realloc_down
Unexecuted instantiation: ts_metadata.c:realloc_down
Unexecuted instantiation: ts_hotfixes.c:realloc_down
Unexecuted instantiation: ts_pes.c:realloc_down
Unexecuted instantiation: matroska_segment.cpp:realloc_down(void*, unsigned long)
Unexecuted instantiation: chapters.cpp:realloc_down(void*, unsigned long)
Unexecuted instantiation: chapter_command.cpp:realloc_down(void*, unsigned long)
Unexecuted instantiation: dvbsub.c:realloc_down
Unexecuted instantiation: subsusf.c:realloc_down
Unexecuted instantiation: libvlc.c:realloc_down
Unexecuted instantiation: media_tree.c:realloc_down
Unexecuted instantiation: modules.c:realloc_down
Unexecuted instantiation: entry.c:realloc_down
Unexecuted instantiation: dialog.c:realloc_down
Unexecuted instantiation: interface.c:realloc_down
Unexecuted instantiation: external.c:realloc_down
Unexecuted instantiation: item.c:realloc_down
Unexecuted instantiation: access.c:realloc_down
Unexecuted instantiation: demux.c:realloc_down
Unexecuted instantiation: input.c:realloc_down
Unexecuted instantiation: meta.c:realloc_down
Unexecuted instantiation: player.c:realloc_down
Unexecuted instantiation: stream.c:realloc_down
Unexecuted instantiation: stream_extractor.c:realloc_down
Unexecuted instantiation: stream_filter.c:realloc_down
Unexecuted instantiation: stream_memory.c:realloc_down
Unexecuted instantiation: subtitles.c:realloc_down
Unexecuted instantiation: video_output.c:realloc_down
Unexecuted instantiation: strings.c:realloc_down
Unexecuted instantiation: epg.c:realloc_down
Unexecuted instantiation: exit.c:realloc_down
Unexecuted instantiation: variables.c:realloc_down
Unexecuted instantiation: httpcookies.c:realloc_down
Unexecuted instantiation: specific.c:realloc_down
Unexecuted instantiation: stream_output.c:realloc_down
Unexecuted instantiation: vlm.c:realloc_down
Unexecuted instantiation: vlm_event.c:realloc_down
Unexecuted instantiation: vlmshell.c:realloc_down
Unexecuted instantiation: es_out.c:realloc_down
Unexecuted instantiation: es_out_timeshift.c:realloc_down
Unexecuted instantiation: parse.c:realloc_down
Unexecuted instantiation: fetcher.c:realloc_down
40
41
/**
42
 * This wrapper around realloc() will free the input pointer when
43
 * realloc() returns NULL. The use case ptr = realloc(ptr, newsize) will
44
 * cause a memory leak when ptr pointed to a heap allocation before,
45
 * leaving the buffer allocated but unreferenced. vlc_realloc() is a
46
 * drop-in replacement for that use case (and only that use case).
47
 */
48
static inline void *realloc_or_free( void *p, size_t sz )
49
774k
{
50
774k
    void *n = realloc(p,sz);
51
774k
    if( !n )
52
0
        free(p);
53
774k
    return n;
54
774k
}
Unexecuted instantiation: demux-run.c:realloc_or_free
Unexecuted instantiation: common.c:realloc_or_free
Unexecuted instantiation: decoder.c:realloc_or_free
Unexecuted instantiation: core.c:realloc_or_free
Unexecuted instantiation: error.c:realloc_or_free
Unexecuted instantiation: asf.c:realloc_or_free
avi.c:realloc_or_free
Line
Count
Source
49
183
{
50
183
    void *n = realloc(p,sz);
51
183
    if( !n )
52
0
        free(p);
53
183
    return n;
54
183
}
Unexecuted instantiation: es.c:realloc_or_free
Unexecuted instantiation: flac.c:realloc_or_free
Unexecuted instantiation: xiph_metadata.c:realloc_or_free
mp4.c:realloc_or_free
Line
Count
Source
49
109
{
50
109
    void *n = realloc(p,sz);
51
109
    if( !n )
52
0
        free(p);
53
109
    return n;
54
109
}
Unexecuted instantiation: heif.c:realloc_or_free
Unexecuted instantiation: sap.c:realloc_or_free
subtitle.c:realloc_or_free
Line
Count
Source
49
766k
{
50
766k
    void *n = realloc(p,sz);
51
766k
    if( !n )
52
0
        free(p);
53
766k
    return n;
54
766k
}
Unexecuted instantiation: ttml.c:realloc_or_free
Unexecuted instantiation: encttml.c:realloc_or_free
Unexecuted instantiation: substtml.c:realloc_or_free
Unexecuted instantiation: genttml.c:realloc_or_free
Unexecuted instantiation: subsvtt.c:realloc_or_free
Unexecuted instantiation: hx.c:realloc_or_free
ogg.c:realloc_or_free
Line
Count
Source
49
239
{
50
239
    void *n = realloc(p,sz);
51
239
    if( !n )
52
0
        free(p);
53
239
    return n;
54
239
}
Unexecuted instantiation: ts.c:realloc_or_free
Unexecuted instantiation: ts_pid.c:realloc_or_free
Unexecuted instantiation: ts_psi.c:realloc_or_free
Unexecuted instantiation: ts_si.c:realloc_or_free
Unexecuted instantiation: ts_psip.c:realloc_or_free
Unexecuted instantiation: ts_streams.c:realloc_or_free
Unexecuted instantiation: ts_scte.c:realloc_or_free
Unexecuted instantiation: mpeg4_iod.c:realloc_or_free
Unexecuted instantiation: ts_arib.c:realloc_or_free
Unexecuted instantiation: ts_sl.c:realloc_or_free
Unexecuted instantiation: ts_metadata.c:realloc_or_free
Unexecuted instantiation: ts_hotfixes.c:realloc_or_free
Unexecuted instantiation: ts_pes.c:realloc_or_free
Unexecuted instantiation: matroska_segment.cpp:realloc_or_free(void*, unsigned long)
Unexecuted instantiation: chapters.cpp:realloc_or_free(void*, unsigned long)
Unexecuted instantiation: chapter_command.cpp:realloc_or_free(void*, unsigned long)
Unexecuted instantiation: dvbsub.c:realloc_or_free
Unexecuted instantiation: subsusf.c:realloc_or_free
Unexecuted instantiation: libvlc.c:realloc_or_free
Unexecuted instantiation: media_tree.c:realloc_or_free
Unexecuted instantiation: modules.c:realloc_or_free
entry.c:realloc_or_free
Line
Count
Source
49
7.97k
{
50
7.97k
    void *n = realloc(p,sz);
51
7.97k
    if( !n )
52
0
        free(p);
53
7.97k
    return n;
54
7.97k
}
Unexecuted instantiation: dialog.c:realloc_or_free
Unexecuted instantiation: interface.c:realloc_or_free
Unexecuted instantiation: external.c:realloc_or_free
Unexecuted instantiation: item.c:realloc_or_free
Unexecuted instantiation: access.c:realloc_or_free
Unexecuted instantiation: demux.c:realloc_or_free
Unexecuted instantiation: input.c:realloc_or_free
Unexecuted instantiation: meta.c:realloc_or_free
Unexecuted instantiation: player.c:realloc_or_free
Unexecuted instantiation: stream.c:realloc_or_free
Unexecuted instantiation: stream_extractor.c:realloc_or_free
Unexecuted instantiation: stream_filter.c:realloc_or_free
Unexecuted instantiation: stream_memory.c:realloc_or_free
Unexecuted instantiation: subtitles.c:realloc_or_free
Unexecuted instantiation: video_output.c:realloc_or_free
Unexecuted instantiation: strings.c:realloc_or_free
Unexecuted instantiation: epg.c:realloc_or_free
Unexecuted instantiation: exit.c:realloc_or_free
Unexecuted instantiation: variables.c:realloc_or_free
Unexecuted instantiation: httpcookies.c:realloc_or_free
Unexecuted instantiation: specific.c:realloc_or_free
Unexecuted instantiation: stream_output.c:realloc_or_free
Unexecuted instantiation: vlm.c:realloc_or_free
Unexecuted instantiation: vlm_event.c:realloc_or_free
Unexecuted instantiation: vlmshell.c:realloc_or_free
Unexecuted instantiation: es_out.c:realloc_or_free
Unexecuted instantiation: es_out_timeshift.c:realloc_or_free
Unexecuted instantiation: parse.c:realloc_or_free
Unexecuted instantiation: fetcher.c:realloc_or_free
55
56
#define TAB_INIT( count, tab )                  \
57
14.2k
  do {                                          \
58
14.2k
    (count) = 0;                                \
59
14.2k
    (tab) = NULL;                               \
60
14.2k
  } while(0)
61
62
#define TAB_CLEAN( count, tab )                 \
63
16.2k
  do {                                          \
64
16.2k
    free( tab );                                \
65
16.2k
    (count)= 0;                                 \
66
16.2k
    (tab)= NULL;                                \
67
16.2k
  } while(0)
68
69
#define TAB_APPEND_CAST( cast, count, tab, p )             \
70
7.06k
  do {                                          \
71
7.06k
    if( (count) > 0 )                           \
72
7.06k
        (tab) = cast realloc( tab, sizeof( *(tab) ) * ( (count) + 1 ) ); \
73
7.06k
    else                                        \
74
7.06k
        (tab) = cast malloc( sizeof( *(tab) ) );    \
75
7.06k
    if( !(tab) ) abort();                       \
76
7.06k
    (tab)[count] = (p);                         \
77
7.06k
    (count)++;                                  \
78
7.06k
  } while(0)
79
80
#define TAB_APPEND( count, tab, p )             \
81
5.80k
    TAB_APPEND_CAST( , count, tab, p )
82
83
#define TAB_FIND( count, tab, p, idx )          \
84
0
  do {                                          \
85
0
    for( (idx) = 0; (idx) < (count); (idx)++ )  \
86
0
        if( (tab)[(idx)] == (p) )               \
87
0
            break;                              \
88
0
    if( (idx) >= (count) )                      \
89
0
        (idx) = -1;                             \
90
0
  } while(0)
91
92
93
#define TAB_ERASE( count, tab, index )      \
94
0
  do {                                      \
95
0
        if( (count) > 1 )                   \
96
0
            memmove( (tab) + (index),       \
97
0
                     (tab) + (index) + 1,   \
98
0
                     ((count) - (index) - 1 ) * sizeof( *(tab) ) );\
99
0
        (count)--;                          \
100
0
        if( (count) == 0 )                  \
101
0
        {                                   \
102
0
            free( tab );                    \
103
0
            (tab) = NULL;                   \
104
0
        }                                   \
105
0
  } while(0)
106
107
#define TAB_REMOVE( count, tab, p )             \
108
0
  do {                                          \
109
0
        int i_index;                            \
110
0
        TAB_FIND( count, tab, p, i_index );     \
111
0
        if( i_index >= 0 )                      \
112
0
            TAB_ERASE( count, tab, i_index );   \
113
0
  } while(0)
114
115
0
#define TAB_INSERT_CAST( cast, count, tab, p, index ) do { \
116
0
    if( (count) > 0 )                           \
117
0
        (tab) = cast realloc( tab, sizeof( *(tab) ) * ( (count) + 1 ) ); \
118
0
    else                                        \
119
0
        (tab) = cast malloc( sizeof( *(tab) ) );       \
120
0
    if( !(tab) ) abort();                       \
121
0
    if( (count) - (index) > 0 )                 \
122
0
        memmove( (tab) + (index) + 1,           \
123
0
                 (tab) + (index),               \
124
0
                 ((count) - (index)) * sizeof( *(tab) ) );\
125
0
    (tab)[(index)] = (p);                       \
126
0
    (count)++;                                  \
127
0
} while(0)
128
129
#define TAB_INSERT( count, tab, p, index )      \
130
0
    TAB_INSERT_CAST( , count, tab, p, index )
131
132
/**
133
 * Binary search in a sorted array. The key must be comparable by < and >
134
 * \param entries array of entries
135
 * \param count number of entries
136
 * \param elem key to check within an entry (like .id, or ->i_id)
137
 * \param zetype type of the key
138
 * \param key value of the key
139
 * \param answer index of answer within the array. -1 if not found
140
 */
141
#define BSEARCH( entries, count, elem, zetype, key, answer ) \
142
0
   do {  \
143
0
    int low = 0, high = count - 1;   \
144
0
    answer = -1; \
145
0
    while( low <= high ) {\
146
0
        int mid = ((unsigned int)low + (unsigned int)high) >> 1;\
147
0
        zetype mid_val = entries[mid] elem;\
148
0
        if( mid_val < key ) \
149
0
            low = mid + 1; \
150
0
        else if ( mid_val > key ) \
151
0
            high = mid -1;  \
152
0
        else    \
153
0
        {   \
154
0
            answer = mid;  break;   \
155
0
        }\
156
0
    } \
157
0
 } while(0)
158
159
160
/************************************************************************
161
 * Dynamic arrays with progressive allocation
162
 ************************************************************************/
163
164
/* Internal functions */
165
35.5k
#define _ARRAY_ALLOC(array, newsize) {                                      \
166
35.5k
    (array).i_alloc = newsize;                                              \
167
35.5k
    (array).p_elems = vlc_reallocarray( (array).p_elems, (array).i_alloc,   \
168
35.5k
                               sizeof(*(array).p_elems) );                  \
169
35.5k
    if( !(array).p_elems ) abort();                                         \
170
35.5k
}
171
172
103k
#define _ARRAY_GROW1(array) {                                               \
173
103k
    if( (array).i_alloc < 10 )                                              \
174
103k
        _ARRAY_ALLOC(array, 10 )                                            \
175
103k
    else if( (array).i_alloc == (array).i_size )                            \
176
68.3k
        _ARRAY_ALLOC(array, (int)((array).i_alloc * 1.5) )                    \
177
103k
}
178
179
/* API */
180
28.0k
#define DECL_ARRAY(type) struct {                                           \
181
28.0k
    int i_alloc;                                                            \
182
28.0k
    int i_size;                                                             \
183
28.0k
    type *p_elems;                                                          \
184
28.0k
}
185
186
#define TYPEDEF_ARRAY(type, name) typedef DECL_ARRAY(type) name;
187
188
#define ARRAY_INIT(array)                                                   \
189
46.7k
  do {                                                                      \
190
46.7k
    (array).i_alloc = 0;                                                    \
191
46.7k
    (array).i_size = 0;                                                     \
192
46.7k
    (array).p_elems = NULL;                                                 \
193
46.7k
  } while(0)
194
195
#define ARRAY_RESET(array)                                                  \
196
46.8k
  do {                                                                      \
197
46.8k
    (array).i_alloc = 0;                                                    \
198
46.8k
    (array).i_size = 0;                                                     \
199
46.8k
    free( (array).p_elems ); (array).p_elems = NULL;                        \
200
46.8k
  } while(0)
201
202
#define ARRAY_APPEND(array, elem)                                           \
203
94.7k
  do {                                                                      \
204
94.7k
    _ARRAY_GROW1(array);                                                    \
205
94.7k
    (array).p_elems[(array).i_size] = elem;                                 \
206
94.7k
    (array).i_size++;                                                       \
207
94.7k
  } while(0)
208
209
#define ARRAY_INSERT(array,elem,pos)                                        \
210
9.10k
  do {                                                                      \
211
9.10k
    _ARRAY_GROW1(array);                                                    \
212
9.10k
    if( (array).i_size - (pos) ) {                                          \
213
2.60k
        memmove( (array).p_elems + (pos) + 1, (array).p_elems + (pos),      \
214
2.60k
                 ((array).i_size-(pos)) * sizeof(*(array).p_elems) );       \
215
2.60k
    }                                                                       \
216
9.10k
    (array).p_elems[pos] = elem;                                            \
217
9.10k
    (array).i_size++;                                                       \
218
9.10k
  } while(0)
219
220
562
#define _ARRAY_SHRINK(array) {                                              \
221
562
    if( (array).i_size > 10 && (array).i_size < (int)((array).i_alloc / 1.5) ) {  \
222
0
        _ARRAY_ALLOC(array, (array).i_size + 5);                            \
223
0
    }                                                                       \
224
562
}
225
226
#define ARRAY_FIND(array, p, idx)                                           \
227
  TAB_FIND((array).i_size, (array).p_elems, p, idx)
228
229
#define ARRAY_REMOVE(array,pos)                                             \
230
562
  do {                                                                      \
231
562
    if( (array).i_size - (pos) - 1 )                                        \
232
562
    {                                                                       \
233
324
        memmove( (array).p_elems + (pos), (array).p_elems + (pos) + 1,      \
234
324
                 ( (array).i_size - (pos) - 1 ) *sizeof(*(array).p_elems) );\
235
324
    }                                                                       \
236
562
    (array).i_size--;                                                       \
237
562
    _ARRAY_SHRINK(array);                                                   \
238
562
  } while(0)
239
240
#define ARRAY_VAL(array, pos) array.p_elems[pos]
241
242
#define ARRAY_BSEARCH(array, elem, zetype, key, answer) \
243
0
    BSEARCH( (array).p_elems, (array).i_size, elem, zetype, key, answer)
244
245
/* append ##item to index variable name to avoid variable shadowing warnings for
246
 * nested loops */
247
#define ARRAY_FOREACH(item, array) \
248
    for (int array_index_##item = 0; \
249
         array_index_##item < (array).i_size && \
250
            ((item) = (array).p_elems[array_index_##item], 1); \
251
         ++array_index_##item)
252
253
254
/************************************************************************
255
 * Dynamic arrays with progressive allocation (Preferred API)
256
 ************************************************************************/
257
typedef struct vlc_array_t
258
{
259
    size_t i_count;
260
    void ** pp_elems;
261
} vlc_array_t;
262
263
static inline void vlc_array_init( vlc_array_t * p_array )
264
2.38M
{
265
2.38M
    p_array->i_count = 0;
266
2.38M
    p_array->pp_elems = NULL;
267
2.38M
}
Unexecuted instantiation: demux-run.c:vlc_array_init
Unexecuted instantiation: common.c:vlc_array_init
Unexecuted instantiation: decoder.c:vlc_array_init
Unexecuted instantiation: core.c:vlc_array_init
Unexecuted instantiation: error.c:vlc_array_init
Unexecuted instantiation: asf.c:vlc_array_init
Unexecuted instantiation: avi.c:vlc_array_init
Unexecuted instantiation: es.c:vlc_array_init
Unexecuted instantiation: flac.c:vlc_array_init
Unexecuted instantiation: xiph_metadata.c:vlc_array_init
Unexecuted instantiation: mp4.c:vlc_array_init
Unexecuted instantiation: heif.c:vlc_array_init
Unexecuted instantiation: sap.c:vlc_array_init
Unexecuted instantiation: subtitle.c:vlc_array_init
Unexecuted instantiation: ttml.c:vlc_array_init
Unexecuted instantiation: encttml.c:vlc_array_init
Unexecuted instantiation: substtml.c:vlc_array_init
Unexecuted instantiation: genttml.c:vlc_array_init
subsvtt.c:vlc_array_init
Line
Count
Source
264
2.38M
{
265
2.38M
    p_array->i_count = 0;
266
    p_array->pp_elems = NULL;
267
2.38M
}
Unexecuted instantiation: hx.c:vlc_array_init
Unexecuted instantiation: ogg.c:vlc_array_init
Unexecuted instantiation: ts.c:vlc_array_init
Unexecuted instantiation: ts_pid.c:vlc_array_init
Unexecuted instantiation: ts_psi.c:vlc_array_init
Unexecuted instantiation: ts_si.c:vlc_array_init
Unexecuted instantiation: ts_psip.c:vlc_array_init
Unexecuted instantiation: ts_streams.c:vlc_array_init
Unexecuted instantiation: ts_scte.c:vlc_array_init
Unexecuted instantiation: mpeg4_iod.c:vlc_array_init
Unexecuted instantiation: ts_arib.c:vlc_array_init
Unexecuted instantiation: ts_sl.c:vlc_array_init
Unexecuted instantiation: ts_metadata.c:vlc_array_init
Unexecuted instantiation: ts_hotfixes.c:vlc_array_init
Unexecuted instantiation: ts_pes.c:vlc_array_init
Unexecuted instantiation: matroska_segment.cpp:vlc_array_init(vlc_array_t*)
Unexecuted instantiation: chapters.cpp:vlc_array_init(vlc_array_t*)
Unexecuted instantiation: chapter_command.cpp:vlc_array_init(vlc_array_t*)
Unexecuted instantiation: dvbsub.c:vlc_array_init
Unexecuted instantiation: subsusf.c:vlc_array_init
Unexecuted instantiation: libvlc.c:vlc_array_init
Unexecuted instantiation: media_tree.c:vlc_array_init
Unexecuted instantiation: modules.c:vlc_array_init
Unexecuted instantiation: entry.c:vlc_array_init
dialog.c:vlc_array_init
Line
Count
Source
264
67
{
265
67
    p_array->i_count = 0;
266
    p_array->pp_elems = NULL;
267
67
}
Unexecuted instantiation: interface.c:vlc_array_init
Unexecuted instantiation: external.c:vlc_array_init
Unexecuted instantiation: item.c:vlc_array_init
Unexecuted instantiation: access.c:vlc_array_init
Unexecuted instantiation: demux.c:vlc_array_init
Unexecuted instantiation: input.c:vlc_array_init
Unexecuted instantiation: meta.c:vlc_array_init
Unexecuted instantiation: player.c:vlc_array_init
Unexecuted instantiation: stream.c:vlc_array_init
Unexecuted instantiation: stream_extractor.c:vlc_array_init
Unexecuted instantiation: stream_filter.c:vlc_array_init
Unexecuted instantiation: stream_memory.c:vlc_array_init
Unexecuted instantiation: subtitles.c:vlc_array_init
Unexecuted instantiation: video_output.c:vlc_array_init
Unexecuted instantiation: strings.c:vlc_array_init
Unexecuted instantiation: epg.c:vlc_array_init
Unexecuted instantiation: exit.c:vlc_array_init
Unexecuted instantiation: variables.c:vlc_array_init
Unexecuted instantiation: httpcookies.c:vlc_array_init
Unexecuted instantiation: specific.c:vlc_array_init
Unexecuted instantiation: stream_output.c:vlc_array_init
Unexecuted instantiation: vlm.c:vlc_array_init
Unexecuted instantiation: vlm_event.c:vlc_array_init
Unexecuted instantiation: vlmshell.c:vlc_array_init
Unexecuted instantiation: es_out.c:vlc_array_init
Unexecuted instantiation: es_out_timeshift.c:vlc_array_init
Unexecuted instantiation: parse.c:vlc_array_init
Unexecuted instantiation: fetcher.c:vlc_array_init
268
269
static inline void vlc_array_clear( vlc_array_t * p_array )
270
1.19M
{
271
1.19M
    free( p_array->pp_elems );
272
1.19M
    vlc_array_init( p_array );
273
1.19M
}
Unexecuted instantiation: demux-run.c:vlc_array_clear
Unexecuted instantiation: common.c:vlc_array_clear
Unexecuted instantiation: decoder.c:vlc_array_clear
Unexecuted instantiation: core.c:vlc_array_clear
Unexecuted instantiation: error.c:vlc_array_clear
Unexecuted instantiation: asf.c:vlc_array_clear
Unexecuted instantiation: avi.c:vlc_array_clear
Unexecuted instantiation: es.c:vlc_array_clear
Unexecuted instantiation: flac.c:vlc_array_clear
Unexecuted instantiation: xiph_metadata.c:vlc_array_clear
Unexecuted instantiation: mp4.c:vlc_array_clear
Unexecuted instantiation: heif.c:vlc_array_clear
Unexecuted instantiation: sap.c:vlc_array_clear
Unexecuted instantiation: subtitle.c:vlc_array_clear
Unexecuted instantiation: ttml.c:vlc_array_clear
Unexecuted instantiation: encttml.c:vlc_array_clear
Unexecuted instantiation: substtml.c:vlc_array_clear
Unexecuted instantiation: genttml.c:vlc_array_clear
subsvtt.c:vlc_array_clear
Line
Count
Source
270
1.19M
{
271
1.19M
    free( p_array->pp_elems );
272
1.19M
    vlc_array_init( p_array );
273
1.19M
}
Unexecuted instantiation: hx.c:vlc_array_clear
Unexecuted instantiation: ogg.c:vlc_array_clear
Unexecuted instantiation: ts.c:vlc_array_clear
Unexecuted instantiation: ts_pid.c:vlc_array_clear
Unexecuted instantiation: ts_psi.c:vlc_array_clear
Unexecuted instantiation: ts_si.c:vlc_array_clear
Unexecuted instantiation: ts_psip.c:vlc_array_clear
Unexecuted instantiation: ts_streams.c:vlc_array_clear
Unexecuted instantiation: ts_scte.c:vlc_array_clear
Unexecuted instantiation: mpeg4_iod.c:vlc_array_clear
Unexecuted instantiation: ts_arib.c:vlc_array_clear
Unexecuted instantiation: ts_sl.c:vlc_array_clear
Unexecuted instantiation: ts_metadata.c:vlc_array_clear
Unexecuted instantiation: ts_hotfixes.c:vlc_array_clear
Unexecuted instantiation: ts_pes.c:vlc_array_clear
Unexecuted instantiation: matroska_segment.cpp:vlc_array_clear(vlc_array_t*)
Unexecuted instantiation: chapters.cpp:vlc_array_clear(vlc_array_t*)
Unexecuted instantiation: chapter_command.cpp:vlc_array_clear(vlc_array_t*)
Unexecuted instantiation: dvbsub.c:vlc_array_clear
Unexecuted instantiation: subsusf.c:vlc_array_clear
Unexecuted instantiation: libvlc.c:vlc_array_clear
Unexecuted instantiation: media_tree.c:vlc_array_clear
Unexecuted instantiation: modules.c:vlc_array_clear
Unexecuted instantiation: entry.c:vlc_array_clear
Unexecuted instantiation: dialog.c:vlc_array_clear
Unexecuted instantiation: interface.c:vlc_array_clear
Unexecuted instantiation: external.c:vlc_array_clear
Unexecuted instantiation: item.c:vlc_array_clear
Unexecuted instantiation: access.c:vlc_array_clear
Unexecuted instantiation: demux.c:vlc_array_clear
Unexecuted instantiation: input.c:vlc_array_clear
Unexecuted instantiation: meta.c:vlc_array_clear
Unexecuted instantiation: player.c:vlc_array_clear
Unexecuted instantiation: stream.c:vlc_array_clear
Unexecuted instantiation: stream_extractor.c:vlc_array_clear
Unexecuted instantiation: stream_filter.c:vlc_array_clear
Unexecuted instantiation: stream_memory.c:vlc_array_clear
Unexecuted instantiation: subtitles.c:vlc_array_clear
Unexecuted instantiation: video_output.c:vlc_array_clear
Unexecuted instantiation: strings.c:vlc_array_clear
Unexecuted instantiation: epg.c:vlc_array_clear
Unexecuted instantiation: exit.c:vlc_array_clear
Unexecuted instantiation: variables.c:vlc_array_clear
Unexecuted instantiation: httpcookies.c:vlc_array_clear
Unexecuted instantiation: specific.c:vlc_array_clear
Unexecuted instantiation: stream_output.c:vlc_array_clear
Unexecuted instantiation: vlm.c:vlc_array_clear
Unexecuted instantiation: vlm_event.c:vlc_array_clear
Unexecuted instantiation: vlmshell.c:vlc_array_clear
Unexecuted instantiation: es_out.c:vlc_array_clear
Unexecuted instantiation: es_out_timeshift.c:vlc_array_clear
Unexecuted instantiation: parse.c:vlc_array_clear
Unexecuted instantiation: fetcher.c:vlc_array_clear
274
275
/* Read */
276
static inline size_t vlc_array_count( const vlc_array_t * p_array )
277
1.33M
{
278
1.33M
    return p_array->i_count;
279
1.33M
}
Unexecuted instantiation: demux-run.c:vlc_array_count
Unexecuted instantiation: common.c:vlc_array_count
Unexecuted instantiation: decoder.c:vlc_array_count
Unexecuted instantiation: core.c:vlc_array_count
Unexecuted instantiation: error.c:vlc_array_count
Unexecuted instantiation: asf.c:vlc_array_count
Unexecuted instantiation: avi.c:vlc_array_count
Unexecuted instantiation: es.c:vlc_array_count
Unexecuted instantiation: flac.c:vlc_array_count
Unexecuted instantiation: xiph_metadata.c:vlc_array_count
Unexecuted instantiation: mp4.c:vlc_array_count
Unexecuted instantiation: heif.c:vlc_array_count
Unexecuted instantiation: sap.c:vlc_array_count
Unexecuted instantiation: subtitle.c:vlc_array_count
Unexecuted instantiation: ttml.c:vlc_array_count
Unexecuted instantiation: encttml.c:vlc_array_count
Unexecuted instantiation: substtml.c:vlc_array_count
Unexecuted instantiation: genttml.c:vlc_array_count
subsvtt.c:vlc_array_count
Line
Count
Source
277
1.33M
{
278
1.33M
    return p_array->i_count;
279
1.33M
}
Unexecuted instantiation: hx.c:vlc_array_count
Unexecuted instantiation: ogg.c:vlc_array_count
Unexecuted instantiation: ts.c:vlc_array_count
Unexecuted instantiation: ts_pid.c:vlc_array_count
Unexecuted instantiation: ts_psi.c:vlc_array_count
Unexecuted instantiation: ts_si.c:vlc_array_count
Unexecuted instantiation: ts_psip.c:vlc_array_count
Unexecuted instantiation: ts_streams.c:vlc_array_count
Unexecuted instantiation: ts_scte.c:vlc_array_count
Unexecuted instantiation: mpeg4_iod.c:vlc_array_count
Unexecuted instantiation: ts_arib.c:vlc_array_count
Unexecuted instantiation: ts_sl.c:vlc_array_count
Unexecuted instantiation: ts_metadata.c:vlc_array_count
Unexecuted instantiation: ts_hotfixes.c:vlc_array_count
Unexecuted instantiation: ts_pes.c:vlc_array_count
Unexecuted instantiation: matroska_segment.cpp:vlc_array_count(vlc_array_t const*)
Unexecuted instantiation: chapters.cpp:vlc_array_count(vlc_array_t const*)
Unexecuted instantiation: chapter_command.cpp:vlc_array_count(vlc_array_t const*)
Unexecuted instantiation: dvbsub.c:vlc_array_count
Unexecuted instantiation: subsusf.c:vlc_array_count
Unexecuted instantiation: libvlc.c:vlc_array_count
Unexecuted instantiation: media_tree.c:vlc_array_count
Unexecuted instantiation: modules.c:vlc_array_count
Unexecuted instantiation: entry.c:vlc_array_count
Unexecuted instantiation: dialog.c:vlc_array_count
Unexecuted instantiation: interface.c:vlc_array_count
Unexecuted instantiation: external.c:vlc_array_count
Unexecuted instantiation: item.c:vlc_array_count
Unexecuted instantiation: access.c:vlc_array_count
Unexecuted instantiation: demux.c:vlc_array_count
Unexecuted instantiation: input.c:vlc_array_count
Unexecuted instantiation: meta.c:vlc_array_count
Unexecuted instantiation: player.c:vlc_array_count
Unexecuted instantiation: stream.c:vlc_array_count
Unexecuted instantiation: stream_extractor.c:vlc_array_count
Unexecuted instantiation: stream_filter.c:vlc_array_count
Unexecuted instantiation: stream_memory.c:vlc_array_count
Unexecuted instantiation: subtitles.c:vlc_array_count
Unexecuted instantiation: video_output.c:vlc_array_count
Unexecuted instantiation: strings.c:vlc_array_count
Unexecuted instantiation: epg.c:vlc_array_count
Unexecuted instantiation: exit.c:vlc_array_count
Unexecuted instantiation: variables.c:vlc_array_count
Unexecuted instantiation: httpcookies.c:vlc_array_count
Unexecuted instantiation: specific.c:vlc_array_count
Unexecuted instantiation: stream_output.c:vlc_array_count
Unexecuted instantiation: vlm.c:vlc_array_count
Unexecuted instantiation: vlm_event.c:vlc_array_count
Unexecuted instantiation: vlmshell.c:vlc_array_count
Unexecuted instantiation: es_out.c:vlc_array_count
Unexecuted instantiation: es_out_timeshift.c:vlc_array_count
Unexecuted instantiation: parse.c:vlc_array_count
Unexecuted instantiation: fetcher.c:vlc_array_count
280
281
#ifndef __cplusplus
282
static inline const void *vlc_array_item_at_index( const vlc_array_t *ar,
283
                                                   size_t idx )
284
186k
{
285
186k
    return ar->pp_elems[idx];
286
186k
}
Unexecuted instantiation: demux-run.c:vlc_array_item_at_index
Unexecuted instantiation: common.c:vlc_array_item_at_index
Unexecuted instantiation: decoder.c:vlc_array_item_at_index
Unexecuted instantiation: core.c:vlc_array_item_at_index
Unexecuted instantiation: error.c:vlc_array_item_at_index
Unexecuted instantiation: asf.c:vlc_array_item_at_index
Unexecuted instantiation: avi.c:vlc_array_item_at_index
Unexecuted instantiation: es.c:vlc_array_item_at_index
Unexecuted instantiation: flac.c:vlc_array_item_at_index
Unexecuted instantiation: xiph_metadata.c:vlc_array_item_at_index
Unexecuted instantiation: mp4.c:vlc_array_item_at_index
Unexecuted instantiation: heif.c:vlc_array_item_at_index
Unexecuted instantiation: sap.c:vlc_array_item_at_index
Unexecuted instantiation: subtitle.c:vlc_array_item_at_index
Unexecuted instantiation: ttml.c:vlc_array_item_at_index
Unexecuted instantiation: encttml.c:vlc_array_item_at_index
Unexecuted instantiation: substtml.c:vlc_array_item_at_index
Unexecuted instantiation: genttml.c:vlc_array_item_at_index
subsvtt.c:vlc_array_item_at_index
Line
Count
Source
284
186k
{
285
186k
    return ar->pp_elems[idx];
286
186k
}
Unexecuted instantiation: hx.c:vlc_array_item_at_index
Unexecuted instantiation: ogg.c:vlc_array_item_at_index
Unexecuted instantiation: ts.c:vlc_array_item_at_index
Unexecuted instantiation: ts_pid.c:vlc_array_item_at_index
Unexecuted instantiation: ts_psi.c:vlc_array_item_at_index
Unexecuted instantiation: ts_si.c:vlc_array_item_at_index
Unexecuted instantiation: ts_psip.c:vlc_array_item_at_index
Unexecuted instantiation: ts_streams.c:vlc_array_item_at_index
Unexecuted instantiation: ts_scte.c:vlc_array_item_at_index
Unexecuted instantiation: mpeg4_iod.c:vlc_array_item_at_index
Unexecuted instantiation: ts_arib.c:vlc_array_item_at_index
Unexecuted instantiation: ts_sl.c:vlc_array_item_at_index
Unexecuted instantiation: ts_metadata.c:vlc_array_item_at_index
Unexecuted instantiation: ts_hotfixes.c:vlc_array_item_at_index
Unexecuted instantiation: ts_pes.c:vlc_array_item_at_index
Unexecuted instantiation: dvbsub.c:vlc_array_item_at_index
Unexecuted instantiation: subsusf.c:vlc_array_item_at_index
Unexecuted instantiation: libvlc.c:vlc_array_item_at_index
Unexecuted instantiation: media_tree.c:vlc_array_item_at_index
Unexecuted instantiation: modules.c:vlc_array_item_at_index
Unexecuted instantiation: entry.c:vlc_array_item_at_index
Unexecuted instantiation: dialog.c:vlc_array_item_at_index
Unexecuted instantiation: interface.c:vlc_array_item_at_index
Unexecuted instantiation: external.c:vlc_array_item_at_index
Unexecuted instantiation: item.c:vlc_array_item_at_index
Unexecuted instantiation: access.c:vlc_array_item_at_index
Unexecuted instantiation: demux.c:vlc_array_item_at_index
Unexecuted instantiation: input.c:vlc_array_item_at_index
Unexecuted instantiation: meta.c:vlc_array_item_at_index
Unexecuted instantiation: player.c:vlc_array_item_at_index
Unexecuted instantiation: stream.c:vlc_array_item_at_index
Unexecuted instantiation: stream_extractor.c:vlc_array_item_at_index
Unexecuted instantiation: stream_filter.c:vlc_array_item_at_index
Unexecuted instantiation: stream_memory.c:vlc_array_item_at_index
Unexecuted instantiation: subtitles.c:vlc_array_item_at_index
Unexecuted instantiation: video_output.c:vlc_array_item_at_index
Unexecuted instantiation: strings.c:vlc_array_item_at_index
Unexecuted instantiation: epg.c:vlc_array_item_at_index
Unexecuted instantiation: exit.c:vlc_array_item_at_index
Unexecuted instantiation: variables.c:vlc_array_item_at_index
Unexecuted instantiation: httpcookies.c:vlc_array_item_at_index
Unexecuted instantiation: specific.c:vlc_array_item_at_index
Unexecuted instantiation: stream_output.c:vlc_array_item_at_index
Unexecuted instantiation: vlm.c:vlc_array_item_at_index
Unexecuted instantiation: vlm_event.c:vlc_array_item_at_index
Unexecuted instantiation: vlmshell.c:vlc_array_item_at_index
Unexecuted instantiation: es_out.c:vlc_array_item_at_index
Unexecuted instantiation: es_out_timeshift.c:vlc_array_item_at_index
Unexecuted instantiation: parse.c:vlc_array_item_at_index
Unexecuted instantiation: fetcher.c:vlc_array_item_at_index
287
288
# define vlc_array_item_at_index(ar, idx) \
289
186k
    _Generic((ar), \
290
186k
        const vlc_array_t *: (vlc_array_item_at_index)(ar, idx), \
291
186k
        vlc_array_t *: (void *)(vlc_array_item_at_index)(ar, idx))
292
#else
293
static inline void *vlc_array_item_at_index( vlc_array_t *ar, size_t idx )
294
0
{
295
0
    return ar->pp_elems[idx];
296
0
}
Unexecuted instantiation: matroska_segment.cpp:vlc_array_item_at_index(vlc_array_t*, unsigned long)
Unexecuted instantiation: chapters.cpp:vlc_array_item_at_index(vlc_array_t*, unsigned long)
Unexecuted instantiation: chapter_command.cpp:vlc_array_item_at_index(vlc_array_t*, unsigned long)
297
298
static inline const void *vlc_array_item_at_index( const vlc_array_t *ar,
299
                                                   size_t idx )
300
0
{
301
0
    return ar->pp_elems[idx];
302
0
}
Unexecuted instantiation: matroska_segment.cpp:vlc_array_item_at_index(vlc_array_t const*, unsigned long)
Unexecuted instantiation: chapters.cpp:vlc_array_item_at_index(vlc_array_t const*, unsigned long)
Unexecuted instantiation: chapter_command.cpp:vlc_array_item_at_index(vlc_array_t const*, unsigned long)
303
#endif
304
305
static inline ssize_t vlc_array_index_of_item( const vlc_array_t *ar,
306
                                               const void *elem )
307
0
{
308
0
    for( size_t i = 0; i < ar->i_count; i++ )
309
0
    {
310
0
        if( ar->pp_elems[i] == elem )
311
0
            return i;
312
0
    }
313
0
    return -1;
314
0
}
Unexecuted instantiation: demux-run.c:vlc_array_index_of_item
Unexecuted instantiation: common.c:vlc_array_index_of_item
Unexecuted instantiation: decoder.c:vlc_array_index_of_item
Unexecuted instantiation: core.c:vlc_array_index_of_item
Unexecuted instantiation: error.c:vlc_array_index_of_item
Unexecuted instantiation: asf.c:vlc_array_index_of_item
Unexecuted instantiation: avi.c:vlc_array_index_of_item
Unexecuted instantiation: es.c:vlc_array_index_of_item
Unexecuted instantiation: flac.c:vlc_array_index_of_item
Unexecuted instantiation: xiph_metadata.c:vlc_array_index_of_item
Unexecuted instantiation: mp4.c:vlc_array_index_of_item
Unexecuted instantiation: heif.c:vlc_array_index_of_item
Unexecuted instantiation: sap.c:vlc_array_index_of_item
Unexecuted instantiation: subtitle.c:vlc_array_index_of_item
Unexecuted instantiation: ttml.c:vlc_array_index_of_item
Unexecuted instantiation: encttml.c:vlc_array_index_of_item
Unexecuted instantiation: substtml.c:vlc_array_index_of_item
Unexecuted instantiation: genttml.c:vlc_array_index_of_item
Unexecuted instantiation: subsvtt.c:vlc_array_index_of_item
Unexecuted instantiation: hx.c:vlc_array_index_of_item
Unexecuted instantiation: ogg.c:vlc_array_index_of_item
Unexecuted instantiation: ts.c:vlc_array_index_of_item
Unexecuted instantiation: ts_pid.c:vlc_array_index_of_item
Unexecuted instantiation: ts_psi.c:vlc_array_index_of_item
Unexecuted instantiation: ts_si.c:vlc_array_index_of_item
Unexecuted instantiation: ts_psip.c:vlc_array_index_of_item
Unexecuted instantiation: ts_streams.c:vlc_array_index_of_item
Unexecuted instantiation: ts_scte.c:vlc_array_index_of_item
Unexecuted instantiation: mpeg4_iod.c:vlc_array_index_of_item
Unexecuted instantiation: ts_arib.c:vlc_array_index_of_item
Unexecuted instantiation: ts_sl.c:vlc_array_index_of_item
Unexecuted instantiation: ts_metadata.c:vlc_array_index_of_item
Unexecuted instantiation: ts_hotfixes.c:vlc_array_index_of_item
Unexecuted instantiation: ts_pes.c:vlc_array_index_of_item
Unexecuted instantiation: matroska_segment.cpp:vlc_array_index_of_item(vlc_array_t const*, void const*)
Unexecuted instantiation: chapters.cpp:vlc_array_index_of_item(vlc_array_t const*, void const*)
Unexecuted instantiation: chapter_command.cpp:vlc_array_index_of_item(vlc_array_t const*, void const*)
Unexecuted instantiation: dvbsub.c:vlc_array_index_of_item
Unexecuted instantiation: subsusf.c:vlc_array_index_of_item
Unexecuted instantiation: libvlc.c:vlc_array_index_of_item
Unexecuted instantiation: media_tree.c:vlc_array_index_of_item
Unexecuted instantiation: modules.c:vlc_array_index_of_item
Unexecuted instantiation: entry.c:vlc_array_index_of_item
Unexecuted instantiation: dialog.c:vlc_array_index_of_item
Unexecuted instantiation: interface.c:vlc_array_index_of_item
Unexecuted instantiation: external.c:vlc_array_index_of_item
Unexecuted instantiation: item.c:vlc_array_index_of_item
Unexecuted instantiation: access.c:vlc_array_index_of_item
Unexecuted instantiation: demux.c:vlc_array_index_of_item
Unexecuted instantiation: input.c:vlc_array_index_of_item
Unexecuted instantiation: meta.c:vlc_array_index_of_item
Unexecuted instantiation: player.c:vlc_array_index_of_item
Unexecuted instantiation: stream.c:vlc_array_index_of_item
Unexecuted instantiation: stream_extractor.c:vlc_array_index_of_item
Unexecuted instantiation: stream_filter.c:vlc_array_index_of_item
Unexecuted instantiation: stream_memory.c:vlc_array_index_of_item
Unexecuted instantiation: subtitles.c:vlc_array_index_of_item
Unexecuted instantiation: video_output.c:vlc_array_index_of_item
Unexecuted instantiation: strings.c:vlc_array_index_of_item
Unexecuted instantiation: epg.c:vlc_array_index_of_item
Unexecuted instantiation: exit.c:vlc_array_index_of_item
Unexecuted instantiation: variables.c:vlc_array_index_of_item
Unexecuted instantiation: httpcookies.c:vlc_array_index_of_item
Unexecuted instantiation: specific.c:vlc_array_index_of_item
Unexecuted instantiation: stream_output.c:vlc_array_index_of_item
Unexecuted instantiation: vlm.c:vlc_array_index_of_item
Unexecuted instantiation: vlm_event.c:vlc_array_index_of_item
Unexecuted instantiation: vlmshell.c:vlc_array_index_of_item
Unexecuted instantiation: es_out.c:vlc_array_index_of_item
Unexecuted instantiation: es_out_timeshift.c:vlc_array_index_of_item
Unexecuted instantiation: parse.c:vlc_array_index_of_item
Unexecuted instantiation: fetcher.c:vlc_array_index_of_item
315
316
/* Write */
317
static inline int vlc_array_insert( vlc_array_t *ar, void *elem, int idx )
318
0
{
319
0
    void **pp = (void **)realloc( ar->pp_elems,
320
0
                                  sizeof( void * ) * (ar->i_count + 1) );
321
0
    if( unlikely(pp == NULL) )
322
0
        return -1;
323
0
324
0
    size_t tail = ar->i_count - idx;
325
0
    if( tail > 0 )
326
0
        memmove( pp + idx + 1, pp + idx, sizeof( void * ) * tail );
327
0
328
0
    pp[idx] = elem;
329
0
    ar->i_count++;
330
0
    ar->pp_elems = pp;
331
0
    return 0;
332
0
}
Unexecuted instantiation: demux-run.c:vlc_array_insert
Unexecuted instantiation: common.c:vlc_array_insert
Unexecuted instantiation: decoder.c:vlc_array_insert
Unexecuted instantiation: core.c:vlc_array_insert
Unexecuted instantiation: error.c:vlc_array_insert
Unexecuted instantiation: asf.c:vlc_array_insert
Unexecuted instantiation: avi.c:vlc_array_insert
Unexecuted instantiation: es.c:vlc_array_insert
Unexecuted instantiation: flac.c:vlc_array_insert
Unexecuted instantiation: xiph_metadata.c:vlc_array_insert
Unexecuted instantiation: mp4.c:vlc_array_insert
Unexecuted instantiation: heif.c:vlc_array_insert
Unexecuted instantiation: sap.c:vlc_array_insert
Unexecuted instantiation: subtitle.c:vlc_array_insert
Unexecuted instantiation: ttml.c:vlc_array_insert
Unexecuted instantiation: encttml.c:vlc_array_insert
Unexecuted instantiation: substtml.c:vlc_array_insert
Unexecuted instantiation: genttml.c:vlc_array_insert
Unexecuted instantiation: subsvtt.c:vlc_array_insert
Unexecuted instantiation: hx.c:vlc_array_insert
Unexecuted instantiation: ogg.c:vlc_array_insert
Unexecuted instantiation: ts.c:vlc_array_insert
Unexecuted instantiation: ts_pid.c:vlc_array_insert
Unexecuted instantiation: ts_psi.c:vlc_array_insert
Unexecuted instantiation: ts_si.c:vlc_array_insert
Unexecuted instantiation: ts_psip.c:vlc_array_insert
Unexecuted instantiation: ts_streams.c:vlc_array_insert
Unexecuted instantiation: ts_scte.c:vlc_array_insert
Unexecuted instantiation: mpeg4_iod.c:vlc_array_insert
Unexecuted instantiation: ts_arib.c:vlc_array_insert
Unexecuted instantiation: ts_sl.c:vlc_array_insert
Unexecuted instantiation: ts_metadata.c:vlc_array_insert
Unexecuted instantiation: ts_hotfixes.c:vlc_array_insert
Unexecuted instantiation: ts_pes.c:vlc_array_insert
Unexecuted instantiation: matroska_segment.cpp:vlc_array_insert(vlc_array_t*, void*, int)
Unexecuted instantiation: chapters.cpp:vlc_array_insert(vlc_array_t*, void*, int)
Unexecuted instantiation: chapter_command.cpp:vlc_array_insert(vlc_array_t*, void*, int)
Unexecuted instantiation: dvbsub.c:vlc_array_insert
Unexecuted instantiation: subsusf.c:vlc_array_insert
Unexecuted instantiation: libvlc.c:vlc_array_insert
Unexecuted instantiation: media_tree.c:vlc_array_insert
Unexecuted instantiation: modules.c:vlc_array_insert
Unexecuted instantiation: entry.c:vlc_array_insert
Unexecuted instantiation: dialog.c:vlc_array_insert
Unexecuted instantiation: interface.c:vlc_array_insert
Unexecuted instantiation: external.c:vlc_array_insert
Unexecuted instantiation: item.c:vlc_array_insert
Unexecuted instantiation: access.c:vlc_array_insert
Unexecuted instantiation: demux.c:vlc_array_insert
Unexecuted instantiation: input.c:vlc_array_insert
Unexecuted instantiation: meta.c:vlc_array_insert
Unexecuted instantiation: player.c:vlc_array_insert
Unexecuted instantiation: stream.c:vlc_array_insert
Unexecuted instantiation: stream_extractor.c:vlc_array_insert
Unexecuted instantiation: stream_filter.c:vlc_array_insert
Unexecuted instantiation: stream_memory.c:vlc_array_insert
Unexecuted instantiation: subtitles.c:vlc_array_insert
Unexecuted instantiation: video_output.c:vlc_array_insert
Unexecuted instantiation: strings.c:vlc_array_insert
Unexecuted instantiation: epg.c:vlc_array_insert
Unexecuted instantiation: exit.c:vlc_array_insert
Unexecuted instantiation: variables.c:vlc_array_insert
Unexecuted instantiation: httpcookies.c:vlc_array_insert
Unexecuted instantiation: specific.c:vlc_array_insert
Unexecuted instantiation: stream_output.c:vlc_array_insert
Unexecuted instantiation: vlm.c:vlc_array_insert
Unexecuted instantiation: vlm_event.c:vlc_array_insert
Unexecuted instantiation: vlmshell.c:vlc_array_insert
Unexecuted instantiation: es_out.c:vlc_array_insert
Unexecuted instantiation: es_out_timeshift.c:vlc_array_insert
Unexecuted instantiation: parse.c:vlc_array_insert
Unexecuted instantiation: fetcher.c:vlc_array_insert
333
334
static inline void vlc_array_insert_or_abort( vlc_array_t *ar, void *elem, int idx )
335
0
{
336
0
    if( vlc_array_insert( ar, elem, idx ) )
337
0
        abort();
338
0
}
Unexecuted instantiation: demux-run.c:vlc_array_insert_or_abort
Unexecuted instantiation: common.c:vlc_array_insert_or_abort
Unexecuted instantiation: decoder.c:vlc_array_insert_or_abort
Unexecuted instantiation: core.c:vlc_array_insert_or_abort
Unexecuted instantiation: error.c:vlc_array_insert_or_abort
Unexecuted instantiation: asf.c:vlc_array_insert_or_abort
Unexecuted instantiation: avi.c:vlc_array_insert_or_abort
Unexecuted instantiation: es.c:vlc_array_insert_or_abort
Unexecuted instantiation: flac.c:vlc_array_insert_or_abort
Unexecuted instantiation: xiph_metadata.c:vlc_array_insert_or_abort
Unexecuted instantiation: mp4.c:vlc_array_insert_or_abort
Unexecuted instantiation: heif.c:vlc_array_insert_or_abort
Unexecuted instantiation: sap.c:vlc_array_insert_or_abort
Unexecuted instantiation: subtitle.c:vlc_array_insert_or_abort
Unexecuted instantiation: ttml.c:vlc_array_insert_or_abort
Unexecuted instantiation: encttml.c:vlc_array_insert_or_abort
Unexecuted instantiation: substtml.c:vlc_array_insert_or_abort
Unexecuted instantiation: genttml.c:vlc_array_insert_or_abort
Unexecuted instantiation: subsvtt.c:vlc_array_insert_or_abort
Unexecuted instantiation: hx.c:vlc_array_insert_or_abort
Unexecuted instantiation: ogg.c:vlc_array_insert_or_abort
Unexecuted instantiation: ts.c:vlc_array_insert_or_abort
Unexecuted instantiation: ts_pid.c:vlc_array_insert_or_abort
Unexecuted instantiation: ts_psi.c:vlc_array_insert_or_abort
Unexecuted instantiation: ts_si.c:vlc_array_insert_or_abort
Unexecuted instantiation: ts_psip.c:vlc_array_insert_or_abort
Unexecuted instantiation: ts_streams.c:vlc_array_insert_or_abort
Unexecuted instantiation: ts_scte.c:vlc_array_insert_or_abort
Unexecuted instantiation: mpeg4_iod.c:vlc_array_insert_or_abort
Unexecuted instantiation: ts_arib.c:vlc_array_insert_or_abort
Unexecuted instantiation: ts_sl.c:vlc_array_insert_or_abort
Unexecuted instantiation: ts_metadata.c:vlc_array_insert_or_abort
Unexecuted instantiation: ts_hotfixes.c:vlc_array_insert_or_abort
Unexecuted instantiation: ts_pes.c:vlc_array_insert_or_abort
Unexecuted instantiation: matroska_segment.cpp:vlc_array_insert_or_abort(vlc_array_t*, void*, int)
Unexecuted instantiation: chapters.cpp:vlc_array_insert_or_abort(vlc_array_t*, void*, int)
Unexecuted instantiation: chapter_command.cpp:vlc_array_insert_or_abort(vlc_array_t*, void*, int)
Unexecuted instantiation: dvbsub.c:vlc_array_insert_or_abort
Unexecuted instantiation: subsusf.c:vlc_array_insert_or_abort
Unexecuted instantiation: libvlc.c:vlc_array_insert_or_abort
Unexecuted instantiation: media_tree.c:vlc_array_insert_or_abort
Unexecuted instantiation: modules.c:vlc_array_insert_or_abort
Unexecuted instantiation: entry.c:vlc_array_insert_or_abort
Unexecuted instantiation: dialog.c:vlc_array_insert_or_abort
Unexecuted instantiation: interface.c:vlc_array_insert_or_abort
Unexecuted instantiation: external.c:vlc_array_insert_or_abort
Unexecuted instantiation: item.c:vlc_array_insert_or_abort
Unexecuted instantiation: access.c:vlc_array_insert_or_abort
Unexecuted instantiation: demux.c:vlc_array_insert_or_abort
Unexecuted instantiation: input.c:vlc_array_insert_or_abort
Unexecuted instantiation: meta.c:vlc_array_insert_or_abort
Unexecuted instantiation: player.c:vlc_array_insert_or_abort
Unexecuted instantiation: stream.c:vlc_array_insert_or_abort
Unexecuted instantiation: stream_extractor.c:vlc_array_insert_or_abort
Unexecuted instantiation: stream_filter.c:vlc_array_insert_or_abort
Unexecuted instantiation: stream_memory.c:vlc_array_insert_or_abort
Unexecuted instantiation: subtitles.c:vlc_array_insert_or_abort
Unexecuted instantiation: video_output.c:vlc_array_insert_or_abort
Unexecuted instantiation: strings.c:vlc_array_insert_or_abort
Unexecuted instantiation: epg.c:vlc_array_insert_or_abort
Unexecuted instantiation: exit.c:vlc_array_insert_or_abort
Unexecuted instantiation: variables.c:vlc_array_insert_or_abort
Unexecuted instantiation: httpcookies.c:vlc_array_insert_or_abort
Unexecuted instantiation: specific.c:vlc_array_insert_or_abort
Unexecuted instantiation: stream_output.c:vlc_array_insert_or_abort
Unexecuted instantiation: vlm.c:vlc_array_insert_or_abort
Unexecuted instantiation: vlm_event.c:vlc_array_insert_or_abort
Unexecuted instantiation: vlmshell.c:vlc_array_insert_or_abort
Unexecuted instantiation: es_out.c:vlc_array_insert_or_abort
Unexecuted instantiation: es_out_timeshift.c:vlc_array_insert_or_abort
Unexecuted instantiation: parse.c:vlc_array_insert_or_abort
Unexecuted instantiation: fetcher.c:vlc_array_insert_or_abort
339
340
static inline int vlc_array_append( vlc_array_t *ar, void *elem )
341
198k
{
342
198k
    void **pp = (void **)realloc( ar->pp_elems,
343
198k
                                  sizeof( void * ) * (ar->i_count + 1) );
344
198k
    if( unlikely(pp == NULL) )
345
0
        return -1;
346
347
198k
    pp[ar->i_count++] = elem;
348
198k
    ar->pp_elems = pp;
349
198k
    return 0;
350
198k
}
Unexecuted instantiation: demux-run.c:vlc_array_append
Unexecuted instantiation: common.c:vlc_array_append
Unexecuted instantiation: decoder.c:vlc_array_append
Unexecuted instantiation: core.c:vlc_array_append
Unexecuted instantiation: error.c:vlc_array_append
Unexecuted instantiation: asf.c:vlc_array_append
Unexecuted instantiation: avi.c:vlc_array_append
Unexecuted instantiation: es.c:vlc_array_append
Unexecuted instantiation: flac.c:vlc_array_append
Unexecuted instantiation: xiph_metadata.c:vlc_array_append
Unexecuted instantiation: mp4.c:vlc_array_append
Unexecuted instantiation: heif.c:vlc_array_append
Unexecuted instantiation: sap.c:vlc_array_append
Unexecuted instantiation: subtitle.c:vlc_array_append
Unexecuted instantiation: ttml.c:vlc_array_append
Unexecuted instantiation: encttml.c:vlc_array_append
Unexecuted instantiation: substtml.c:vlc_array_append
Unexecuted instantiation: genttml.c:vlc_array_append
subsvtt.c:vlc_array_append
Line
Count
Source
341
198k
{
342
198k
    void **pp = (void **)realloc( ar->pp_elems,
343
198k
                                  sizeof( void * ) * (ar->i_count + 1) );
344
198k
    if( unlikely(pp == NULL) )
345
0
        return -1;
346
347
198k
    pp[ar->i_count++] = elem;
348
198k
    ar->pp_elems = pp;
349
198k
    return 0;
350
198k
}
Unexecuted instantiation: hx.c:vlc_array_append
Unexecuted instantiation: ogg.c:vlc_array_append
Unexecuted instantiation: ts.c:vlc_array_append
Unexecuted instantiation: ts_pid.c:vlc_array_append
Unexecuted instantiation: ts_psi.c:vlc_array_append
Unexecuted instantiation: ts_si.c:vlc_array_append
Unexecuted instantiation: ts_psip.c:vlc_array_append
Unexecuted instantiation: ts_streams.c:vlc_array_append
Unexecuted instantiation: ts_scte.c:vlc_array_append
Unexecuted instantiation: mpeg4_iod.c:vlc_array_append
Unexecuted instantiation: ts_arib.c:vlc_array_append
Unexecuted instantiation: ts_sl.c:vlc_array_append
Unexecuted instantiation: ts_metadata.c:vlc_array_append
Unexecuted instantiation: ts_hotfixes.c:vlc_array_append
Unexecuted instantiation: ts_pes.c:vlc_array_append
Unexecuted instantiation: matroska_segment.cpp:vlc_array_append(vlc_array_t*, void*)
Unexecuted instantiation: chapters.cpp:vlc_array_append(vlc_array_t*, void*)
Unexecuted instantiation: chapter_command.cpp:vlc_array_append(vlc_array_t*, void*)
Unexecuted instantiation: dvbsub.c:vlc_array_append
Unexecuted instantiation: subsusf.c:vlc_array_append
Unexecuted instantiation: libvlc.c:vlc_array_append
Unexecuted instantiation: media_tree.c:vlc_array_append
Unexecuted instantiation: modules.c:vlc_array_append
Unexecuted instantiation: entry.c:vlc_array_append
Unexecuted instantiation: dialog.c:vlc_array_append
Unexecuted instantiation: interface.c:vlc_array_append
Unexecuted instantiation: external.c:vlc_array_append
Unexecuted instantiation: item.c:vlc_array_append
Unexecuted instantiation: access.c:vlc_array_append
Unexecuted instantiation: demux.c:vlc_array_append
Unexecuted instantiation: input.c:vlc_array_append
Unexecuted instantiation: meta.c:vlc_array_append
Unexecuted instantiation: player.c:vlc_array_append
Unexecuted instantiation: stream.c:vlc_array_append
Unexecuted instantiation: stream_extractor.c:vlc_array_append
Unexecuted instantiation: stream_filter.c:vlc_array_append
Unexecuted instantiation: stream_memory.c:vlc_array_append
Unexecuted instantiation: subtitles.c:vlc_array_append
Unexecuted instantiation: video_output.c:vlc_array_append
Unexecuted instantiation: strings.c:vlc_array_append
Unexecuted instantiation: epg.c:vlc_array_append
Unexecuted instantiation: exit.c:vlc_array_append
Unexecuted instantiation: variables.c:vlc_array_append
Unexecuted instantiation: httpcookies.c:vlc_array_append
Unexecuted instantiation: specific.c:vlc_array_append
Unexecuted instantiation: stream_output.c:vlc_array_append
Unexecuted instantiation: vlm.c:vlc_array_append
Unexecuted instantiation: vlm_event.c:vlc_array_append
Unexecuted instantiation: vlmshell.c:vlc_array_append
Unexecuted instantiation: es_out.c:vlc_array_append
Unexecuted instantiation: es_out_timeshift.c:vlc_array_append
Unexecuted instantiation: parse.c:vlc_array_append
Unexecuted instantiation: fetcher.c:vlc_array_append
351
352
static inline void vlc_array_append_or_abort( vlc_array_t *ar, void *elem )
353
0
{
354
0
    if( vlc_array_append( ar, elem ) != 0 )
355
0
        abort();
356
0
}
Unexecuted instantiation: demux-run.c:vlc_array_append_or_abort
Unexecuted instantiation: common.c:vlc_array_append_or_abort
Unexecuted instantiation: decoder.c:vlc_array_append_or_abort
Unexecuted instantiation: core.c:vlc_array_append_or_abort
Unexecuted instantiation: error.c:vlc_array_append_or_abort
Unexecuted instantiation: asf.c:vlc_array_append_or_abort
Unexecuted instantiation: avi.c:vlc_array_append_or_abort
Unexecuted instantiation: es.c:vlc_array_append_or_abort
Unexecuted instantiation: flac.c:vlc_array_append_or_abort
Unexecuted instantiation: xiph_metadata.c:vlc_array_append_or_abort
Unexecuted instantiation: mp4.c:vlc_array_append_or_abort
Unexecuted instantiation: heif.c:vlc_array_append_or_abort
Unexecuted instantiation: sap.c:vlc_array_append_or_abort
Unexecuted instantiation: subtitle.c:vlc_array_append_or_abort
Unexecuted instantiation: ttml.c:vlc_array_append_or_abort
Unexecuted instantiation: encttml.c:vlc_array_append_or_abort
Unexecuted instantiation: substtml.c:vlc_array_append_or_abort
Unexecuted instantiation: genttml.c:vlc_array_append_or_abort
Unexecuted instantiation: subsvtt.c:vlc_array_append_or_abort
Unexecuted instantiation: hx.c:vlc_array_append_or_abort
Unexecuted instantiation: ogg.c:vlc_array_append_or_abort
Unexecuted instantiation: ts.c:vlc_array_append_or_abort
Unexecuted instantiation: ts_pid.c:vlc_array_append_or_abort
Unexecuted instantiation: ts_psi.c:vlc_array_append_or_abort
Unexecuted instantiation: ts_si.c:vlc_array_append_or_abort
Unexecuted instantiation: ts_psip.c:vlc_array_append_or_abort
Unexecuted instantiation: ts_streams.c:vlc_array_append_or_abort
Unexecuted instantiation: ts_scte.c:vlc_array_append_or_abort
Unexecuted instantiation: mpeg4_iod.c:vlc_array_append_or_abort
Unexecuted instantiation: ts_arib.c:vlc_array_append_or_abort
Unexecuted instantiation: ts_sl.c:vlc_array_append_or_abort
Unexecuted instantiation: ts_metadata.c:vlc_array_append_or_abort
Unexecuted instantiation: ts_hotfixes.c:vlc_array_append_or_abort
Unexecuted instantiation: ts_pes.c:vlc_array_append_or_abort
Unexecuted instantiation: matroska_segment.cpp:vlc_array_append_or_abort(vlc_array_t*, void*)
Unexecuted instantiation: chapters.cpp:vlc_array_append_or_abort(vlc_array_t*, void*)
Unexecuted instantiation: chapter_command.cpp:vlc_array_append_or_abort(vlc_array_t*, void*)
Unexecuted instantiation: dvbsub.c:vlc_array_append_or_abort
Unexecuted instantiation: subsusf.c:vlc_array_append_or_abort
Unexecuted instantiation: libvlc.c:vlc_array_append_or_abort
Unexecuted instantiation: media_tree.c:vlc_array_append_or_abort
Unexecuted instantiation: modules.c:vlc_array_append_or_abort
Unexecuted instantiation: entry.c:vlc_array_append_or_abort
Unexecuted instantiation: dialog.c:vlc_array_append_or_abort
Unexecuted instantiation: interface.c:vlc_array_append_or_abort
Unexecuted instantiation: external.c:vlc_array_append_or_abort
Unexecuted instantiation: item.c:vlc_array_append_or_abort
Unexecuted instantiation: access.c:vlc_array_append_or_abort
Unexecuted instantiation: demux.c:vlc_array_append_or_abort
Unexecuted instantiation: input.c:vlc_array_append_or_abort
Unexecuted instantiation: meta.c:vlc_array_append_or_abort
Unexecuted instantiation: player.c:vlc_array_append_or_abort
Unexecuted instantiation: stream.c:vlc_array_append_or_abort
Unexecuted instantiation: stream_extractor.c:vlc_array_append_or_abort
Unexecuted instantiation: stream_filter.c:vlc_array_append_or_abort
Unexecuted instantiation: stream_memory.c:vlc_array_append_or_abort
Unexecuted instantiation: subtitles.c:vlc_array_append_or_abort
Unexecuted instantiation: video_output.c:vlc_array_append_or_abort
Unexecuted instantiation: strings.c:vlc_array_append_or_abort
Unexecuted instantiation: epg.c:vlc_array_append_or_abort
Unexecuted instantiation: exit.c:vlc_array_append_or_abort
Unexecuted instantiation: variables.c:vlc_array_append_or_abort
Unexecuted instantiation: httpcookies.c:vlc_array_append_or_abort
Unexecuted instantiation: specific.c:vlc_array_append_or_abort
Unexecuted instantiation: stream_output.c:vlc_array_append_or_abort
Unexecuted instantiation: vlm.c:vlc_array_append_or_abort
Unexecuted instantiation: vlm_event.c:vlc_array_append_or_abort
Unexecuted instantiation: vlmshell.c:vlc_array_append_or_abort
Unexecuted instantiation: es_out.c:vlc_array_append_or_abort
Unexecuted instantiation: es_out_timeshift.c:vlc_array_append_or_abort
Unexecuted instantiation: parse.c:vlc_array_append_or_abort
Unexecuted instantiation: fetcher.c:vlc_array_append_or_abort
357
358
static inline void vlc_array_remove( vlc_array_t *ar, size_t idx )
359
51.0k
{
360
51.0k
    void **pp = ar->pp_elems;
361
51.0k
    size_t tail = ar->i_count - idx - 1;
362
363
51.0k
    if( tail > 0 )
364
0
        memmove( pp + idx, pp + idx + 1, sizeof( void * ) * tail );
365
366
51.0k
    ar->i_count--;
367
368
51.0k
    if( ar->i_count > 0 )
369
3.75k
    {
370
3.75k
        pp = (void **)realloc( pp, sizeof( void * ) * ar->i_count );
371
3.75k
        if( likely(pp != NULL) )
372
3.75k
            ar->pp_elems = pp;
373
3.75k
    }
374
47.2k
    else
375
47.2k
    {
376
47.2k
        free( pp );
377
47.2k
        ar->pp_elems = NULL;
378
47.2k
    }
379
51.0k
}
Unexecuted instantiation: demux-run.c:vlc_array_remove
Unexecuted instantiation: common.c:vlc_array_remove
Unexecuted instantiation: decoder.c:vlc_array_remove
Unexecuted instantiation: core.c:vlc_array_remove
Unexecuted instantiation: error.c:vlc_array_remove
Unexecuted instantiation: asf.c:vlc_array_remove
Unexecuted instantiation: avi.c:vlc_array_remove
Unexecuted instantiation: es.c:vlc_array_remove
Unexecuted instantiation: flac.c:vlc_array_remove
Unexecuted instantiation: xiph_metadata.c:vlc_array_remove
Unexecuted instantiation: mp4.c:vlc_array_remove
Unexecuted instantiation: heif.c:vlc_array_remove
Unexecuted instantiation: sap.c:vlc_array_remove
Unexecuted instantiation: subtitle.c:vlc_array_remove
Unexecuted instantiation: ttml.c:vlc_array_remove
Unexecuted instantiation: encttml.c:vlc_array_remove
Unexecuted instantiation: substtml.c:vlc_array_remove
Unexecuted instantiation: genttml.c:vlc_array_remove
subsvtt.c:vlc_array_remove
Line
Count
Source
359
51.0k
{
360
51.0k
    void **pp = ar->pp_elems;
361
51.0k
    size_t tail = ar->i_count - idx - 1;
362
363
51.0k
    if( tail > 0 )
364
0
        memmove( pp + idx, pp + idx + 1, sizeof( void * ) * tail );
365
366
51.0k
    ar->i_count--;
367
368
51.0k
    if( ar->i_count > 0 )
369
3.75k
    {
370
3.75k
        pp = (void **)realloc( pp, sizeof( void * ) * ar->i_count );
371
3.75k
        if( likely(pp != NULL) )
372
3.75k
            ar->pp_elems = pp;
373
3.75k
    }
374
47.2k
    else
375
47.2k
    {
376
47.2k
        free( pp );
377
        ar->pp_elems = NULL;
378
47.2k
    }
379
51.0k
}
Unexecuted instantiation: hx.c:vlc_array_remove
Unexecuted instantiation: ogg.c:vlc_array_remove
Unexecuted instantiation: ts.c:vlc_array_remove
Unexecuted instantiation: ts_pid.c:vlc_array_remove
Unexecuted instantiation: ts_psi.c:vlc_array_remove
Unexecuted instantiation: ts_si.c:vlc_array_remove
Unexecuted instantiation: ts_psip.c:vlc_array_remove
Unexecuted instantiation: ts_streams.c:vlc_array_remove
Unexecuted instantiation: ts_scte.c:vlc_array_remove
Unexecuted instantiation: mpeg4_iod.c:vlc_array_remove
Unexecuted instantiation: ts_arib.c:vlc_array_remove
Unexecuted instantiation: ts_sl.c:vlc_array_remove
Unexecuted instantiation: ts_metadata.c:vlc_array_remove
Unexecuted instantiation: ts_hotfixes.c:vlc_array_remove
Unexecuted instantiation: ts_pes.c:vlc_array_remove
Unexecuted instantiation: matroska_segment.cpp:vlc_array_remove(vlc_array_t*, unsigned long)
Unexecuted instantiation: chapters.cpp:vlc_array_remove(vlc_array_t*, unsigned long)
Unexecuted instantiation: chapter_command.cpp:vlc_array_remove(vlc_array_t*, unsigned long)
Unexecuted instantiation: dvbsub.c:vlc_array_remove
Unexecuted instantiation: subsusf.c:vlc_array_remove
Unexecuted instantiation: libvlc.c:vlc_array_remove
Unexecuted instantiation: media_tree.c:vlc_array_remove
Unexecuted instantiation: modules.c:vlc_array_remove
Unexecuted instantiation: entry.c:vlc_array_remove
Unexecuted instantiation: dialog.c:vlc_array_remove
Unexecuted instantiation: interface.c:vlc_array_remove
Unexecuted instantiation: external.c:vlc_array_remove
Unexecuted instantiation: item.c:vlc_array_remove
Unexecuted instantiation: access.c:vlc_array_remove
Unexecuted instantiation: demux.c:vlc_array_remove
Unexecuted instantiation: input.c:vlc_array_remove
Unexecuted instantiation: meta.c:vlc_array_remove
Unexecuted instantiation: player.c:vlc_array_remove
Unexecuted instantiation: stream.c:vlc_array_remove
Unexecuted instantiation: stream_extractor.c:vlc_array_remove
Unexecuted instantiation: stream_filter.c:vlc_array_remove
Unexecuted instantiation: stream_memory.c:vlc_array_remove
Unexecuted instantiation: subtitles.c:vlc_array_remove
Unexecuted instantiation: video_output.c:vlc_array_remove
Unexecuted instantiation: strings.c:vlc_array_remove
Unexecuted instantiation: epg.c:vlc_array_remove
Unexecuted instantiation: exit.c:vlc_array_remove
Unexecuted instantiation: variables.c:vlc_array_remove
Unexecuted instantiation: httpcookies.c:vlc_array_remove
Unexecuted instantiation: specific.c:vlc_array_remove
Unexecuted instantiation: stream_output.c:vlc_array_remove
Unexecuted instantiation: vlm.c:vlc_array_remove
Unexecuted instantiation: vlm_event.c:vlc_array_remove
Unexecuted instantiation: vlmshell.c:vlc_array_remove
Unexecuted instantiation: es_out.c:vlc_array_remove
Unexecuted instantiation: es_out_timeshift.c:vlc_array_remove
Unexecuted instantiation: parse.c:vlc_array_remove
Unexecuted instantiation: fetcher.c:vlc_array_remove
380
381
382
/************************************************************************
383
 * Dictionaries
384
 ************************************************************************/
385
386
/* This function is not intended to be crypto-secure, we only want it to be
387
 * fast and not suck too much. This one is pretty fast and did 0 collisions
388
 * in wenglish's dictionary.
389
 */
390
static inline size_t DictHash(const char *psz_string, size_t hashsize)
391
9.82M
{
392
9.82M
    uint64_t i_hash = 0;
393
9.82M
    if( psz_string )
394
9.82M
    {
395
74.3M
        while( *psz_string )
396
64.5M
        {
397
64.5M
            i_hash += *psz_string++;
398
64.5M
            i_hash += i_hash << 10;
399
64.5M
            i_hash ^= i_hash >> 8;
400
64.5M
        }
401
9.82M
    }
402
9.82M
    return i_hash % hashsize;
403
9.82M
}
Unexecuted instantiation: demux-run.c:DictHash
Unexecuted instantiation: common.c:DictHash
Unexecuted instantiation: decoder.c:DictHash
Unexecuted instantiation: core.c:DictHash
Unexecuted instantiation: error.c:DictHash
Unexecuted instantiation: asf.c:DictHash
Unexecuted instantiation: avi.c:DictHash
Unexecuted instantiation: es.c:DictHash
Unexecuted instantiation: flac.c:DictHash
Unexecuted instantiation: xiph_metadata.c:DictHash
Unexecuted instantiation: mp4.c:DictHash
Unexecuted instantiation: heif.c:DictHash
Unexecuted instantiation: sap.c:DictHash
Unexecuted instantiation: subtitle.c:DictHash
ttml.c:DictHash
Line
Count
Source
391
4.96M
{
392
4.96M
    uint64_t i_hash = 0;
393
4.96M
    if( psz_string )
394
4.96M
    {
395
32.9M
        while( *psz_string )
396
27.9M
        {
397
27.9M
            i_hash += *psz_string++;
398
27.9M
            i_hash += i_hash << 10;
399
27.9M
            i_hash ^= i_hash >> 8;
400
27.9M
        }
401
4.96M
    }
402
4.96M
    return i_hash % hashsize;
403
4.96M
}
Unexecuted instantiation: encttml.c:DictHash
substtml.c:DictHash
Line
Count
Source
391
4.80M
{
392
4.80M
    uint64_t i_hash = 0;
393
4.80M
    if( psz_string )
394
4.80M
    {
395
40.4M
        while( *psz_string )
396
35.6M
        {
397
35.6M
            i_hash += *psz_string++;
398
35.6M
            i_hash += i_hash << 10;
399
35.6M
            i_hash ^= i_hash >> 8;
400
35.6M
        }
401
4.80M
    }
402
4.80M
    return i_hash % hashsize;
403
4.80M
}
Unexecuted instantiation: genttml.c:DictHash
Unexecuted instantiation: subsvtt.c:DictHash
Unexecuted instantiation: hx.c:DictHash
Unexecuted instantiation: ogg.c:DictHash
Unexecuted instantiation: ts.c:DictHash
Unexecuted instantiation: ts_pid.c:DictHash
Unexecuted instantiation: ts_psi.c:DictHash
Unexecuted instantiation: ts_si.c:DictHash
Unexecuted instantiation: ts_psip.c:DictHash
Unexecuted instantiation: ts_streams.c:DictHash
Unexecuted instantiation: ts_scte.c:DictHash
Unexecuted instantiation: mpeg4_iod.c:DictHash
Unexecuted instantiation: ts_arib.c:DictHash
Unexecuted instantiation: ts_sl.c:DictHash
Unexecuted instantiation: ts_metadata.c:DictHash
Unexecuted instantiation: ts_hotfixes.c:DictHash
Unexecuted instantiation: ts_pes.c:DictHash
Unexecuted instantiation: matroska_segment.cpp:DictHash(char const*, unsigned long)
Unexecuted instantiation: chapters.cpp:DictHash(char const*, unsigned long)
Unexecuted instantiation: chapter_command.cpp:DictHash(char const*, unsigned long)
Unexecuted instantiation: dvbsub.c:DictHash
Unexecuted instantiation: subsusf.c:DictHash
Unexecuted instantiation: libvlc.c:DictHash
Unexecuted instantiation: media_tree.c:DictHash
Unexecuted instantiation: modules.c:DictHash
Unexecuted instantiation: entry.c:DictHash
Unexecuted instantiation: dialog.c:DictHash
Unexecuted instantiation: interface.c:DictHash
Unexecuted instantiation: external.c:DictHash
Unexecuted instantiation: item.c:DictHash
Unexecuted instantiation: access.c:DictHash
Unexecuted instantiation: demux.c:DictHash
Unexecuted instantiation: input.c:DictHash
meta.c:DictHash
Line
Count
Source
391
48.7k
{
392
48.7k
    uint64_t i_hash = 0;
393
48.7k
    if( psz_string )
394
48.7k
    {
395
967k
        while( *psz_string )
396
919k
        {
397
919k
            i_hash += *psz_string++;
398
919k
            i_hash += i_hash << 10;
399
919k
            i_hash ^= i_hash >> 8;
400
919k
        }
401
48.7k
    }
402
48.7k
    return i_hash % hashsize;
403
48.7k
}
Unexecuted instantiation: player.c:DictHash
Unexecuted instantiation: stream.c:DictHash
Unexecuted instantiation: stream_extractor.c:DictHash
Unexecuted instantiation: stream_filter.c:DictHash
Unexecuted instantiation: stream_memory.c:DictHash
Unexecuted instantiation: subtitles.c:DictHash
Unexecuted instantiation: video_output.c:DictHash
Unexecuted instantiation: strings.c:DictHash
Unexecuted instantiation: epg.c:DictHash
Unexecuted instantiation: exit.c:DictHash
Unexecuted instantiation: variables.c:DictHash
Unexecuted instantiation: httpcookies.c:DictHash
Unexecuted instantiation: specific.c:DictHash
Unexecuted instantiation: stream_output.c:DictHash
Unexecuted instantiation: vlm.c:DictHash
Unexecuted instantiation: vlm_event.c:DictHash
Unexecuted instantiation: vlmshell.c:DictHash
Unexecuted instantiation: es_out.c:DictHash
Unexecuted instantiation: es_out_timeshift.c:DictHash
Unexecuted instantiation: parse.c:DictHash
Unexecuted instantiation: fetcher.c:DictHash
404
405
typedef struct vlc_dictionary_entry_t
406
{
407
    char *   psz_key;
408
    void *   p_value;
409
    struct vlc_dictionary_entry_t * p_next;
410
} vlc_dictionary_entry_t;
411
412
typedef struct vlc_dictionary_t
413
{
414
    size_t i_size;
415
    vlc_dictionary_entry_t ** p_entries;
416
} vlc_dictionary_t;
417
418
static void * const kVLCDictionaryNotFound = NULL;
419
420
static inline void vlc_dictionary_init(vlc_dictionary_t * p_dict, size_t i_size)
421
1.60M
{
422
1.60M
    p_dict->p_entries = NULL;
423
424
1.60M
    if( i_size > 0 )
425
830k
    {
426
830k
        p_dict->p_entries = (vlc_dictionary_entry_t **)calloc( i_size, sizeof(*p_dict->p_entries) );
427
830k
        if( !p_dict->p_entries )
428
0
            i_size = 0;
429
830k
    }
430
1.60M
    p_dict->i_size = i_size;
431
1.60M
}
Unexecuted instantiation: demux-run.c:vlc_dictionary_init
Unexecuted instantiation: common.c:vlc_dictionary_init
Unexecuted instantiation: decoder.c:vlc_dictionary_init
Unexecuted instantiation: core.c:vlc_dictionary_init
Unexecuted instantiation: error.c:vlc_dictionary_init
Unexecuted instantiation: asf.c:vlc_dictionary_init
Unexecuted instantiation: avi.c:vlc_dictionary_init
Unexecuted instantiation: es.c:vlc_dictionary_init
Unexecuted instantiation: flac.c:vlc_dictionary_init
Unexecuted instantiation: xiph_metadata.c:vlc_dictionary_init
Unexecuted instantiation: mp4.c:vlc_dictionary_init
Unexecuted instantiation: heif.c:vlc_dictionary_init
Unexecuted instantiation: sap.c:vlc_dictionary_init
Unexecuted instantiation: subtitle.c:vlc_dictionary_init
ttml.c:vlc_dictionary_init
Line
Count
Source
421
1.19M
{
422
1.19M
    p_dict->p_entries = NULL;
423
424
1.19M
    if( i_size > 0 )
425
586k
    {
426
586k
        p_dict->p_entries = (vlc_dictionary_entry_t **)calloc( i_size, sizeof(*p_dict->p_entries) );
427
586k
        if( !p_dict->p_entries )
428
0
            i_size = 0;
429
586k
    }
430
1.19M
    p_dict->i_size = i_size;
431
1.19M
}
Unexecuted instantiation: encttml.c:vlc_dictionary_init
substtml.c:vlc_dictionary_init
Line
Count
Source
421
396k
{
422
396k
    p_dict->p_entries = NULL;
423
424
396k
    if( i_size > 0 )
425
243k
    {
426
243k
        p_dict->p_entries = (vlc_dictionary_entry_t **)calloc( i_size, sizeof(*p_dict->p_entries) );
427
243k
        if( !p_dict->p_entries )
428
0
            i_size = 0;
429
243k
    }
430
396k
    p_dict->i_size = i_size;
431
396k
}
Unexecuted instantiation: genttml.c:vlc_dictionary_init
Unexecuted instantiation: subsvtt.c:vlc_dictionary_init
Unexecuted instantiation: hx.c:vlc_dictionary_init
Unexecuted instantiation: ogg.c:vlc_dictionary_init
ts.c:vlc_dictionary_init
Line
Count
Source
421
4.07k
{
422
4.07k
    p_dict->p_entries = NULL;
423
424
4.07k
    if( i_size > 0 )
425
0
    {
426
0
        p_dict->p_entries = (vlc_dictionary_entry_t **)calloc( i_size, sizeof(*p_dict->p_entries) );
427
0
        if( !p_dict->p_entries )
428
0
            i_size = 0;
429
0
    }
430
4.07k
    p_dict->i_size = i_size;
431
4.07k
}
Unexecuted instantiation: ts_pid.c:vlc_dictionary_init
Unexecuted instantiation: ts_psi.c:vlc_dictionary_init
Unexecuted instantiation: ts_si.c:vlc_dictionary_init
Unexecuted instantiation: ts_psip.c:vlc_dictionary_init
Unexecuted instantiation: ts_streams.c:vlc_dictionary_init
Unexecuted instantiation: ts_scte.c:vlc_dictionary_init
Unexecuted instantiation: mpeg4_iod.c:vlc_dictionary_init
Unexecuted instantiation: ts_arib.c:vlc_dictionary_init
Unexecuted instantiation: ts_sl.c:vlc_dictionary_init
Unexecuted instantiation: ts_metadata.c:vlc_dictionary_init
Unexecuted instantiation: ts_hotfixes.c:vlc_dictionary_init
Unexecuted instantiation: ts_pes.c:vlc_dictionary_init
Unexecuted instantiation: matroska_segment.cpp:vlc_dictionary_init(vlc_dictionary_t*, unsigned long)
Unexecuted instantiation: chapters.cpp:vlc_dictionary_init(vlc_dictionary_t*, unsigned long)
Unexecuted instantiation: chapter_command.cpp:vlc_dictionary_init(vlc_dictionary_t*, unsigned long)
Unexecuted instantiation: dvbsub.c:vlc_dictionary_init
Unexecuted instantiation: subsusf.c:vlc_dictionary_init
Unexecuted instantiation: libvlc.c:vlc_dictionary_init
Unexecuted instantiation: media_tree.c:vlc_dictionary_init
Unexecuted instantiation: modules.c:vlc_dictionary_init
Unexecuted instantiation: entry.c:vlc_dictionary_init
Unexecuted instantiation: dialog.c:vlc_dictionary_init
Unexecuted instantiation: interface.c:vlc_dictionary_init
Unexecuted instantiation: external.c:vlc_dictionary_init
Unexecuted instantiation: item.c:vlc_dictionary_init
Unexecuted instantiation: access.c:vlc_dictionary_init
Unexecuted instantiation: demux.c:vlc_dictionary_init
Unexecuted instantiation: input.c:vlc_dictionary_init
meta.c:vlc_dictionary_init
Line
Count
Source
421
4.92k
{
422
4.92k
    p_dict->p_entries = NULL;
423
424
4.92k
    if( i_size > 0 )
425
1.36k
    {
426
1.36k
        p_dict->p_entries = (vlc_dictionary_entry_t **)calloc( i_size, sizeof(*p_dict->p_entries) );
427
1.36k
        if( !p_dict->p_entries )
428
0
            i_size = 0;
429
1.36k
    }
430
4.92k
    p_dict->i_size = i_size;
431
4.92k
}
Unexecuted instantiation: player.c:vlc_dictionary_init
Unexecuted instantiation: stream.c:vlc_dictionary_init
Unexecuted instantiation: stream_extractor.c:vlc_dictionary_init
Unexecuted instantiation: stream_filter.c:vlc_dictionary_init
Unexecuted instantiation: stream_memory.c:vlc_dictionary_init
Unexecuted instantiation: subtitles.c:vlc_dictionary_init
Unexecuted instantiation: video_output.c:vlc_dictionary_init
Unexecuted instantiation: strings.c:vlc_dictionary_init
Unexecuted instantiation: epg.c:vlc_dictionary_init
Unexecuted instantiation: exit.c:vlc_dictionary_init
Unexecuted instantiation: variables.c:vlc_dictionary_init
Unexecuted instantiation: httpcookies.c:vlc_dictionary_init
Unexecuted instantiation: specific.c:vlc_dictionary_init
Unexecuted instantiation: stream_output.c:vlc_dictionary_init
Unexecuted instantiation: vlm.c:vlc_dictionary_init
Unexecuted instantiation: vlm_event.c:vlc_dictionary_init
Unexecuted instantiation: vlmshell.c:vlc_dictionary_init
Unexecuted instantiation: es_out.c:vlc_dictionary_init
Unexecuted instantiation: es_out_timeshift.c:vlc_dictionary_init
Unexecuted instantiation: parse.c:vlc_dictionary_init
Unexecuted instantiation: fetcher.c:vlc_dictionary_init
432
433
static inline void vlc_dictionary_clear( vlc_dictionary_t * p_dict,
434
                                         void ( * pf_free )( void * p_data, void * p_obj ),
435
                                         void * p_obj )
436
978k
{
437
978k
    if( p_dict->p_entries )
438
830k
    {
439
2.89M
        for (size_t i = 0; i < p_dict->i_size; i++)
440
2.06M
        {
441
2.06M
            vlc_dictionary_entry_t * p_current, * p_next;
442
2.06M
            p_current = p_dict->p_entries[i];
443
5.05M
            while( p_current )
444
2.99M
            {
445
2.99M
                p_next = p_current->p_next;
446
2.99M
                if( pf_free != NULL )
447
1.00M
                    ( * pf_free )( p_current->p_value, p_obj );
448
2.99M
                free( p_current->psz_key );
449
2.99M
                free( p_current );
450
2.99M
                p_current = p_next;
451
2.99M
            }
452
2.06M
        }
453
830k
        free( p_dict->p_entries );
454
830k
        p_dict->p_entries = NULL;
455
830k
    }
456
978k
    p_dict->i_size = 0;
457
978k
}
Unexecuted instantiation: demux-run.c:vlc_dictionary_clear
Unexecuted instantiation: common.c:vlc_dictionary_clear
Unexecuted instantiation: decoder.c:vlc_dictionary_clear
Unexecuted instantiation: core.c:vlc_dictionary_clear
Unexecuted instantiation: error.c:vlc_dictionary_clear
Unexecuted instantiation: asf.c:vlc_dictionary_clear
Unexecuted instantiation: avi.c:vlc_dictionary_clear
Unexecuted instantiation: es.c:vlc_dictionary_clear
Unexecuted instantiation: flac.c:vlc_dictionary_clear
Unexecuted instantiation: xiph_metadata.c:vlc_dictionary_clear
Unexecuted instantiation: mp4.c:vlc_dictionary_clear
Unexecuted instantiation: heif.c:vlc_dictionary_clear
Unexecuted instantiation: sap.c:vlc_dictionary_clear
Unexecuted instantiation: subtitle.c:vlc_dictionary_clear
ttml.c:vlc_dictionary_clear
Line
Count
Source
436
671k
{
437
671k
    if( p_dict->p_entries )
438
586k
    {
439
1.62M
        for (size_t i = 0; i < p_dict->i_size; i++)
440
1.03M
        {
441
1.03M
            vlc_dictionary_entry_t * p_current, * p_next;
442
1.03M
            p_current = p_dict->p_entries[i];
443
2.29M
            while( p_current )
444
1.25M
            {
445
1.25M
                p_next = p_current->p_next;
446
1.25M
                if( pf_free != NULL )
447
1.00M
                    ( * pf_free )( p_current->p_value, p_obj );
448
1.25M
                free( p_current->psz_key );
449
1.25M
                free( p_current );
450
1.25M
                p_current = p_next;
451
1.25M
            }
452
1.03M
        }
453
586k
        free( p_dict->p_entries );
454
        p_dict->p_entries = NULL;
455
586k
    }
456
671k
    p_dict->i_size = 0;
457
671k
}
Unexecuted instantiation: encttml.c:vlc_dictionary_clear
substtml.c:vlc_dictionary_clear
Line
Count
Source
436
298k
{
437
298k
    if( p_dict->p_entries )
438
243k
    {
439
1.26M
        for (size_t i = 0; i < p_dict->i_size; i++)
440
1.02M
        {
441
1.02M
            vlc_dictionary_entry_t * p_current, * p_next;
442
1.02M
            p_current = p_dict->p_entries[i];
443
2.75M
            while( p_current )
444
1.73M
            {
445
1.73M
                p_next = p_current->p_next;
446
1.73M
                if( pf_free != NULL )
447
0
                    ( * pf_free )( p_current->p_value, p_obj );
448
1.73M
                free( p_current->psz_key );
449
1.73M
                free( p_current );
450
1.73M
                p_current = p_next;
451
1.73M
            }
452
1.02M
        }
453
243k
        free( p_dict->p_entries );
454
        p_dict->p_entries = NULL;
455
243k
    }
456
298k
    p_dict->i_size = 0;
457
298k
}
Unexecuted instantiation: genttml.c:vlc_dictionary_clear
Unexecuted instantiation: subsvtt.c:vlc_dictionary_clear
Unexecuted instantiation: hx.c:vlc_dictionary_clear
Unexecuted instantiation: ogg.c:vlc_dictionary_clear
ts.c:vlc_dictionary_clear
Line
Count
Source
436
4.07k
{
437
4.07k
    if( p_dict->p_entries )
438
0
    {
439
0
        for (size_t i = 0; i < p_dict->i_size; i++)
440
0
        {
441
0
            vlc_dictionary_entry_t * p_current, * p_next;
442
0
            p_current = p_dict->p_entries[i];
443
0
            while( p_current )
444
0
            {
445
0
                p_next = p_current->p_next;
446
0
                if( pf_free != NULL )
447
0
                    ( * pf_free )( p_current->p_value, p_obj );
448
0
                free( p_current->psz_key );
449
0
                free( p_current );
450
0
                p_current = p_next;
451
0
            }
452
0
        }
453
0
        free( p_dict->p_entries );
454
        p_dict->p_entries = NULL;
455
0
    }
456
4.07k
    p_dict->i_size = 0;
457
4.07k
}
Unexecuted instantiation: ts_pid.c:vlc_dictionary_clear
Unexecuted instantiation: ts_psi.c:vlc_dictionary_clear
Unexecuted instantiation: ts_si.c:vlc_dictionary_clear
Unexecuted instantiation: ts_psip.c:vlc_dictionary_clear
Unexecuted instantiation: ts_streams.c:vlc_dictionary_clear
Unexecuted instantiation: ts_scte.c:vlc_dictionary_clear
Unexecuted instantiation: mpeg4_iod.c:vlc_dictionary_clear
Unexecuted instantiation: ts_arib.c:vlc_dictionary_clear
Unexecuted instantiation: ts_sl.c:vlc_dictionary_clear
Unexecuted instantiation: ts_metadata.c:vlc_dictionary_clear
Unexecuted instantiation: ts_hotfixes.c:vlc_dictionary_clear
Unexecuted instantiation: ts_pes.c:vlc_dictionary_clear
Unexecuted instantiation: matroska_segment.cpp:vlc_dictionary_clear(vlc_dictionary_t*, void (*)(void*, void*), void*)
Unexecuted instantiation: chapters.cpp:vlc_dictionary_clear(vlc_dictionary_t*, void (*)(void*, void*), void*)
Unexecuted instantiation: chapter_command.cpp:vlc_dictionary_clear(vlc_dictionary_t*, void (*)(void*, void*), void*)
Unexecuted instantiation: dvbsub.c:vlc_dictionary_clear
Unexecuted instantiation: subsusf.c:vlc_dictionary_clear
Unexecuted instantiation: libvlc.c:vlc_dictionary_clear
Unexecuted instantiation: media_tree.c:vlc_dictionary_clear
Unexecuted instantiation: modules.c:vlc_dictionary_clear
Unexecuted instantiation: entry.c:vlc_dictionary_clear
Unexecuted instantiation: dialog.c:vlc_dictionary_clear
Unexecuted instantiation: interface.c:vlc_dictionary_clear
Unexecuted instantiation: external.c:vlc_dictionary_clear
Unexecuted instantiation: item.c:vlc_dictionary_clear
Unexecuted instantiation: access.c:vlc_dictionary_clear
Unexecuted instantiation: demux.c:vlc_dictionary_clear
Unexecuted instantiation: input.c:vlc_dictionary_clear
meta.c:vlc_dictionary_clear
Line
Count
Source
436
3.58k
{
437
3.58k
    if( p_dict->p_entries )
438
1.36k
    {
439
3.57k
        for (size_t i = 0; i < p_dict->i_size; i++)
440
2.21k
        {
441
2.21k
            vlc_dictionary_entry_t * p_current, * p_next;
442
2.21k
            p_current = p_dict->p_entries[i];
443
4.21k
            while( p_current )
444
2.00k
            {
445
2.00k
                p_next = p_current->p_next;
446
2.00k
                if( pf_free != NULL )
447
1.63k
                    ( * pf_free )( p_current->p_value, p_obj );
448
2.00k
                free( p_current->psz_key );
449
2.00k
                free( p_current );
450
2.00k
                p_current = p_next;
451
2.00k
            }
452
2.21k
        }
453
1.36k
        free( p_dict->p_entries );
454
        p_dict->p_entries = NULL;
455
1.36k
    }
456
3.58k
    p_dict->i_size = 0;
457
3.58k
}
Unexecuted instantiation: player.c:vlc_dictionary_clear
Unexecuted instantiation: stream.c:vlc_dictionary_clear
Unexecuted instantiation: stream_extractor.c:vlc_dictionary_clear
Unexecuted instantiation: stream_filter.c:vlc_dictionary_clear
Unexecuted instantiation: stream_memory.c:vlc_dictionary_clear
Unexecuted instantiation: subtitles.c:vlc_dictionary_clear
Unexecuted instantiation: video_output.c:vlc_dictionary_clear
Unexecuted instantiation: strings.c:vlc_dictionary_clear
Unexecuted instantiation: epg.c:vlc_dictionary_clear
Unexecuted instantiation: exit.c:vlc_dictionary_clear
Unexecuted instantiation: variables.c:vlc_dictionary_clear
Unexecuted instantiation: httpcookies.c:vlc_dictionary_clear
Unexecuted instantiation: specific.c:vlc_dictionary_clear
Unexecuted instantiation: stream_output.c:vlc_dictionary_clear
Unexecuted instantiation: vlm.c:vlc_dictionary_clear
Unexecuted instantiation: vlm_event.c:vlc_dictionary_clear
Unexecuted instantiation: vlmshell.c:vlc_dictionary_clear
Unexecuted instantiation: es_out.c:vlc_dictionary_clear
Unexecuted instantiation: es_out_timeshift.c:vlc_dictionary_clear
Unexecuted instantiation: parse.c:vlc_dictionary_clear
Unexecuted instantiation: fetcher.c:vlc_dictionary_clear
458
459
static inline int
460
vlc_dictionary_has_key( const vlc_dictionary_t * p_dict, const char * psz_key )
461
3.13M
{
462
3.13M
    if( !p_dict->p_entries )
463
98.2k
        return 0;
464
465
3.03M
    size_t i_pos = DictHash(psz_key, p_dict->i_size);
466
3.03M
    const vlc_dictionary_entry_t * p_entry = p_dict->p_entries[i_pos];
467
4.92M
    for( ; p_entry != NULL; p_entry = p_entry->p_next )
468
4.20M
    {
469
4.20M
        if( !strcmp( psz_key, p_entry->psz_key ) )
470
2.30M
            break;
471
4.20M
    }
472
3.03M
    return p_entry != NULL;
473
3.13M
}
Unexecuted instantiation: demux-run.c:vlc_dictionary_has_key
Unexecuted instantiation: common.c:vlc_dictionary_has_key
Unexecuted instantiation: decoder.c:vlc_dictionary_has_key
Unexecuted instantiation: core.c:vlc_dictionary_has_key
Unexecuted instantiation: error.c:vlc_dictionary_has_key
Unexecuted instantiation: asf.c:vlc_dictionary_has_key
Unexecuted instantiation: avi.c:vlc_dictionary_has_key
Unexecuted instantiation: es.c:vlc_dictionary_has_key
Unexecuted instantiation: flac.c:vlc_dictionary_has_key
Unexecuted instantiation: xiph_metadata.c:vlc_dictionary_has_key
Unexecuted instantiation: mp4.c:vlc_dictionary_has_key
Unexecuted instantiation: heif.c:vlc_dictionary_has_key
Unexecuted instantiation: sap.c:vlc_dictionary_has_key
Unexecuted instantiation: subtitle.c:vlc_dictionary_has_key
Unexecuted instantiation: ttml.c:vlc_dictionary_has_key
Unexecuted instantiation: encttml.c:vlc_dictionary_has_key
substtml.c:vlc_dictionary_has_key
Line
Count
Source
461
3.13M
{
462
3.13M
    if( !p_dict->p_entries )
463
98.2k
        return 0;
464
465
3.03M
    size_t i_pos = DictHash(psz_key, p_dict->i_size);
466
3.03M
    const vlc_dictionary_entry_t * p_entry = p_dict->p_entries[i_pos];
467
4.92M
    for( ; p_entry != NULL; p_entry = p_entry->p_next )
468
4.20M
    {
469
4.20M
        if( !strcmp( psz_key, p_entry->psz_key ) )
470
2.30M
            break;
471
4.20M
    }
472
    return p_entry != NULL;
473
3.13M
}
Unexecuted instantiation: genttml.c:vlc_dictionary_has_key
Unexecuted instantiation: subsvtt.c:vlc_dictionary_has_key
Unexecuted instantiation: hx.c:vlc_dictionary_has_key
Unexecuted instantiation: ogg.c:vlc_dictionary_has_key
Unexecuted instantiation: ts.c:vlc_dictionary_has_key
Unexecuted instantiation: ts_pid.c:vlc_dictionary_has_key
Unexecuted instantiation: ts_psi.c:vlc_dictionary_has_key
Unexecuted instantiation: ts_si.c:vlc_dictionary_has_key
Unexecuted instantiation: ts_psip.c:vlc_dictionary_has_key
Unexecuted instantiation: ts_streams.c:vlc_dictionary_has_key
Unexecuted instantiation: ts_scte.c:vlc_dictionary_has_key
Unexecuted instantiation: mpeg4_iod.c:vlc_dictionary_has_key
Unexecuted instantiation: ts_arib.c:vlc_dictionary_has_key
Unexecuted instantiation: ts_sl.c:vlc_dictionary_has_key
Unexecuted instantiation: ts_metadata.c:vlc_dictionary_has_key
Unexecuted instantiation: ts_hotfixes.c:vlc_dictionary_has_key
Unexecuted instantiation: ts_pes.c:vlc_dictionary_has_key
Unexecuted instantiation: matroska_segment.cpp:vlc_dictionary_has_key(vlc_dictionary_t const*, char const*)
Unexecuted instantiation: chapters.cpp:vlc_dictionary_has_key(vlc_dictionary_t const*, char const*)
Unexecuted instantiation: chapter_command.cpp:vlc_dictionary_has_key(vlc_dictionary_t const*, char const*)
Unexecuted instantiation: dvbsub.c:vlc_dictionary_has_key
Unexecuted instantiation: subsusf.c:vlc_dictionary_has_key
Unexecuted instantiation: libvlc.c:vlc_dictionary_has_key
Unexecuted instantiation: media_tree.c:vlc_dictionary_has_key
Unexecuted instantiation: modules.c:vlc_dictionary_has_key
Unexecuted instantiation: entry.c:vlc_dictionary_has_key
Unexecuted instantiation: dialog.c:vlc_dictionary_has_key
Unexecuted instantiation: interface.c:vlc_dictionary_has_key
Unexecuted instantiation: external.c:vlc_dictionary_has_key
Unexecuted instantiation: item.c:vlc_dictionary_has_key
Unexecuted instantiation: access.c:vlc_dictionary_has_key
Unexecuted instantiation: demux.c:vlc_dictionary_has_key
Unexecuted instantiation: input.c:vlc_dictionary_has_key
Unexecuted instantiation: meta.c:vlc_dictionary_has_key
Unexecuted instantiation: player.c:vlc_dictionary_has_key
Unexecuted instantiation: stream.c:vlc_dictionary_has_key
Unexecuted instantiation: stream_extractor.c:vlc_dictionary_has_key
Unexecuted instantiation: stream_filter.c:vlc_dictionary_has_key
Unexecuted instantiation: stream_memory.c:vlc_dictionary_has_key
Unexecuted instantiation: subtitles.c:vlc_dictionary_has_key
Unexecuted instantiation: video_output.c:vlc_dictionary_has_key
Unexecuted instantiation: strings.c:vlc_dictionary_has_key
Unexecuted instantiation: epg.c:vlc_dictionary_has_key
Unexecuted instantiation: exit.c:vlc_dictionary_has_key
Unexecuted instantiation: variables.c:vlc_dictionary_has_key
Unexecuted instantiation: httpcookies.c:vlc_dictionary_has_key
Unexecuted instantiation: specific.c:vlc_dictionary_has_key
Unexecuted instantiation: stream_output.c:vlc_dictionary_has_key
Unexecuted instantiation: vlm.c:vlc_dictionary_has_key
Unexecuted instantiation: vlm_event.c:vlc_dictionary_has_key
Unexecuted instantiation: vlmshell.c:vlc_dictionary_has_key
Unexecuted instantiation: es_out.c:vlc_dictionary_has_key
Unexecuted instantiation: es_out_timeshift.c:vlc_dictionary_has_key
Unexecuted instantiation: parse.c:vlc_dictionary_has_key
Unexecuted instantiation: fetcher.c:vlc_dictionary_has_key
474
475
static inline void *
476
vlc_dictionary_value_for_key( const vlc_dictionary_t * p_dict, const char * psz_key )
477
4.32M
{
478
4.32M
    if( !p_dict->p_entries )
479
535k
        return kVLCDictionaryNotFound;
480
481
3.78M
    size_t i_pos = DictHash(psz_key, p_dict->i_size);
482
3.78M
    vlc_dictionary_entry_t * p_entry = p_dict->p_entries[i_pos];
483
484
3.78M
    if( !p_entry )
485
60.0k
        return kVLCDictionaryNotFound;
486
487
    /* Make sure we return the right item. (Hash collision) */
488
6.16M
    do {
489
6.16M
        if( !strcmp( psz_key, p_entry->psz_key ) )
490
379k
            return p_entry->p_value;
491
5.78M
        p_entry = p_entry->p_next;
492
5.78M
    } while( p_entry );
493
494
3.34M
    return kVLCDictionaryNotFound;
495
3.72M
}
Unexecuted instantiation: demux-run.c:vlc_dictionary_value_for_key
Unexecuted instantiation: common.c:vlc_dictionary_value_for_key
Unexecuted instantiation: decoder.c:vlc_dictionary_value_for_key
Unexecuted instantiation: core.c:vlc_dictionary_value_for_key
Unexecuted instantiation: error.c:vlc_dictionary_value_for_key
Unexecuted instantiation: asf.c:vlc_dictionary_value_for_key
Unexecuted instantiation: avi.c:vlc_dictionary_value_for_key
Unexecuted instantiation: es.c:vlc_dictionary_value_for_key
Unexecuted instantiation: flac.c:vlc_dictionary_value_for_key
Unexecuted instantiation: xiph_metadata.c:vlc_dictionary_value_for_key
Unexecuted instantiation: mp4.c:vlc_dictionary_value_for_key
Unexecuted instantiation: heif.c:vlc_dictionary_value_for_key
Unexecuted instantiation: sap.c:vlc_dictionary_value_for_key
Unexecuted instantiation: subtitle.c:vlc_dictionary_value_for_key
ttml.c:vlc_dictionary_value_for_key
Line
Count
Source
477
4.21M
{
478
4.21M
    if( !p_dict->p_entries )
479
504k
        return kVLCDictionaryNotFound;
480
481
3.71M
    size_t i_pos = DictHash(psz_key, p_dict->i_size);
482
3.71M
    vlc_dictionary_entry_t * p_entry = p_dict->p_entries[i_pos];
483
484
3.71M
    if( !p_entry )
485
45.7k
        return kVLCDictionaryNotFound;
486
487
    /* Make sure we return the right item. (Hash collision) */
488
6.07M
    do {
489
6.07M
        if( !strcmp( psz_key, p_entry->psz_key ) )
490
372k
            return p_entry->p_value;
491
5.70M
        p_entry = p_entry->p_next;
492
5.70M
    } while( p_entry );
493
494
3.29M
    return kVLCDictionaryNotFound;
495
3.66M
}
Unexecuted instantiation: encttml.c:vlc_dictionary_value_for_key
substtml.c:vlc_dictionary_value_for_key
Line
Count
Source
477
31.5k
{
478
31.5k
    if( !p_dict->p_entries )
479
0
        return kVLCDictionaryNotFound;
480
481
31.5k
    size_t i_pos = DictHash(psz_key, p_dict->i_size);
482
31.5k
    vlc_dictionary_entry_t * p_entry = p_dict->p_entries[i_pos];
483
484
31.5k
    if( !p_entry )
485
13.0k
        return kVLCDictionaryNotFound;
486
487
    /* Make sure we return the right item. (Hash collision) */
488
27.9k
    do {
489
27.9k
        if( !strcmp( psz_key, p_entry->psz_key ) )
490
5.17k
            return p_entry->p_value;
491
22.7k
        p_entry = p_entry->p_next;
492
22.7k
    } while( p_entry );
493
494
13.3k
    return kVLCDictionaryNotFound;
495
18.5k
}
Unexecuted instantiation: genttml.c:vlc_dictionary_value_for_key
Unexecuted instantiation: subsvtt.c:vlc_dictionary_value_for_key
Unexecuted instantiation: hx.c:vlc_dictionary_value_for_key
Unexecuted instantiation: ogg.c:vlc_dictionary_value_for_key
Unexecuted instantiation: ts.c:vlc_dictionary_value_for_key
Unexecuted instantiation: ts_pid.c:vlc_dictionary_value_for_key
Unexecuted instantiation: ts_psi.c:vlc_dictionary_value_for_key
Unexecuted instantiation: ts_si.c:vlc_dictionary_value_for_key
Unexecuted instantiation: ts_psip.c:vlc_dictionary_value_for_key
Unexecuted instantiation: ts_streams.c:vlc_dictionary_value_for_key
Unexecuted instantiation: ts_scte.c:vlc_dictionary_value_for_key
Unexecuted instantiation: mpeg4_iod.c:vlc_dictionary_value_for_key
Unexecuted instantiation: ts_arib.c:vlc_dictionary_value_for_key
Unexecuted instantiation: ts_sl.c:vlc_dictionary_value_for_key
Unexecuted instantiation: ts_metadata.c:vlc_dictionary_value_for_key
Unexecuted instantiation: ts_hotfixes.c:vlc_dictionary_value_for_key
Unexecuted instantiation: ts_pes.c:vlc_dictionary_value_for_key
Unexecuted instantiation: matroska_segment.cpp:vlc_dictionary_value_for_key(vlc_dictionary_t const*, char const*)
Unexecuted instantiation: chapters.cpp:vlc_dictionary_value_for_key(vlc_dictionary_t const*, char const*)
Unexecuted instantiation: chapter_command.cpp:vlc_dictionary_value_for_key(vlc_dictionary_t const*, char const*)
Unexecuted instantiation: dvbsub.c:vlc_dictionary_value_for_key
Unexecuted instantiation: subsusf.c:vlc_dictionary_value_for_key
Unexecuted instantiation: libvlc.c:vlc_dictionary_value_for_key
Unexecuted instantiation: media_tree.c:vlc_dictionary_value_for_key
Unexecuted instantiation: modules.c:vlc_dictionary_value_for_key
Unexecuted instantiation: entry.c:vlc_dictionary_value_for_key
Unexecuted instantiation: dialog.c:vlc_dictionary_value_for_key
Unexecuted instantiation: interface.c:vlc_dictionary_value_for_key
Unexecuted instantiation: external.c:vlc_dictionary_value_for_key
Unexecuted instantiation: item.c:vlc_dictionary_value_for_key
Unexecuted instantiation: access.c:vlc_dictionary_value_for_key
Unexecuted instantiation: demux.c:vlc_dictionary_value_for_key
Unexecuted instantiation: input.c:vlc_dictionary_value_for_key
meta.c:vlc_dictionary_value_for_key
Line
Count
Source
477
73.7k
{
478
73.7k
    if( !p_dict->p_entries )
479
30.8k
        return kVLCDictionaryNotFound;
480
481
42.8k
    size_t i_pos = DictHash(psz_key, p_dict->i_size);
482
42.8k
    vlc_dictionary_entry_t * p_entry = p_dict->p_entries[i_pos];
483
484
42.8k
    if( !p_entry )
485
1.27k
        return kVLCDictionaryNotFound;
486
487
    /* Make sure we return the right item. (Hash collision) */
488
63.3k
    do {
489
63.3k
        if( !strcmp( psz_key, p_entry->psz_key ) )
490
1.94k
            return p_entry->p_value;
491
61.4k
        p_entry = p_entry->p_next;
492
61.4k
    } while( p_entry );
493
494
39.6k
    return kVLCDictionaryNotFound;
495
41.5k
}
Unexecuted instantiation: player.c:vlc_dictionary_value_for_key
Unexecuted instantiation: stream.c:vlc_dictionary_value_for_key
Unexecuted instantiation: stream_extractor.c:vlc_dictionary_value_for_key
Unexecuted instantiation: stream_filter.c:vlc_dictionary_value_for_key
Unexecuted instantiation: stream_memory.c:vlc_dictionary_value_for_key
Unexecuted instantiation: subtitles.c:vlc_dictionary_value_for_key
Unexecuted instantiation: video_output.c:vlc_dictionary_value_for_key
Unexecuted instantiation: strings.c:vlc_dictionary_value_for_key
Unexecuted instantiation: epg.c:vlc_dictionary_value_for_key
Unexecuted instantiation: exit.c:vlc_dictionary_value_for_key
Unexecuted instantiation: variables.c:vlc_dictionary_value_for_key
Unexecuted instantiation: httpcookies.c:vlc_dictionary_value_for_key
Unexecuted instantiation: specific.c:vlc_dictionary_value_for_key
Unexecuted instantiation: stream_output.c:vlc_dictionary_value_for_key
Unexecuted instantiation: vlm.c:vlc_dictionary_value_for_key
Unexecuted instantiation: vlm_event.c:vlc_dictionary_value_for_key
Unexecuted instantiation: vlmshell.c:vlc_dictionary_value_for_key
Unexecuted instantiation: es_out.c:vlc_dictionary_value_for_key
Unexecuted instantiation: es_out_timeshift.c:vlc_dictionary_value_for_key
Unexecuted instantiation: parse.c:vlc_dictionary_value_for_key
Unexecuted instantiation: fetcher.c:vlc_dictionary_value_for_key
496
497
static inline size_t
498
vlc_dictionary_keys_count( const vlc_dictionary_t * p_dict )
499
11
{
500
11
    vlc_dictionary_entry_t * p_entry;
501
11
    size_t i, count = 0;
502
503
11
    if( !p_dict->p_entries )
504
1
        return 0;
505
506
20
    for( i = 0; i < p_dict->i_size; i++ )
507
10
    {
508
20
        for( p_entry = p_dict->p_entries[i]; p_entry; p_entry = p_entry->p_next ) count++;
509
10
    }
510
10
    return count;
511
11
}
Unexecuted instantiation: demux-run.c:vlc_dictionary_keys_count
Unexecuted instantiation: common.c:vlc_dictionary_keys_count
Unexecuted instantiation: decoder.c:vlc_dictionary_keys_count
Unexecuted instantiation: core.c:vlc_dictionary_keys_count
Unexecuted instantiation: error.c:vlc_dictionary_keys_count
Unexecuted instantiation: asf.c:vlc_dictionary_keys_count
Unexecuted instantiation: avi.c:vlc_dictionary_keys_count
Unexecuted instantiation: es.c:vlc_dictionary_keys_count
Unexecuted instantiation: flac.c:vlc_dictionary_keys_count
Unexecuted instantiation: xiph_metadata.c:vlc_dictionary_keys_count
Unexecuted instantiation: mp4.c:vlc_dictionary_keys_count
Unexecuted instantiation: heif.c:vlc_dictionary_keys_count
Unexecuted instantiation: sap.c:vlc_dictionary_keys_count
Unexecuted instantiation: subtitle.c:vlc_dictionary_keys_count
Unexecuted instantiation: ttml.c:vlc_dictionary_keys_count
Unexecuted instantiation: encttml.c:vlc_dictionary_keys_count
Unexecuted instantiation: substtml.c:vlc_dictionary_keys_count
Unexecuted instantiation: genttml.c:vlc_dictionary_keys_count
Unexecuted instantiation: subsvtt.c:vlc_dictionary_keys_count
Unexecuted instantiation: hx.c:vlc_dictionary_keys_count
Unexecuted instantiation: ogg.c:vlc_dictionary_keys_count
Unexecuted instantiation: ts.c:vlc_dictionary_keys_count
Unexecuted instantiation: ts_pid.c:vlc_dictionary_keys_count
Unexecuted instantiation: ts_psi.c:vlc_dictionary_keys_count
Unexecuted instantiation: ts_si.c:vlc_dictionary_keys_count
Unexecuted instantiation: ts_psip.c:vlc_dictionary_keys_count
Unexecuted instantiation: ts_streams.c:vlc_dictionary_keys_count
Unexecuted instantiation: ts_scte.c:vlc_dictionary_keys_count
Unexecuted instantiation: mpeg4_iod.c:vlc_dictionary_keys_count
Unexecuted instantiation: ts_arib.c:vlc_dictionary_keys_count
Unexecuted instantiation: ts_sl.c:vlc_dictionary_keys_count
Unexecuted instantiation: ts_metadata.c:vlc_dictionary_keys_count
Unexecuted instantiation: ts_hotfixes.c:vlc_dictionary_keys_count
Unexecuted instantiation: ts_pes.c:vlc_dictionary_keys_count
Unexecuted instantiation: matroska_segment.cpp:vlc_dictionary_keys_count(vlc_dictionary_t const*)
Unexecuted instantiation: chapters.cpp:vlc_dictionary_keys_count(vlc_dictionary_t const*)
Unexecuted instantiation: chapter_command.cpp:vlc_dictionary_keys_count(vlc_dictionary_t const*)
Unexecuted instantiation: dvbsub.c:vlc_dictionary_keys_count
Unexecuted instantiation: subsusf.c:vlc_dictionary_keys_count
Unexecuted instantiation: libvlc.c:vlc_dictionary_keys_count
Unexecuted instantiation: media_tree.c:vlc_dictionary_keys_count
Unexecuted instantiation: modules.c:vlc_dictionary_keys_count
Unexecuted instantiation: entry.c:vlc_dictionary_keys_count
Unexecuted instantiation: dialog.c:vlc_dictionary_keys_count
Unexecuted instantiation: interface.c:vlc_dictionary_keys_count
Unexecuted instantiation: external.c:vlc_dictionary_keys_count
Unexecuted instantiation: item.c:vlc_dictionary_keys_count
Unexecuted instantiation: access.c:vlc_dictionary_keys_count
Unexecuted instantiation: demux.c:vlc_dictionary_keys_count
Unexecuted instantiation: input.c:vlc_dictionary_keys_count
meta.c:vlc_dictionary_keys_count
Line
Count
Source
499
11
{
500
11
    vlc_dictionary_entry_t * p_entry;
501
11
    size_t i, count = 0;
502
503
11
    if( !p_dict->p_entries )
504
1
        return 0;
505
506
20
    for( i = 0; i < p_dict->i_size; i++ )
507
10
    {
508
20
        for( p_entry = p_dict->p_entries[i]; p_entry; p_entry = p_entry->p_next ) count++;
509
10
    }
510
10
    return count;
511
11
}
Unexecuted instantiation: player.c:vlc_dictionary_keys_count
Unexecuted instantiation: stream.c:vlc_dictionary_keys_count
Unexecuted instantiation: stream_extractor.c:vlc_dictionary_keys_count
Unexecuted instantiation: stream_filter.c:vlc_dictionary_keys_count
Unexecuted instantiation: stream_memory.c:vlc_dictionary_keys_count
Unexecuted instantiation: subtitles.c:vlc_dictionary_keys_count
Unexecuted instantiation: video_output.c:vlc_dictionary_keys_count
Unexecuted instantiation: strings.c:vlc_dictionary_keys_count
Unexecuted instantiation: epg.c:vlc_dictionary_keys_count
Unexecuted instantiation: exit.c:vlc_dictionary_keys_count
Unexecuted instantiation: variables.c:vlc_dictionary_keys_count
Unexecuted instantiation: httpcookies.c:vlc_dictionary_keys_count
Unexecuted instantiation: specific.c:vlc_dictionary_keys_count
Unexecuted instantiation: stream_output.c:vlc_dictionary_keys_count
Unexecuted instantiation: vlm.c:vlc_dictionary_keys_count
Unexecuted instantiation: vlm_event.c:vlc_dictionary_keys_count
Unexecuted instantiation: vlmshell.c:vlc_dictionary_keys_count
Unexecuted instantiation: es_out.c:vlc_dictionary_keys_count
Unexecuted instantiation: es_out_timeshift.c:vlc_dictionary_keys_count
Unexecuted instantiation: parse.c:vlc_dictionary_keys_count
Unexecuted instantiation: fetcher.c:vlc_dictionary_keys_count
512
513
static inline bool
514
vlc_dictionary_is_empty( const vlc_dictionary_t * p_dict )
515
132k
{
516
132k
    if( p_dict->p_entries )
517
131k
        for (size_t i = 0; i < p_dict->i_size; i++)
518
131k
            if( p_dict->p_entries[i] )
519
92.1k
                return false;
520
40.8k
    return true;
521
132k
}
Unexecuted instantiation: demux-run.c:vlc_dictionary_is_empty
Unexecuted instantiation: common.c:vlc_dictionary_is_empty
Unexecuted instantiation: decoder.c:vlc_dictionary_is_empty
Unexecuted instantiation: core.c:vlc_dictionary_is_empty
Unexecuted instantiation: error.c:vlc_dictionary_is_empty
Unexecuted instantiation: asf.c:vlc_dictionary_is_empty
Unexecuted instantiation: avi.c:vlc_dictionary_is_empty
Unexecuted instantiation: es.c:vlc_dictionary_is_empty
Unexecuted instantiation: flac.c:vlc_dictionary_is_empty
Unexecuted instantiation: xiph_metadata.c:vlc_dictionary_is_empty
Unexecuted instantiation: mp4.c:vlc_dictionary_is_empty
Unexecuted instantiation: heif.c:vlc_dictionary_is_empty
Unexecuted instantiation: sap.c:vlc_dictionary_is_empty
Unexecuted instantiation: subtitle.c:vlc_dictionary_is_empty
Unexecuted instantiation: ttml.c:vlc_dictionary_is_empty
Unexecuted instantiation: encttml.c:vlc_dictionary_is_empty
substtml.c:vlc_dictionary_is_empty
Line
Count
Source
515
132k
{
516
132k
    if( p_dict->p_entries )
517
131k
        for (size_t i = 0; i < p_dict->i_size; i++)
518
131k
            if( p_dict->p_entries[i] )
519
92.1k
                return false;
520
40.8k
    return true;
521
132k
}
Unexecuted instantiation: genttml.c:vlc_dictionary_is_empty
Unexecuted instantiation: subsvtt.c:vlc_dictionary_is_empty
Unexecuted instantiation: hx.c:vlc_dictionary_is_empty
Unexecuted instantiation: ogg.c:vlc_dictionary_is_empty
Unexecuted instantiation: ts.c:vlc_dictionary_is_empty
Unexecuted instantiation: ts_pid.c:vlc_dictionary_is_empty
Unexecuted instantiation: ts_psi.c:vlc_dictionary_is_empty
Unexecuted instantiation: ts_si.c:vlc_dictionary_is_empty
Unexecuted instantiation: ts_psip.c:vlc_dictionary_is_empty
Unexecuted instantiation: ts_streams.c:vlc_dictionary_is_empty
Unexecuted instantiation: ts_scte.c:vlc_dictionary_is_empty
Unexecuted instantiation: mpeg4_iod.c:vlc_dictionary_is_empty
Unexecuted instantiation: ts_arib.c:vlc_dictionary_is_empty
Unexecuted instantiation: ts_sl.c:vlc_dictionary_is_empty
Unexecuted instantiation: ts_metadata.c:vlc_dictionary_is_empty
Unexecuted instantiation: ts_hotfixes.c:vlc_dictionary_is_empty
Unexecuted instantiation: ts_pes.c:vlc_dictionary_is_empty
Unexecuted instantiation: matroska_segment.cpp:vlc_dictionary_is_empty(vlc_dictionary_t const*)
Unexecuted instantiation: chapters.cpp:vlc_dictionary_is_empty(vlc_dictionary_t const*)
Unexecuted instantiation: chapter_command.cpp:vlc_dictionary_is_empty(vlc_dictionary_t const*)
Unexecuted instantiation: dvbsub.c:vlc_dictionary_is_empty
Unexecuted instantiation: subsusf.c:vlc_dictionary_is_empty
Unexecuted instantiation: libvlc.c:vlc_dictionary_is_empty
Unexecuted instantiation: media_tree.c:vlc_dictionary_is_empty
Unexecuted instantiation: modules.c:vlc_dictionary_is_empty
Unexecuted instantiation: entry.c:vlc_dictionary_is_empty
Unexecuted instantiation: dialog.c:vlc_dictionary_is_empty
Unexecuted instantiation: interface.c:vlc_dictionary_is_empty
Unexecuted instantiation: external.c:vlc_dictionary_is_empty
Unexecuted instantiation: item.c:vlc_dictionary_is_empty
Unexecuted instantiation: access.c:vlc_dictionary_is_empty
Unexecuted instantiation: demux.c:vlc_dictionary_is_empty
Unexecuted instantiation: input.c:vlc_dictionary_is_empty
Unexecuted instantiation: meta.c:vlc_dictionary_is_empty
Unexecuted instantiation: player.c:vlc_dictionary_is_empty
Unexecuted instantiation: stream.c:vlc_dictionary_is_empty
Unexecuted instantiation: stream_extractor.c:vlc_dictionary_is_empty
Unexecuted instantiation: stream_filter.c:vlc_dictionary_is_empty
Unexecuted instantiation: stream_memory.c:vlc_dictionary_is_empty
Unexecuted instantiation: subtitles.c:vlc_dictionary_is_empty
Unexecuted instantiation: video_output.c:vlc_dictionary_is_empty
Unexecuted instantiation: strings.c:vlc_dictionary_is_empty
Unexecuted instantiation: epg.c:vlc_dictionary_is_empty
Unexecuted instantiation: exit.c:vlc_dictionary_is_empty
Unexecuted instantiation: variables.c:vlc_dictionary_is_empty
Unexecuted instantiation: httpcookies.c:vlc_dictionary_is_empty
Unexecuted instantiation: specific.c:vlc_dictionary_is_empty
Unexecuted instantiation: stream_output.c:vlc_dictionary_is_empty
Unexecuted instantiation: vlm.c:vlc_dictionary_is_empty
Unexecuted instantiation: vlm_event.c:vlc_dictionary_is_empty
Unexecuted instantiation: vlmshell.c:vlc_dictionary_is_empty
Unexecuted instantiation: es_out.c:vlc_dictionary_is_empty
Unexecuted instantiation: es_out_timeshift.c:vlc_dictionary_is_empty
Unexecuted instantiation: parse.c:vlc_dictionary_is_empty
Unexecuted instantiation: fetcher.c:vlc_dictionary_is_empty
522
523
static inline char **
524
vlc_dictionary_all_keys( const vlc_dictionary_t * p_dict )
525
11
{
526
11
    vlc_dictionary_entry_t * p_entry;
527
11
    char ** ppsz_ret;
528
11
    size_t i, count = vlc_dictionary_keys_count(p_dict);
529
530
11
    ppsz_ret = (char**)malloc(sizeof(char *) * (count + 1));
531
11
    if( unlikely(!ppsz_ret) )
532
0
        return NULL;
533
534
11
    count = 0;
535
21
    for( i = 0; i < p_dict->i_size; i++ )
536
10
    {
537
20
        for( p_entry = p_dict->p_entries[i]; p_entry; p_entry = p_entry->p_next )
538
10
            ppsz_ret[count++] = strdup( p_entry->psz_key );
539
10
    }
540
11
    ppsz_ret[count] = NULL;
541
11
    return ppsz_ret;
542
11
}
Unexecuted instantiation: demux-run.c:vlc_dictionary_all_keys
Unexecuted instantiation: common.c:vlc_dictionary_all_keys
Unexecuted instantiation: decoder.c:vlc_dictionary_all_keys
Unexecuted instantiation: core.c:vlc_dictionary_all_keys
Unexecuted instantiation: error.c:vlc_dictionary_all_keys
Unexecuted instantiation: asf.c:vlc_dictionary_all_keys
Unexecuted instantiation: avi.c:vlc_dictionary_all_keys
Unexecuted instantiation: es.c:vlc_dictionary_all_keys
Unexecuted instantiation: flac.c:vlc_dictionary_all_keys
Unexecuted instantiation: xiph_metadata.c:vlc_dictionary_all_keys
Unexecuted instantiation: mp4.c:vlc_dictionary_all_keys
Unexecuted instantiation: heif.c:vlc_dictionary_all_keys
Unexecuted instantiation: sap.c:vlc_dictionary_all_keys
Unexecuted instantiation: subtitle.c:vlc_dictionary_all_keys
Unexecuted instantiation: ttml.c:vlc_dictionary_all_keys
Unexecuted instantiation: encttml.c:vlc_dictionary_all_keys
Unexecuted instantiation: substtml.c:vlc_dictionary_all_keys
Unexecuted instantiation: genttml.c:vlc_dictionary_all_keys
Unexecuted instantiation: subsvtt.c:vlc_dictionary_all_keys
Unexecuted instantiation: hx.c:vlc_dictionary_all_keys
Unexecuted instantiation: ogg.c:vlc_dictionary_all_keys
Unexecuted instantiation: ts.c:vlc_dictionary_all_keys
Unexecuted instantiation: ts_pid.c:vlc_dictionary_all_keys
Unexecuted instantiation: ts_psi.c:vlc_dictionary_all_keys
Unexecuted instantiation: ts_si.c:vlc_dictionary_all_keys
Unexecuted instantiation: ts_psip.c:vlc_dictionary_all_keys
Unexecuted instantiation: ts_streams.c:vlc_dictionary_all_keys
Unexecuted instantiation: ts_scte.c:vlc_dictionary_all_keys
Unexecuted instantiation: mpeg4_iod.c:vlc_dictionary_all_keys
Unexecuted instantiation: ts_arib.c:vlc_dictionary_all_keys
Unexecuted instantiation: ts_sl.c:vlc_dictionary_all_keys
Unexecuted instantiation: ts_metadata.c:vlc_dictionary_all_keys
Unexecuted instantiation: ts_hotfixes.c:vlc_dictionary_all_keys
Unexecuted instantiation: ts_pes.c:vlc_dictionary_all_keys
Unexecuted instantiation: matroska_segment.cpp:vlc_dictionary_all_keys(vlc_dictionary_t const*)
Unexecuted instantiation: chapters.cpp:vlc_dictionary_all_keys(vlc_dictionary_t const*)
Unexecuted instantiation: chapter_command.cpp:vlc_dictionary_all_keys(vlc_dictionary_t const*)
Unexecuted instantiation: dvbsub.c:vlc_dictionary_all_keys
Unexecuted instantiation: subsusf.c:vlc_dictionary_all_keys
Unexecuted instantiation: libvlc.c:vlc_dictionary_all_keys
Unexecuted instantiation: media_tree.c:vlc_dictionary_all_keys
Unexecuted instantiation: modules.c:vlc_dictionary_all_keys
Unexecuted instantiation: entry.c:vlc_dictionary_all_keys
Unexecuted instantiation: dialog.c:vlc_dictionary_all_keys
Unexecuted instantiation: interface.c:vlc_dictionary_all_keys
Unexecuted instantiation: external.c:vlc_dictionary_all_keys
Unexecuted instantiation: item.c:vlc_dictionary_all_keys
Unexecuted instantiation: access.c:vlc_dictionary_all_keys
Unexecuted instantiation: demux.c:vlc_dictionary_all_keys
Unexecuted instantiation: input.c:vlc_dictionary_all_keys
meta.c:vlc_dictionary_all_keys
Line
Count
Source
525
11
{
526
11
    vlc_dictionary_entry_t * p_entry;
527
11
    char ** ppsz_ret;
528
11
    size_t i, count = vlc_dictionary_keys_count(p_dict);
529
530
11
    ppsz_ret = (char**)malloc(sizeof(char *) * (count + 1));
531
11
    if( unlikely(!ppsz_ret) )
532
0
        return NULL;
533
534
11
    count = 0;
535
21
    for( i = 0; i < p_dict->i_size; i++ )
536
10
    {
537
20
        for( p_entry = p_dict->p_entries[i]; p_entry; p_entry = p_entry->p_next )
538
10
            ppsz_ret[count++] = strdup( p_entry->psz_key );
539
10
    }
540
    ppsz_ret[count] = NULL;
541
11
    return ppsz_ret;
542
11
}
Unexecuted instantiation: player.c:vlc_dictionary_all_keys
Unexecuted instantiation: stream.c:vlc_dictionary_all_keys
Unexecuted instantiation: stream_extractor.c:vlc_dictionary_all_keys
Unexecuted instantiation: stream_filter.c:vlc_dictionary_all_keys
Unexecuted instantiation: stream_memory.c:vlc_dictionary_all_keys
Unexecuted instantiation: subtitles.c:vlc_dictionary_all_keys
Unexecuted instantiation: video_output.c:vlc_dictionary_all_keys
Unexecuted instantiation: strings.c:vlc_dictionary_all_keys
Unexecuted instantiation: epg.c:vlc_dictionary_all_keys
Unexecuted instantiation: exit.c:vlc_dictionary_all_keys
Unexecuted instantiation: variables.c:vlc_dictionary_all_keys
Unexecuted instantiation: httpcookies.c:vlc_dictionary_all_keys
Unexecuted instantiation: specific.c:vlc_dictionary_all_keys
Unexecuted instantiation: stream_output.c:vlc_dictionary_all_keys
Unexecuted instantiation: vlm.c:vlc_dictionary_all_keys
Unexecuted instantiation: vlm_event.c:vlc_dictionary_all_keys
Unexecuted instantiation: vlmshell.c:vlc_dictionary_all_keys
Unexecuted instantiation: es_out.c:vlc_dictionary_all_keys
Unexecuted instantiation: es_out_timeshift.c:vlc_dictionary_all_keys
Unexecuted instantiation: parse.c:vlc_dictionary_all_keys
Unexecuted instantiation: fetcher.c:vlc_dictionary_all_keys
543
544
static inline void
545
vlc_dictionary_insert_impl_( vlc_dictionary_t * p_dict, const char * psz_key,
546
                             void * p_value, bool rebuild )
547
2.99M
{
548
2.99M
    if( !p_dict->p_entries )
549
626k
        vlc_dictionary_init( p_dict, 1 );
550
551
2.99M
    size_t i_pos = DictHash(psz_key, p_dict->i_size);
552
2.99M
    vlc_dictionary_entry_t * p_entry;
553
554
2.99M
    p_entry = (vlc_dictionary_entry_t *)malloc(sizeof(*p_entry));
555
2.99M
    p_entry->psz_key = strdup( psz_key );
556
2.99M
    p_entry->p_value = p_value;
557
2.99M
    p_entry->p_next = p_dict->p_entries[i_pos];
558
2.99M
    p_dict->p_entries[i_pos] = p_entry;
559
2.99M
    if( rebuild )
560
1.86M
    {
561
        /* Count how many items there was */
562
1.86M
        int count;
563
3.68M
        for( count = 1; p_entry->p_next; count++ )
564
1.81M
            p_entry = p_entry->p_next;
565
1.86M
        if( count > 3 ) /* XXX: this need tuning */
566
191k
        {
567
            /* Here it starts to be not good, rebuild a bigger dictionary */
568
191k
            struct vlc_dictionary_t new_dict;
569
191k
            size_t i_new_size = (p_dict->i_size + 2) * 3 / 2; /* XXX: this need tuning */
570
191k
            size_t i;
571
191k
            vlc_dictionary_init( &new_dict, i_new_size );
572
808k
            for( i = 0; i < p_dict->i_size; i++ )
573
617k
            {
574
617k
                p_entry = p_dict->p_entries[i];
575
1.75M
                while( p_entry )
576
1.13M
                {
577
1.13M
                    vlc_dictionary_insert_impl_( &new_dict, p_entry->psz_key,
578
1.13M
                                             p_entry->p_value,
579
1.13M
                                             false /* To avoid multiple rebuild loop */);
580
1.13M
                    p_entry = p_entry->p_next;
581
1.13M
                }
582
617k
            }
583
584
191k
            vlc_dictionary_clear( p_dict, NULL, NULL );
585
191k
            p_dict->i_size = new_dict.i_size;
586
191k
            p_dict->p_entries = new_dict.p_entries;
587
191k
        }
588
1.86M
    }
589
2.99M
}
Unexecuted instantiation: demux-run.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: common.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: decoder.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: core.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: error.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: asf.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: avi.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: es.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: flac.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: xiph_metadata.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: mp4.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: heif.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: sap.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: subtitle.c:vlc_dictionary_insert_impl_
ttml.c:vlc_dictionary_insert_impl_
Line
Count
Source
547
1.25M
{
548
1.25M
    if( !p_dict->p_entries )
549
527k
        vlc_dictionary_init( p_dict, 1 );
550
551
1.25M
    size_t i_pos = DictHash(psz_key, p_dict->i_size);
552
1.25M
    vlc_dictionary_entry_t * p_entry;
553
554
1.25M
    p_entry = (vlc_dictionary_entry_t *)malloc(sizeof(*p_entry));
555
1.25M
    p_entry->psz_key = strdup( psz_key );
556
1.25M
    p_entry->p_value = p_value;
557
1.25M
    p_entry->p_next = p_dict->p_entries[i_pos];
558
1.25M
    p_dict->p_entries[i_pos] = p_entry;
559
1.25M
    if( rebuild )
560
1.00M
    {
561
        /* Count how many items there was */
562
1.00M
        int count;
563
1.71M
        for( count = 1; p_entry->p_next; count++ )
564
711k
            p_entry = p_entry->p_next;
565
1.00M
        if( count > 3 ) /* XXX: this need tuning */
566
59.1k
        {
567
            /* Here it starts to be not good, rebuild a bigger dictionary */
568
59.1k
            struct vlc_dictionary_t new_dict;
569
59.1k
            size_t i_new_size = (p_dict->i_size + 2) * 3 / 2; /* XXX: this need tuning */
570
59.1k
            size_t i;
571
59.1k
            vlc_dictionary_init( &new_dict, i_new_size );
572
298k
            for( i = 0; i < p_dict->i_size; i++ )
573
239k
            {
574
239k
                p_entry = p_dict->p_entries[i];
575
491k
                while( p_entry )
576
251k
                {
577
251k
                    vlc_dictionary_insert_impl_( &new_dict, p_entry->psz_key,
578
251k
                                             p_entry->p_value,
579
251k
                                             false /* To avoid multiple rebuild loop */);
580
251k
                    p_entry = p_entry->p_next;
581
251k
                }
582
239k
            }
583
584
59.1k
            vlc_dictionary_clear( p_dict, NULL, NULL );
585
59.1k
            p_dict->i_size = new_dict.i_size;
586
59.1k
            p_dict->p_entries = new_dict.p_entries;
587
59.1k
        }
588
1.00M
    }
589
1.25M
}
Unexecuted instantiation: encttml.c:vlc_dictionary_insert_impl_
substtml.c:vlc_dictionary_insert_impl_
Line
Count
Source
547
1.73M
{
548
1.73M
    if( !p_dict->p_entries )
549
98.2k
        vlc_dictionary_init( p_dict, 1 );
550
551
1.73M
    size_t i_pos = DictHash(psz_key, p_dict->i_size);
552
1.73M
    vlc_dictionary_entry_t * p_entry;
553
554
1.73M
    p_entry = (vlc_dictionary_entry_t *)malloc(sizeof(*p_entry));
555
1.73M
    p_entry->psz_key = strdup( psz_key );
556
1.73M
    p_entry->p_value = p_value;
557
1.73M
    p_entry->p_next = p_dict->p_entries[i_pos];
558
1.73M
    p_dict->p_entries[i_pos] = p_entry;
559
1.73M
    if( rebuild )
560
852k
    {
561
        /* Count how many items there was */
562
852k
        int count;
563
1.95M
        for( count = 1; p_entry->p_next; count++ )
564
1.10M
            p_entry = p_entry->p_next;
565
852k
        if( count > 3 ) /* XXX: this need tuning */
566
132k
        {
567
            /* Here it starts to be not good, rebuild a bigger dictionary */
568
132k
            struct vlc_dictionary_t new_dict;
569
132k
            size_t i_new_size = (p_dict->i_size + 2) * 3 / 2; /* XXX: this need tuning */
570
132k
            size_t i;
571
132k
            vlc_dictionary_init( &new_dict, i_new_size );
572
509k
            for( i = 0; i < p_dict->i_size; i++ )
573
377k
            {
574
377k
                p_entry = p_dict->p_entries[i];
575
1.26M
                while( p_entry )
576
883k
                {
577
883k
                    vlc_dictionary_insert_impl_( &new_dict, p_entry->psz_key,
578
883k
                                             p_entry->p_value,
579
883k
                                             false /* To avoid multiple rebuild loop */);
580
883k
                    p_entry = p_entry->p_next;
581
883k
                }
582
377k
            }
583
584
132k
            vlc_dictionary_clear( p_dict, NULL, NULL );
585
132k
            p_dict->i_size = new_dict.i_size;
586
132k
            p_dict->p_entries = new_dict.p_entries;
587
132k
        }
588
852k
    }
589
1.73M
}
Unexecuted instantiation: genttml.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: subsvtt.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: hx.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: ogg.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: ts.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: ts_pid.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: ts_psi.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: ts_si.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: ts_psip.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: ts_streams.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: ts_scte.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: mpeg4_iod.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: ts_arib.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: ts_sl.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: ts_metadata.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: ts_hotfixes.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: ts_pes.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: matroska_segment.cpp:vlc_dictionary_insert_impl_(vlc_dictionary_t*, char const*, void*, bool)
Unexecuted instantiation: chapters.cpp:vlc_dictionary_insert_impl_(vlc_dictionary_t*, char const*, void*, bool)
Unexecuted instantiation: chapter_command.cpp:vlc_dictionary_insert_impl_(vlc_dictionary_t*, char const*, void*, bool)
Unexecuted instantiation: dvbsub.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: subsusf.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: libvlc.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: media_tree.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: modules.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: entry.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: dialog.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: interface.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: external.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: item.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: access.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: demux.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: input.c:vlc_dictionary_insert_impl_
meta.c:vlc_dictionary_insert_impl_
Line
Count
Source
547
3.93k
{
548
3.93k
    if( !p_dict->p_entries )
549
1.34k
        vlc_dictionary_init( p_dict, 1 );
550
551
3.93k
    size_t i_pos = DictHash(psz_key, p_dict->i_size);
552
3.93k
    vlc_dictionary_entry_t * p_entry;
553
554
3.93k
    p_entry = (vlc_dictionary_entry_t *)malloc(sizeof(*p_entry));
555
3.93k
    p_entry->psz_key = strdup( psz_key );
556
3.93k
    p_entry->p_value = p_value;
557
3.93k
    p_entry->p_next = p_dict->p_entries[i_pos];
558
3.93k
    p_dict->p_entries[i_pos] = p_entry;
559
3.93k
    if( rebuild )
560
3.56k
    {
561
        /* Count how many items there was */
562
3.56k
        int count;
563
5.66k
        for( count = 1; p_entry->p_next; count++ )
564
2.09k
            p_entry = p_entry->p_next;
565
3.56k
        if( count > 3 ) /* XXX: this need tuning */
566
22
        {
567
            /* Here it starts to be not good, rebuild a bigger dictionary */
568
22
            struct vlc_dictionary_t new_dict;
569
22
            size_t i_new_size = (p_dict->i_size + 2) * 3 / 2; /* XXX: this need tuning */
570
22
            size_t i;
571
22
            vlc_dictionary_init( &new_dict, i_new_size );
572
562
            for( i = 0; i < p_dict->i_size; i++ )
573
540
            {
574
540
                p_entry = p_dict->p_entries[i];
575
908
                while( p_entry )
576
368
                {
577
368
                    vlc_dictionary_insert_impl_( &new_dict, p_entry->psz_key,
578
368
                                             p_entry->p_value,
579
368
                                             false /* To avoid multiple rebuild loop */);
580
368
                    p_entry = p_entry->p_next;
581
368
                }
582
540
            }
583
584
22
            vlc_dictionary_clear( p_dict, NULL, NULL );
585
22
            p_dict->i_size = new_dict.i_size;
586
22
            p_dict->p_entries = new_dict.p_entries;
587
22
        }
588
3.56k
    }
589
3.93k
}
Unexecuted instantiation: player.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: stream.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: stream_extractor.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: stream_filter.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: stream_memory.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: subtitles.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: video_output.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: strings.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: epg.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: exit.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: variables.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: httpcookies.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: specific.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: stream_output.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: vlm.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: vlm_event.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: vlmshell.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: es_out.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: es_out_timeshift.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: parse.c:vlc_dictionary_insert_impl_
Unexecuted instantiation: fetcher.c:vlc_dictionary_insert_impl_
590
591
static inline void
592
vlc_dictionary_insert( vlc_dictionary_t * p_dict, const char * psz_key, void * p_value )
593
1.86M
{
594
1.86M
    vlc_dictionary_insert_impl_( p_dict, psz_key, p_value, true );
595
1.86M
}
Unexecuted instantiation: demux-run.c:vlc_dictionary_insert
Unexecuted instantiation: common.c:vlc_dictionary_insert
Unexecuted instantiation: decoder.c:vlc_dictionary_insert
Unexecuted instantiation: core.c:vlc_dictionary_insert
Unexecuted instantiation: error.c:vlc_dictionary_insert
Unexecuted instantiation: asf.c:vlc_dictionary_insert
Unexecuted instantiation: avi.c:vlc_dictionary_insert
Unexecuted instantiation: es.c:vlc_dictionary_insert
Unexecuted instantiation: flac.c:vlc_dictionary_insert
Unexecuted instantiation: xiph_metadata.c:vlc_dictionary_insert
Unexecuted instantiation: mp4.c:vlc_dictionary_insert
Unexecuted instantiation: heif.c:vlc_dictionary_insert
Unexecuted instantiation: sap.c:vlc_dictionary_insert
Unexecuted instantiation: subtitle.c:vlc_dictionary_insert
ttml.c:vlc_dictionary_insert
Line
Count
Source
593
1.00M
{
594
    vlc_dictionary_insert_impl_( p_dict, psz_key, p_value, true );
595
1.00M
}
Unexecuted instantiation: encttml.c:vlc_dictionary_insert
substtml.c:vlc_dictionary_insert
Line
Count
Source
593
852k
{
594
    vlc_dictionary_insert_impl_( p_dict, psz_key, p_value, true );
595
852k
}
Unexecuted instantiation: genttml.c:vlc_dictionary_insert
Unexecuted instantiation: subsvtt.c:vlc_dictionary_insert
Unexecuted instantiation: hx.c:vlc_dictionary_insert
Unexecuted instantiation: ogg.c:vlc_dictionary_insert
Unexecuted instantiation: ts.c:vlc_dictionary_insert
Unexecuted instantiation: ts_pid.c:vlc_dictionary_insert
Unexecuted instantiation: ts_psi.c:vlc_dictionary_insert
Unexecuted instantiation: ts_si.c:vlc_dictionary_insert
Unexecuted instantiation: ts_psip.c:vlc_dictionary_insert
Unexecuted instantiation: ts_streams.c:vlc_dictionary_insert
Unexecuted instantiation: ts_scte.c:vlc_dictionary_insert
Unexecuted instantiation: mpeg4_iod.c:vlc_dictionary_insert
Unexecuted instantiation: ts_arib.c:vlc_dictionary_insert
Unexecuted instantiation: ts_sl.c:vlc_dictionary_insert
Unexecuted instantiation: ts_metadata.c:vlc_dictionary_insert
Unexecuted instantiation: ts_hotfixes.c:vlc_dictionary_insert
Unexecuted instantiation: ts_pes.c:vlc_dictionary_insert
Unexecuted instantiation: matroska_segment.cpp:vlc_dictionary_insert(vlc_dictionary_t*, char const*, void*)
Unexecuted instantiation: chapters.cpp:vlc_dictionary_insert(vlc_dictionary_t*, char const*, void*)
Unexecuted instantiation: chapter_command.cpp:vlc_dictionary_insert(vlc_dictionary_t*, char const*, void*)
Unexecuted instantiation: dvbsub.c:vlc_dictionary_insert
Unexecuted instantiation: subsusf.c:vlc_dictionary_insert
Unexecuted instantiation: libvlc.c:vlc_dictionary_insert
Unexecuted instantiation: media_tree.c:vlc_dictionary_insert
Unexecuted instantiation: modules.c:vlc_dictionary_insert
Unexecuted instantiation: entry.c:vlc_dictionary_insert
Unexecuted instantiation: dialog.c:vlc_dictionary_insert
Unexecuted instantiation: interface.c:vlc_dictionary_insert
Unexecuted instantiation: external.c:vlc_dictionary_insert
Unexecuted instantiation: item.c:vlc_dictionary_insert
Unexecuted instantiation: access.c:vlc_dictionary_insert
Unexecuted instantiation: demux.c:vlc_dictionary_insert
Unexecuted instantiation: input.c:vlc_dictionary_insert
meta.c:vlc_dictionary_insert
Line
Count
Source
593
3.56k
{
594
    vlc_dictionary_insert_impl_( p_dict, psz_key, p_value, true );
595
3.56k
}
Unexecuted instantiation: player.c:vlc_dictionary_insert
Unexecuted instantiation: stream.c:vlc_dictionary_insert
Unexecuted instantiation: stream_extractor.c:vlc_dictionary_insert
Unexecuted instantiation: stream_filter.c:vlc_dictionary_insert
Unexecuted instantiation: stream_memory.c:vlc_dictionary_insert
Unexecuted instantiation: subtitles.c:vlc_dictionary_insert
Unexecuted instantiation: video_output.c:vlc_dictionary_insert
Unexecuted instantiation: strings.c:vlc_dictionary_insert
Unexecuted instantiation: epg.c:vlc_dictionary_insert
Unexecuted instantiation: exit.c:vlc_dictionary_insert
Unexecuted instantiation: variables.c:vlc_dictionary_insert
Unexecuted instantiation: httpcookies.c:vlc_dictionary_insert
Unexecuted instantiation: specific.c:vlc_dictionary_insert
Unexecuted instantiation: stream_output.c:vlc_dictionary_insert
Unexecuted instantiation: vlm.c:vlc_dictionary_insert
Unexecuted instantiation: vlm_event.c:vlc_dictionary_insert
Unexecuted instantiation: vlmshell.c:vlc_dictionary_insert
Unexecuted instantiation: es_out.c:vlc_dictionary_insert
Unexecuted instantiation: es_out_timeshift.c:vlc_dictionary_insert
Unexecuted instantiation: parse.c:vlc_dictionary_insert
Unexecuted instantiation: fetcher.c:vlc_dictionary_insert
596
597
static inline void
598
vlc_dictionary_remove_value_for_key( const vlc_dictionary_t * p_dict, const char * psz_key,
599
                                     void ( * pf_free )( void * p_data, void * p_obj ),
600
                                     void * p_obj )
601
6.25k
{
602
6.25k
    if( !p_dict->p_entries )
603
0
        return;
604
605
6.25k
    size_t i_pos = DictHash(psz_key, p_dict->i_size);
606
6.25k
    vlc_dictionary_entry_t * p_entry = p_dict->p_entries[i_pos];
607
6.25k
    vlc_dictionary_entry_t * p_prev;
608
609
6.25k
    if( !p_entry )
610
0
        return; /* Not found, nothing to do */
611
612
    /* Hash collision */
613
6.25k
    p_prev = NULL;
614
12.0k
    do {
615
12.0k
        if( !strcmp( psz_key, p_entry->psz_key ) )
616
6.25k
        {
617
6.25k
            if( pf_free != NULL )
618
1.93k
                ( * pf_free )( p_entry->p_value, p_obj );
619
6.25k
            if( !p_prev )
620
2.83k
                p_dict->p_entries[i_pos] = p_entry->p_next;
621
3.42k
            else
622
3.42k
                p_prev->p_next = p_entry->p_next;
623
6.25k
            free( p_entry->psz_key );
624
6.25k
            free( p_entry );
625
6.25k
            return;
626
6.25k
        }
627
5.80k
        p_prev = p_entry;
628
5.80k
        p_entry = p_entry->p_next;
629
5.80k
    } while( p_entry );
630
631
    /* No key was found */
632
6.25k
}
Unexecuted instantiation: demux-run.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: common.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: decoder.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: core.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: error.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: asf.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: avi.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: es.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: flac.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: xiph_metadata.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: mp4.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: heif.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: sap.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: subtitle.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: ttml.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: encttml.c:vlc_dictionary_remove_value_for_key
substtml.c:vlc_dictionary_remove_value_for_key
Line
Count
Source
601
4.32k
{
602
4.32k
    if( !p_dict->p_entries )
603
0
        return;
604
605
4.32k
    size_t i_pos = DictHash(psz_key, p_dict->i_size);
606
4.32k
    vlc_dictionary_entry_t * p_entry = p_dict->p_entries[i_pos];
607
4.32k
    vlc_dictionary_entry_t * p_prev;
608
609
4.32k
    if( !p_entry )
610
0
        return; /* Not found, nothing to do */
611
612
    /* Hash collision */
613
4.32k
    p_prev = NULL;
614
9.54k
    do {
615
9.54k
        if( !strcmp( psz_key, p_entry->psz_key ) )
616
4.32k
        {
617
4.32k
            if( pf_free != NULL )
618
0
                ( * pf_free )( p_entry->p_value, p_obj );
619
4.32k
            if( !p_prev )
620
1.29k
                p_dict->p_entries[i_pos] = p_entry->p_next;
621
3.02k
            else
622
3.02k
                p_prev->p_next = p_entry->p_next;
623
4.32k
            free( p_entry->psz_key );
624
4.32k
            free( p_entry );
625
4.32k
            return;
626
4.32k
        }
627
5.22k
        p_prev = p_entry;
628
5.22k
        p_entry = p_entry->p_next;
629
5.22k
    } while( p_entry );
630
631
    /* No key was found */
632
4.32k
}
Unexecuted instantiation: genttml.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: subsvtt.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: hx.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: ogg.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: ts.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: ts_pid.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: ts_psi.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: ts_si.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: ts_psip.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: ts_streams.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: ts_scte.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: mpeg4_iod.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: ts_arib.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: ts_sl.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: ts_metadata.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: ts_hotfixes.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: ts_pes.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: matroska_segment.cpp:vlc_dictionary_remove_value_for_key(vlc_dictionary_t const*, char const*, void (*)(void*, void*), void*)
Unexecuted instantiation: chapters.cpp:vlc_dictionary_remove_value_for_key(vlc_dictionary_t const*, char const*, void (*)(void*, void*), void*)
Unexecuted instantiation: chapter_command.cpp:vlc_dictionary_remove_value_for_key(vlc_dictionary_t const*, char const*, void (*)(void*, void*), void*)
Unexecuted instantiation: dvbsub.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: subsusf.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: libvlc.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: media_tree.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: modules.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: entry.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: dialog.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: interface.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: external.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: item.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: access.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: demux.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: input.c:vlc_dictionary_remove_value_for_key
meta.c:vlc_dictionary_remove_value_for_key
Line
Count
Source
601
1.93k
{
602
1.93k
    if( !p_dict->p_entries )
603
0
        return;
604
605
1.93k
    size_t i_pos = DictHash(psz_key, p_dict->i_size);
606
1.93k
    vlc_dictionary_entry_t * p_entry = p_dict->p_entries[i_pos];
607
1.93k
    vlc_dictionary_entry_t * p_prev;
608
609
1.93k
    if( !p_entry )
610
0
        return; /* Not found, nothing to do */
611
612
    /* Hash collision */
613
1.93k
    p_prev = NULL;
614
2.52k
    do {
615
2.52k
        if( !strcmp( psz_key, p_entry->psz_key ) )
616
1.93k
        {
617
1.93k
            if( pf_free != NULL )
618
1.93k
                ( * pf_free )( p_entry->p_value, p_obj );
619
1.93k
            if( !p_prev )
620
1.53k
                p_dict->p_entries[i_pos] = p_entry->p_next;
621
401
            else
622
401
                p_prev->p_next = p_entry->p_next;
623
1.93k
            free( p_entry->psz_key );
624
1.93k
            free( p_entry );
625
1.93k
            return;
626
1.93k
        }
627
584
        p_prev = p_entry;
628
584
        p_entry = p_entry->p_next;
629
584
    } while( p_entry );
630
631
    /* No key was found */
632
1.93k
}
Unexecuted instantiation: player.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: stream.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: stream_extractor.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: stream_filter.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: stream_memory.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: subtitles.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: video_output.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: strings.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: epg.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: exit.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: variables.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: httpcookies.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: specific.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: stream_output.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: vlm.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: vlm_event.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: vlmshell.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: es_out.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: es_out_timeshift.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: parse.c:vlc_dictionary_remove_value_for_key
Unexecuted instantiation: fetcher.c:vlc_dictionary_remove_value_for_key
633
634
#ifdef __cplusplus
635
// C++ helpers
636
template <typename T>
637
void vlc_delete_all( T &container )
638
3.16k
{
639
3.16k
    typename T::iterator it = container.begin();
640
3.82k
    while ( it != container.end() )
641
658
    {
642
658
        delete *it;
643
658
        ++it;
644
658
    }
645
3.16k
    container.clear();
646
3.16k
}
void vlc_delete_all<std::__1::vector<mkv::chapter_edition_c*, std::__1::allocator<mkv::chapter_edition_c*> > >(std::__1::vector<mkv::chapter_edition_c*, std::__1::allocator<mkv::chapter_edition_c*> >&)
Line
Count
Source
638
622
{
639
622
    typename T::iterator it = container.begin();
640
803
    while ( it != container.end() )
641
181
    {
642
181
        delete *it;
643
181
        ++it;
644
181
    }
645
622
    container.clear();
646
622
}
void vlc_delete_all<std::__1::vector<mkv::chapter_translation_c*, std::__1::allocator<mkv::chapter_translation_c*> > >(std::__1::vector<mkv::chapter_translation_c*, std::__1::allocator<mkv::chapter_translation_c*> >&)
Line
Count
Source
638
622
{
639
622
    typename T::iterator it = container.begin();
640
622
    while ( it != container.end() )
641
0
    {
642
0
        delete *it;
643
0
        ++it;
644
0
    }
645
622
    container.clear();
646
622
}
void vlc_delete_all<std::__1::vector<libmatroska::KaxSegmentFamily*, std::__1::allocator<libmatroska::KaxSegmentFamily*> > >(std::__1::vector<libmatroska::KaxSegmentFamily*, std::__1::allocator<libmatroska::KaxSegmentFamily*> >&)
Line
Count
Source
638
622
{
639
622
    typename T::iterator it = container.begin();
640
622
    while ( it != container.end() )
641
0
    {
642
0
        delete *it;
643
0
        ++it;
644
0
    }
645
622
    container.clear();
646
622
}
void vlc_delete_all<std::__1::vector<mkv::chapter_codec_cmds_c*, std::__1::allocator<mkv::chapter_codec_cmds_c*> > >(std::__1::vector<mkv::chapter_codec_cmds_c*, std::__1::allocator<mkv::chapter_codec_cmds_c*> >&)
Line
Count
Source
638
651
{
639
651
    typename T::iterator it = container.begin();
640
658
    while ( it != container.end() )
641
7
    {
642
7
        delete *it;
643
7
        ++it;
644
7
    }
645
651
    container.clear();
646
651
}
void vlc_delete_all<std::__1::vector<mkv::chapter_item_c*, std::__1::allocator<mkv::chapter_item_c*> > >(std::__1::vector<mkv::chapter_item_c*, std::__1::allocator<mkv::chapter_item_c*> >&)
Line
Count
Source
638
651
{
639
651
    typename T::iterator it = container.begin();
640
1.12k
    while ( it != container.end() )
641
470
    {
642
470
        delete *it;
643
470
        ++it;
644
470
    }
645
651
    container.clear();
646
651
}
647
648
#endif
649
650
#endif