/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: 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: 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 | 944k | { |
50 | 944k | void *n = realloc(p,sz); |
51 | 944k | if( !n ) |
52 | 0 | free(p); |
53 | 944k | return n; |
54 | 944k | } 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 Line | Count | Source | 49 | 6.86k | { | 50 | 6.86k | void *n = realloc(p,sz); | 51 | 6.86k | if( !n ) | 52 | 0 | free(p); | 53 | 6.86k | return n; | 54 | 6.86k | } |
Unexecuted instantiation: es.c:realloc_or_free Unexecuted instantiation: flac.c:realloc_or_free Unexecuted instantiation: xiph_metadata.c:realloc_or_free Line | Count | Source | 49 | 242 | { | 50 | 242 | void *n = realloc(p,sz); | 51 | 242 | if( !n ) | 52 | 0 | free(p); | 53 | 242 | return n; | 54 | 242 | } |
Unexecuted instantiation: heif.c:realloc_or_free Unexecuted instantiation: sap.c:realloc_or_free subtitle.c:realloc_or_free Line | Count | Source | 49 | 931k | { | 50 | 931k | void *n = realloc(p,sz); | 51 | 931k | if( !n ) | 52 | 0 | free(p); | 53 | 931k | return n; | 54 | 931k | } |
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: ogg.c:realloc_or_free 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: 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 Line | Count | Source | 49 | 5.66k | { | 50 | 5.66k | void *n = realloc(p,sz); | 51 | 5.66k | if( !n ) | 52 | 0 | free(p); | 53 | 5.66k | return n; | 54 | 5.66k | } |
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 | 38.1k | do { \ |
58 | 38.1k | (count) = 0; \ |
59 | 38.1k | (tab) = NULL; \ |
60 | 38.1k | } while(0) |
61 | | |
62 | | #define TAB_CLEAN( count, tab ) \ |
63 | 34.2k | do { \ |
64 | 34.2k | free( tab ); \ |
65 | 34.2k | (count)= 0; \ |
66 | 34.2k | (tab)= NULL; \ |
67 | 34.2k | } while(0) |
68 | | |
69 | | #define TAB_APPEND_CAST( cast, count, tab, p ) \ |
70 | 213k | do { \ |
71 | 213k | if( (count) > 0 ) \ |
72 | 213k | (tab) = cast realloc( tab, sizeof( *(tab) ) * ( (count) + 1 ) ); \ |
73 | 213k | else \ |
74 | 213k | (tab) = cast malloc( sizeof( *(tab) ) ); \ |
75 | 213k | if( !(tab) ) abort(); \ |
76 | 213k | (tab)[count] = (p); \ |
77 | 213k | (count)++; \ |
78 | 213k | } while(0) |
79 | | |
80 | | #define TAB_APPEND( count, tab, p ) \ |
81 | 212k | 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 | 12.2k | do { \ |
95 | 12.2k | if( (count) > 1 ) \ |
96 | 12.2k | memmove( (tab) + (index), \ |
97 | 3.62k | (tab) + (index) + 1, \ |
98 | 3.62k | ((count) - (index) - 1 ) * sizeof( *(tab) ) );\ |
99 | 12.2k | (count)--; \ |
100 | 12.2k | if( (count) == 0 ) \ |
101 | 12.2k | { \ |
102 | 8.60k | free( tab ); \ |
103 | 8.60k | (tab) = NULL; \ |
104 | 8.60k | } \ |
105 | 12.2k | } 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 | 39.2k | #define _ARRAY_ALLOC(array, newsize) { \ |
166 | 39.2k | (array).i_alloc = newsize; \ |
167 | 39.2k | (array).p_elems = vlc_reallocarray( (array).p_elems, (array).i_alloc, \ |
168 | 39.2k | sizeof(*(array).p_elems) ); \ |
169 | 39.2k | if( !(array).p_elems ) abort(); \ |
170 | 39.2k | } |
171 | | |
172 | 79.1k | #define _ARRAY_GROW1(array) { \ |
173 | 79.1k | if( (array).i_alloc < 10 ) \ |
174 | 79.1k | _ARRAY_ALLOC(array, 10 ) \ |
175 | 79.1k | else if( (array).i_alloc == (array).i_size ) \ |
176 | 39.9k | _ARRAY_ALLOC(array, (int)((array).i_alloc * 1.5) ) \ |
177 | 79.1k | } |
178 | | |
179 | | /* API */ |
180 | 20.7k | #define DECL_ARRAY(type) struct { \ |
181 | 20.7k | int i_alloc; \ |
182 | 20.7k | int i_size; \ |
183 | 20.7k | type *p_elems; \ |
184 | 20.7k | } |
185 | | |
186 | | #define TYPEDEF_ARRAY(type, name) typedef DECL_ARRAY(type) name; |
187 | | |
188 | | #define ARRAY_INIT(array) \ |
189 | 69.2k | do { \ |
190 | 69.2k | (array).i_alloc = 0; \ |
191 | 69.2k | (array).i_size = 0; \ |
192 | 69.2k | (array).p_elems = NULL; \ |
193 | 69.2k | } while(0) |
194 | | |
195 | | #define ARRAY_RESET(array) \ |
196 | 69.4k | do { \ |
197 | 69.4k | (array).i_alloc = 0; \ |
198 | 69.4k | (array).i_size = 0; \ |
199 | 69.4k | free( (array).p_elems ); (array).p_elems = NULL; \ |
200 | 69.4k | } while(0) |
201 | | |
202 | | #define ARRAY_APPEND(array, elem) \ |
203 | 64.3k | do { \ |
204 | 64.3k | _ARRAY_GROW1(array); \ |
205 | 64.3k | (array).p_elems[(array).i_size] = elem; \ |
206 | 64.3k | (array).i_size++; \ |
207 | 64.3k | } while(0) |
208 | | |
209 | | #define ARRAY_INSERT(array,elem,pos) \ |
210 | 14.7k | do { \ |
211 | 14.7k | _ARRAY_GROW1(array); \ |
212 | 14.7k | if( (array).i_size - (pos) ) { \ |
213 | 1.93k | memmove( (array).p_elems + (pos) + 1, (array).p_elems + (pos), \ |
214 | 1.93k | ((array).i_size-(pos)) * sizeof(*(array).p_elems) ); \ |
215 | 1.93k | } \ |
216 | 14.7k | (array).p_elems[pos] = elem; \ |
217 | 14.7k | (array).i_size++; \ |
218 | 14.7k | } while(0) |
219 | | |
220 | 99 | #define _ARRAY_SHRINK(array) { \ |
221 | 99 | 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 | 99 | } |
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 | 99 | do { \ |
231 | 99 | if( (array).i_size - (pos) - 1 ) \ |
232 | 99 | { \ |
233 | 44 | memmove( (array).p_elems + (pos), (array).p_elems + (pos) + 1, \ |
234 | 44 | ( (array).i_size - (pos) - 1 ) *sizeof(*(array).p_elems) );\ |
235 | 44 | } \ |
236 | 99 | (array).i_size--; \ |
237 | 99 | _ARRAY_SHRINK(array); \ |
238 | 99 | } 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.07M | { |
265 | 2.07M | p_array->i_count = 0; |
266 | 2.07M | p_array->pp_elems = NULL; |
267 | 2.07M | } 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 Line | Count | Source | 264 | 2.07M | { | 265 | 2.07M | p_array->i_count = 0; | 266 | | p_array->pp_elems = NULL; | 267 | 2.07M | } |
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: 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 Line | Count | Source | 264 | 48 | { | 265 | 48 | p_array->i_count = 0; | 266 | | p_array->pp_elems = NULL; | 267 | 48 | } |
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.03M | { |
271 | 1.03M | free( p_array->pp_elems ); |
272 | 1.03M | vlc_array_init( p_array ); |
273 | 1.03M | } 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.03M | { | 271 | 1.03M | free( p_array->pp_elems ); | 272 | 1.03M | vlc_array_init( p_array ); | 273 | 1.03M | } |
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: 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.21M | { |
278 | 1.21M | return p_array->i_count; |
279 | 1.21M | } 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.21M | { | 278 | 1.21M | return p_array->i_count; | 279 | 1.21M | } |
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: 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 | 217k | { |
285 | 217k | return ar->pp_elems[idx]; |
286 | 217k | } 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 | 217k | { | 285 | 217k | return ar->pp_elems[idx]; | 286 | 217k | } |
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: 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 | 217k | _Generic((ar), \ |
290 | 217k | const vlc_array_t *: (vlc_array_item_at_index)(ar, idx), \ |
291 | 217k | 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: 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: 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: 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: 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: 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: 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 | 228k | { |
342 | 228k | void **pp = (void **)realloc( ar->pp_elems, |
343 | 228k | sizeof( void * ) * (ar->i_count + 1) ); |
344 | 228k | if( unlikely(pp == NULL) ) |
345 | 0 | return -1; |
346 | | |
347 | 228k | pp[ar->i_count++] = elem; |
348 | 228k | ar->pp_elems = pp; |
349 | 228k | return 0; |
350 | 228k | } 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 | 228k | { | 342 | 228k | void **pp = (void **)realloc( ar->pp_elems, | 343 | 228k | sizeof( void * ) * (ar->i_count + 1) ); | 344 | 228k | if( unlikely(pp == NULL) ) | 345 | 0 | return -1; | 346 | | | 347 | 228k | pp[ar->i_count++] = elem; | 348 | 228k | ar->pp_elems = pp; | 349 | 228k | return 0; | 350 | 228k | } |
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: 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: 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: 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 | 46.8k | { |
360 | 46.8k | void **pp = ar->pp_elems; |
361 | 46.8k | size_t tail = ar->i_count - idx - 1; |
362 | | |
363 | 46.8k | if( tail > 0 ) |
364 | 0 | memmove( pp + idx, pp + idx + 1, sizeof( void * ) * tail ); |
365 | | |
366 | 46.8k | ar->i_count--; |
367 | | |
368 | 46.8k | if( ar->i_count > 0 ) |
369 | 2.13k | { |
370 | 2.13k | pp = (void **)realloc( pp, sizeof( void * ) * ar->i_count ); |
371 | 2.13k | if( likely(pp != NULL) ) |
372 | 2.13k | ar->pp_elems = pp; |
373 | 2.13k | } |
374 | 44.7k | else |
375 | 44.7k | { |
376 | 44.7k | free( pp ); |
377 | 44.7k | ar->pp_elems = NULL; |
378 | 44.7k | } |
379 | 46.8k | } 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 | 46.8k | { | 360 | 46.8k | void **pp = ar->pp_elems; | 361 | 46.8k | size_t tail = ar->i_count - idx - 1; | 362 | | | 363 | 46.8k | if( tail > 0 ) | 364 | 0 | memmove( pp + idx, pp + idx + 1, sizeof( void * ) * tail ); | 365 | | | 366 | 46.8k | ar->i_count--; | 367 | | | 368 | 46.8k | if( ar->i_count > 0 ) | 369 | 2.13k | { | 370 | 2.13k | pp = (void **)realloc( pp, sizeof( void * ) * ar->i_count ); | 371 | 2.13k | if( likely(pp != NULL) ) | 372 | 2.13k | ar->pp_elems = pp; | 373 | 2.13k | } | 374 | 44.7k | else | 375 | 44.7k | { | 376 | 44.7k | free( pp ); | 377 | | ar->pp_elems = NULL; | 378 | 44.7k | } | 379 | 46.8k | } |
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: 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 | 6.48M | { |
392 | 6.48M | uint64_t i_hash = 0; |
393 | 6.48M | if( psz_string ) |
394 | 6.48M | { |
395 | 56.0M | while( *psz_string ) |
396 | 49.5M | { |
397 | 49.5M | i_hash += *psz_string++; |
398 | 49.5M | i_hash += i_hash << 10; |
399 | 49.5M | i_hash ^= i_hash >> 8; |
400 | 49.5M | } |
401 | 6.48M | } |
402 | 6.48M | return i_hash % hashsize; |
403 | 6.48M | } 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 Line | Count | Source | 391 | 3.24M | { | 392 | 3.24M | uint64_t i_hash = 0; | 393 | 3.24M | if( psz_string ) | 394 | 3.24M | { | 395 | 22.4M | while( *psz_string ) | 396 | 19.2M | { | 397 | 19.2M | i_hash += *psz_string++; | 398 | 19.2M | i_hash += i_hash << 10; | 399 | 19.2M | i_hash ^= i_hash >> 8; | 400 | 19.2M | } | 401 | 3.24M | } | 402 | 3.24M | return i_hash % hashsize; | 403 | 3.24M | } |
Unexecuted instantiation: encttml.c:DictHash Line | Count | Source | 391 | 3.14M | { | 392 | 3.14M | uint64_t i_hash = 0; | 393 | 3.14M | if( psz_string ) | 394 | 3.14M | { | 395 | 31.9M | while( *psz_string ) | 396 | 28.7M | { | 397 | 28.7M | i_hash += *psz_string++; | 398 | 28.7M | i_hash += i_hash << 10; | 399 | 28.7M | i_hash ^= i_hash >> 8; | 400 | 28.7M | } | 401 | 3.14M | } | 402 | 3.14M | return i_hash % hashsize; | 403 | 3.14M | } |
Unexecuted instantiation: genttml.c:DictHash Unexecuted instantiation: subsvtt.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: 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 Line | Count | Source | 391 | 92.2k | { | 392 | 92.2k | uint64_t i_hash = 0; | 393 | 92.2k | if( psz_string ) | 394 | 92.2k | { | 395 | 1.61M | while( *psz_string ) | 396 | 1.51M | { | 397 | 1.51M | i_hash += *psz_string++; | 398 | 1.51M | i_hash += i_hash << 10; | 399 | 1.51M | i_hash ^= i_hash >> 8; | 400 | 1.51M | } | 401 | 92.2k | } | 402 | 92.2k | return i_hash % hashsize; | 403 | 92.2k | } |
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.34M | { |
422 | 1.34M | p_dict->p_entries = NULL; |
423 | | |
424 | 1.34M | if( i_size > 0 ) |
425 | 675k | { |
426 | 675k | p_dict->p_entries = (vlc_dictionary_entry_t **)calloc( i_size, sizeof(*p_dict->p_entries) ); |
427 | 675k | if( !p_dict->p_entries ) |
428 | 0 | i_size = 0; |
429 | 675k | } |
430 | 1.34M | p_dict->i_size = i_size; |
431 | 1.34M | } 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 | 983k | { | 422 | 983k | p_dict->p_entries = NULL; | 423 | | | 424 | 983k | if( i_size > 0 ) | 425 | 478k | { | 426 | 478k | p_dict->p_entries = (vlc_dictionary_entry_t **)calloc( i_size, sizeof(*p_dict->p_entries) ); | 427 | 478k | if( !p_dict->p_entries ) | 428 | 0 | i_size = 0; | 429 | 478k | } | 430 | 983k | p_dict->i_size = i_size; | 431 | 983k | } |
Unexecuted instantiation: encttml.c:vlc_dictionary_init substtml.c:vlc_dictionary_init Line | Count | Source | 421 | 313k | { | 422 | 313k | p_dict->p_entries = NULL; | 423 | | | 424 | 313k | if( i_size > 0 ) | 425 | 191k | { | 426 | 191k | p_dict->p_entries = (vlc_dictionary_entry_t **)calloc( i_size, sizeof(*p_dict->p_entries) ); | 427 | 191k | if( !p_dict->p_entries ) | 428 | 0 | i_size = 0; | 429 | 191k | } | 430 | 313k | p_dict->i_size = i_size; | 431 | 313k | } |
Unexecuted instantiation: genttml.c:vlc_dictionary_init Unexecuted instantiation: subsvtt.c:vlc_dictionary_init Unexecuted instantiation: ogg.c:vlc_dictionary_init Line | Count | Source | 421 | 11.1k | { | 422 | 11.1k | p_dict->p_entries = NULL; | 423 | | | 424 | 11.1k | 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 | 11.1k | p_dict->i_size = i_size; | 431 | 11.1k | } |
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: 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 | 35.9k | { | 422 | 35.9k | p_dict->p_entries = NULL; | 423 | | | 424 | 35.9k | if( i_size > 0 ) | 425 | 5.53k | { | 426 | 5.53k | p_dict->p_entries = (vlc_dictionary_entry_t **)calloc( i_size, sizeof(*p_dict->p_entries) ); | 427 | 5.53k | if( !p_dict->p_entries ) | 428 | 0 | i_size = 0; | 429 | 5.53k | } | 430 | 35.9k | p_dict->i_size = i_size; | 431 | 35.9k | } |
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 | 840k | { |
437 | 840k | if( p_dict->p_entries ) |
438 | 675k | { |
439 | 2.46M | for (size_t i = 0; i < p_dict->i_size; i++) |
440 | 1.78M | { |
441 | 1.78M | vlc_dictionary_entry_t * p_current, * p_next; |
442 | 1.78M | p_current = p_dict->p_entries[i]; |
443 | 4.20M | while( p_current ) |
444 | 2.41M | { |
445 | 2.41M | p_next = p_current->p_next; |
446 | 2.41M | if( pf_free != NULL ) |
447 | 746k | ( * pf_free )( p_current->p_value, p_obj ); |
448 | 2.41M | free( p_current->psz_key ); |
449 | 2.41M | free( p_current ); |
450 | 2.41M | p_current = p_next; |
451 | 2.41M | } |
452 | 1.78M | } |
453 | 675k | free( p_dict->p_entries ); |
454 | 675k | p_dict->p_entries = NULL; |
455 | 675k | } |
456 | 840k | p_dict->i_size = 0; |
457 | 840k | } 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 | 560k | { | 437 | 560k | if( p_dict->p_entries ) | 438 | 478k | { | 439 | 1.39M | for (size_t i = 0; i < p_dict->i_size; i++) | 440 | 917k | { | 441 | 917k | vlc_dictionary_entry_t * p_current, * p_next; | 442 | 917k | p_current = p_dict->p_entries[i]; | 443 | 1.89M | while( p_current ) | 444 | 974k | { | 445 | 974k | p_next = p_current->p_next; | 446 | 974k | if( pf_free != NULL ) | 447 | 739k | ( * pf_free )( p_current->p_value, p_obj ); | 448 | 974k | free( p_current->psz_key ); | 449 | 974k | free( p_current ); | 450 | 974k | p_current = p_next; | 451 | 974k | } | 452 | 917k | } | 453 | 478k | free( p_dict->p_entries ); | 454 | | p_dict->p_entries = NULL; | 455 | 478k | } | 456 | 560k | p_dict->i_size = 0; | 457 | 560k | } |
Unexecuted instantiation: encttml.c:vlc_dictionary_clear substtml.c:vlc_dictionary_clear Line | Count | Source | 436 | 238k | { | 437 | 238k | if( p_dict->p_entries ) | 438 | 191k | { | 439 | 1.05M | for (size_t i = 0; i < p_dict->i_size; i++) | 440 | 863k | { | 441 | 863k | vlc_dictionary_entry_t * p_current, * p_next; | 442 | 863k | p_current = p_dict->p_entries[i]; | 443 | 2.29M | while( p_current ) | 444 | 1.42M | { | 445 | 1.42M | p_next = p_current->p_next; | 446 | 1.42M | if( pf_free != NULL ) | 447 | 0 | ( * pf_free )( p_current->p_value, p_obj ); | 448 | 1.42M | free( p_current->psz_key ); | 449 | 1.42M | free( p_current ); | 450 | 1.42M | p_current = p_next; | 451 | 1.42M | } | 452 | 863k | } | 453 | 191k | free( p_dict->p_entries ); | 454 | | p_dict->p_entries = NULL; | 455 | 191k | } | 456 | 238k | p_dict->i_size = 0; | 457 | 238k | } |
Unexecuted instantiation: genttml.c:vlc_dictionary_clear Unexecuted instantiation: subsvtt.c:vlc_dictionary_clear Unexecuted instantiation: ogg.c:vlc_dictionary_clear ts.c:vlc_dictionary_clear Line | Count | Source | 436 | 11.1k | { | 437 | 11.1k | 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 | 11.1k | p_dict->i_size = 0; | 457 | 11.1k | } |
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: 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 | 30.9k | { | 437 | 30.9k | if( p_dict->p_entries ) | 438 | 5.53k | { | 439 | 14.7k | for (size_t i = 0; i < p_dict->i_size; i++) | 440 | 9.20k | { | 441 | 9.20k | vlc_dictionary_entry_t * p_current, * p_next; | 442 | 9.20k | p_current = p_dict->p_entries[i]; | 443 | 19.7k | while( p_current ) | 444 | 10.5k | { | 445 | 10.5k | p_next = p_current->p_next; | 446 | 10.5k | if( pf_free != NULL ) | 447 | 7.46k | ( * pf_free )( p_current->p_value, p_obj ); | 448 | 10.5k | free( p_current->psz_key ); | 449 | 10.5k | free( p_current ); | 450 | 10.5k | p_current = p_next; | 451 | 10.5k | } | 452 | 9.20k | } | 453 | 5.53k | free( p_dict->p_entries ); | 454 | | p_dict->p_entries = NULL; | 455 | 5.53k | } | 456 | 30.9k | p_dict->i_size = 0; | 457 | 30.9k | } |
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 | 1.75M | { |
462 | 1.75M | if( !p_dict->p_entries ) |
463 | 75.1k | return 0; |
464 | | |
465 | 1.68M | size_t i_pos = DictHash(psz_key, p_dict->i_size); |
466 | 1.68M | const vlc_dictionary_entry_t * p_entry = p_dict->p_entries[i_pos]; |
467 | 3.06M | for( ; p_entry != NULL; p_entry = p_entry->p_next ) |
468 | 2.47M | { |
469 | 2.47M | if( !strcmp( psz_key, p_entry->psz_key ) ) |
470 | 1.09M | break; |
471 | 2.47M | } |
472 | 1.68M | return p_entry != NULL; |
473 | 1.75M | } 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 | 1.75M | { | 462 | 1.75M | if( !p_dict->p_entries ) | 463 | 75.1k | return 0; | 464 | | | 465 | 1.68M | size_t i_pos = DictHash(psz_key, p_dict->i_size); | 466 | 1.68M | const vlc_dictionary_entry_t * p_entry = p_dict->p_entries[i_pos]; | 467 | 3.06M | for( ; p_entry != NULL; p_entry = p_entry->p_next ) | 468 | 2.47M | { | 469 | 2.47M | if( !strcmp( psz_key, p_entry->psz_key ) ) | 470 | 1.09M | break; | 471 | 2.47M | } | 472 | | return p_entry != NULL; | 473 | 1.75M | } |
Unexecuted instantiation: genttml.c:vlc_dictionary_has_key Unexecuted instantiation: subsvtt.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: 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 | 2.88M | { |
478 | 2.88M | if( !p_dict->p_entries ) |
479 | 521k | return kVLCDictionaryNotFound; |
480 | | |
481 | 2.36M | size_t i_pos = DictHash(psz_key, p_dict->i_size); |
482 | 2.36M | vlc_dictionary_entry_t * p_entry = p_dict->p_entries[i_pos]; |
483 | | |
484 | 2.36M | if( !p_entry ) |
485 | 43.6k | return kVLCDictionaryNotFound; |
486 | | |
487 | | /* Make sure we return the right item. (Hash collision) */ |
488 | 3.27M | do { |
489 | 3.27M | if( !strcmp( psz_key, p_entry->psz_key ) ) |
490 | 289k | return p_entry->p_value; |
491 | 2.98M | p_entry = p_entry->p_next; |
492 | 2.98M | } while( p_entry ); |
493 | | |
494 | 2.03M | return kVLCDictionaryNotFound; |
495 | 2.32M | } 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 | 2.73M | { | 478 | 2.73M | if( !p_dict->p_entries ) | 479 | 461k | return kVLCDictionaryNotFound; | 480 | | | 481 | 2.27M | size_t i_pos = DictHash(psz_key, p_dict->i_size); | 482 | 2.27M | vlc_dictionary_entry_t * p_entry = p_dict->p_entries[i_pos]; | 483 | | | 484 | 2.27M | if( !p_entry ) | 485 | 28.6k | return kVLCDictionaryNotFound; | 486 | | | 487 | | /* Make sure we return the right item. (Hash collision) */ | 488 | 3.14M | do { | 489 | 3.14M | if( !strcmp( psz_key, p_entry->psz_key ) ) | 490 | 277k | return p_entry->p_value; | 491 | 2.86M | p_entry = p_entry->p_next; | 492 | 2.86M | } while( p_entry ); | 493 | | | 494 | 1.96M | return kVLCDictionaryNotFound; | 495 | 2.24M | } |
Unexecuted instantiation: encttml.c:vlc_dictionary_value_for_key substtml.c:vlc_dictionary_value_for_key Line | Count | Source | 477 | 25.3k | { | 478 | 25.3k | if( !p_dict->p_entries ) | 479 | 0 | return kVLCDictionaryNotFound; | 480 | | | 481 | 25.3k | size_t i_pos = DictHash(psz_key, p_dict->i_size); | 482 | 25.3k | vlc_dictionary_entry_t * p_entry = p_dict->p_entries[i_pos]; | 483 | | | 484 | 25.3k | if( !p_entry ) | 485 | 10.9k | return kVLCDictionaryNotFound; | 486 | | | 487 | | /* Make sure we return the right item. (Hash collision) */ | 488 | 22.6k | do { | 489 | 22.6k | if( !strcmp( psz_key, p_entry->psz_key ) ) | 490 | 3.42k | return p_entry->p_value; | 491 | 19.2k | p_entry = p_entry->p_next; | 492 | 19.2k | } while( p_entry ); | 493 | | | 494 | 11.0k | return kVLCDictionaryNotFound; | 495 | 14.4k | } |
Unexecuted instantiation: genttml.c:vlc_dictionary_value_for_key Unexecuted instantiation: subsvtt.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: 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 | 126k | { | 478 | 126k | if( !p_dict->p_entries ) | 479 | 59.5k | return kVLCDictionaryNotFound; | 480 | | | 481 | 66.8k | size_t i_pos = DictHash(psz_key, p_dict->i_size); | 482 | 66.8k | vlc_dictionary_entry_t * p_entry = p_dict->p_entries[i_pos]; | 483 | | | 484 | 66.8k | if( !p_entry ) | 485 | 4.11k | return kVLCDictionaryNotFound; | 486 | | | 487 | | /* Make sure we return the right item. (Hash collision) */ | 488 | 114k | do { | 489 | 114k | if( !strcmp( psz_key, p_entry->psz_key ) ) | 490 | 9.32k | return p_entry->p_value; | 491 | 104k | p_entry = p_entry->p_next; | 492 | 104k | } while( p_entry ); | 493 | | | 494 | 53.3k | return kVLCDictionaryNotFound; | 495 | 62.7k | } |
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 | 823 | { |
500 | 823 | vlc_dictionary_entry_t * p_entry; |
501 | 823 | size_t i, count = 0; |
502 | | |
503 | 823 | if( !p_dict->p_entries ) |
504 | 5 | return 0; |
505 | | |
506 | 1.63k | for( i = 0; i < p_dict->i_size; i++ ) |
507 | 818 | { |
508 | 1.63k | for( p_entry = p_dict->p_entries[i]; p_entry; p_entry = p_entry->p_next ) count++; |
509 | 818 | } |
510 | 818 | return count; |
511 | 823 | } 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: 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: 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 | 823 | { | 500 | 823 | vlc_dictionary_entry_t * p_entry; | 501 | 823 | size_t i, count = 0; | 502 | | | 503 | 823 | if( !p_dict->p_entries ) | 504 | 5 | return 0; | 505 | | | 506 | 1.63k | for( i = 0; i < p_dict->i_size; i++ ) | 507 | 818 | { | 508 | 1.63k | for( p_entry = p_dict->p_entries[i]; p_entry; p_entry = p_entry->p_next ) count++; | 509 | 818 | } | 510 | 818 | return count; | 511 | 823 | } |
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 | 104k | { |
516 | 104k | if( p_dict->p_entries ) |
517 | 99.8k | for (size_t i = 0; i < p_dict->i_size; i++) |
518 | 99.8k | if( p_dict->p_entries[i] ) |
519 | 69.7k | return false; |
520 | 35.2k | return true; |
521 | 104k | } 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 | 104k | { | 516 | 104k | if( p_dict->p_entries ) | 517 | 99.8k | for (size_t i = 0; i < p_dict->i_size; i++) | 518 | 99.8k | if( p_dict->p_entries[i] ) | 519 | 69.7k | return false; | 520 | 35.2k | return true; | 521 | 104k | } |
Unexecuted instantiation: genttml.c:vlc_dictionary_is_empty Unexecuted instantiation: subsvtt.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: 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 | 823 | { |
526 | 823 | vlc_dictionary_entry_t * p_entry; |
527 | 823 | char ** ppsz_ret; |
528 | 823 | size_t i, count = vlc_dictionary_keys_count(p_dict); |
529 | | |
530 | 823 | ppsz_ret = (char**)malloc(sizeof(char *) * (count + 1)); |
531 | 823 | if( unlikely(!ppsz_ret) ) |
532 | 0 | return NULL; |
533 | | |
534 | 823 | count = 0; |
535 | 1.64k | for( i = 0; i < p_dict->i_size; i++ ) |
536 | 818 | { |
537 | 1.63k | for( p_entry = p_dict->p_entries[i]; p_entry; p_entry = p_entry->p_next ) |
538 | 818 | ppsz_ret[count++] = strdup( p_entry->psz_key ); |
539 | 818 | } |
540 | 823 | ppsz_ret[count] = NULL; |
541 | 823 | return ppsz_ret; |
542 | 823 | } 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: 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: 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 | 823 | { | 526 | 823 | vlc_dictionary_entry_t * p_entry; | 527 | 823 | char ** ppsz_ret; | 528 | 823 | size_t i, count = vlc_dictionary_keys_count(p_dict); | 529 | | | 530 | 823 | ppsz_ret = (char**)malloc(sizeof(char *) * (count + 1)); | 531 | 823 | if( unlikely(!ppsz_ret) ) | 532 | 0 | return NULL; | 533 | | | 534 | 823 | count = 0; | 535 | 1.64k | for( i = 0; i < p_dict->i_size; i++ ) | 536 | 818 | { | 537 | 1.63k | for( p_entry = p_dict->p_entries[i]; p_entry; p_entry = p_entry->p_next ) | 538 | 818 | ppsz_ret[count++] = strdup( p_entry->psz_key ); | 539 | 818 | } | 540 | | ppsz_ret[count] = NULL; | 541 | 823 | return ppsz_ret; | 542 | 823 | } |
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.42M | { |
548 | 2.42M | if( !p_dict->p_entries ) |
549 | 503k | vlc_dictionary_init( p_dict, 1 ); |
550 | | |
551 | 2.42M | size_t i_pos = DictHash(psz_key, p_dict->i_size); |
552 | 2.42M | vlc_dictionary_entry_t * p_entry; |
553 | | |
554 | 2.42M | p_entry = (vlc_dictionary_entry_t *)malloc(sizeof(*p_entry)); |
555 | 2.42M | p_entry->psz_key = strdup( psz_key ); |
556 | 2.42M | p_entry->p_value = p_value; |
557 | 2.42M | p_entry->p_next = p_dict->p_entries[i_pos]; |
558 | 2.42M | p_dict->p_entries[i_pos] = p_entry; |
559 | 2.42M | if( rebuild ) |
560 | 1.44M | { |
561 | | /* Count how many items there was */ |
562 | 1.44M | int count; |
563 | 2.82M | for( count = 1; p_entry->p_next; count++ ) |
564 | 1.38M | p_entry = p_entry->p_next; |
565 | 1.44M | if( count > 3 ) /* XXX: this need tuning */ |
566 | 161k | { |
567 | | /* Here it starts to be not good, rebuild a bigger dictionary */ |
568 | 161k | struct vlc_dictionary_t new_dict; |
569 | 161k | size_t i_new_size = (p_dict->i_size + 2) * 3 / 2; /* XXX: this need tuning */ |
570 | 161k | size_t i; |
571 | 161k | vlc_dictionary_init( &new_dict, i_new_size ); |
572 | 731k | for( i = 0; i < p_dict->i_size; i++ ) |
573 | 570k | { |
574 | 570k | p_entry = p_dict->p_entries[i]; |
575 | 1.55M | while( p_entry ) |
576 | 981k | { |
577 | 981k | vlc_dictionary_insert_impl_( &new_dict, p_entry->psz_key, |
578 | 981k | p_entry->p_value, |
579 | 981k | false /* To avoid multiple rebuild loop */); |
580 | 981k | p_entry = p_entry->p_next; |
581 | 981k | } |
582 | 570k | } |
583 | | |
584 | 161k | vlc_dictionary_clear( p_dict, NULL, NULL ); |
585 | 161k | p_dict->i_size = new_dict.i_size; |
586 | 161k | p_dict->p_entries = new_dict.p_entries; |
587 | 161k | } |
588 | 1.44M | } |
589 | 2.42M | } 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 | 974k | { | 548 | 974k | if( !p_dict->p_entries ) | 549 | 423k | vlc_dictionary_init( p_dict, 1 ); | 550 | | | 551 | 974k | size_t i_pos = DictHash(psz_key, p_dict->i_size); | 552 | 974k | vlc_dictionary_entry_t * p_entry; | 553 | | | 554 | 974k | p_entry = (vlc_dictionary_entry_t *)malloc(sizeof(*p_entry)); | 555 | 974k | p_entry->psz_key = strdup( psz_key ); | 556 | 974k | p_entry->p_value = p_value; | 557 | 974k | p_entry->p_next = p_dict->p_entries[i_pos]; | 558 | 974k | p_dict->p_entries[i_pos] = p_entry; | 559 | 974k | if( rebuild ) | 560 | 739k | { | 561 | | /* Count how many items there was */ | 562 | 739k | int count; | 563 | 1.22M | for( count = 1; p_entry->p_next; count++ ) | 564 | 483k | p_entry = p_entry->p_next; | 565 | 739k | if( count > 3 ) /* XXX: this need tuning */ | 566 | 54.8k | { | 567 | | /* Here it starts to be not good, rebuild a bigger dictionary */ | 568 | 54.8k | struct vlc_dictionary_t new_dict; | 569 | 54.8k | size_t i_new_size = (p_dict->i_size + 2) * 3 / 2; /* XXX: this need tuning */ | 570 | 54.8k | size_t i; | 571 | 54.8k | vlc_dictionary_init( &new_dict, i_new_size ); | 572 | 291k | for( i = 0; i < p_dict->i_size; i++ ) | 573 | 236k | { | 574 | 236k | p_entry = p_dict->p_entries[i]; | 575 | 472k | while( p_entry ) | 576 | 235k | { | 577 | 235k | vlc_dictionary_insert_impl_( &new_dict, p_entry->psz_key, | 578 | 235k | p_entry->p_value, | 579 | 235k | false /* To avoid multiple rebuild loop */); | 580 | 235k | p_entry = p_entry->p_next; | 581 | 235k | } | 582 | 236k | } | 583 | | | 584 | 54.8k | vlc_dictionary_clear( p_dict, NULL, NULL ); | 585 | 54.8k | p_dict->i_size = new_dict.i_size; | 586 | 54.8k | p_dict->p_entries = new_dict.p_entries; | 587 | 54.8k | } | 588 | 739k | } | 589 | 974k | } |
Unexecuted instantiation: encttml.c:vlc_dictionary_insert_impl_ substtml.c:vlc_dictionary_insert_impl_ Line | Count | Source | 547 | 1.43M | { | 548 | 1.43M | if( !p_dict->p_entries ) | 549 | 75.1k | vlc_dictionary_init( p_dict, 1 ); | 550 | | | 551 | 1.43M | size_t i_pos = DictHash(psz_key, p_dict->i_size); | 552 | 1.43M | vlc_dictionary_entry_t * p_entry; | 553 | | | 554 | 1.43M | p_entry = (vlc_dictionary_entry_t *)malloc(sizeof(*p_entry)); | 555 | 1.43M | p_entry->psz_key = strdup( psz_key ); | 556 | 1.43M | p_entry->p_value = p_value; | 557 | 1.43M | p_entry->p_next = p_dict->p_entries[i_pos]; | 558 | 1.43M | p_dict->p_entries[i_pos] = p_entry; | 559 | 1.43M | if( rebuild ) | 560 | 688k | { | 561 | | /* Count how many items there was */ | 562 | 688k | int count; | 563 | 1.57M | for( count = 1; p_entry->p_next; count++ ) | 564 | 889k | p_entry = p_entry->p_next; | 565 | 688k | if( count > 3 ) /* XXX: this need tuning */ | 566 | 105k | { | 567 | | /* Here it starts to be not good, rebuild a bigger dictionary */ | 568 | 105k | struct vlc_dictionary_t new_dict; | 569 | 105k | size_t i_new_size = (p_dict->i_size + 2) * 3 / 2; /* XXX: this need tuning */ | 570 | 105k | size_t i; | 571 | 105k | vlc_dictionary_init( &new_dict, i_new_size ); | 572 | 437k | for( i = 0; i < p_dict->i_size; i++ ) | 573 | 331k | { | 574 | 331k | p_entry = p_dict->p_entries[i]; | 575 | 1.07M | while( p_entry ) | 576 | 743k | { | 577 | 743k | vlc_dictionary_insert_impl_( &new_dict, p_entry->psz_key, | 578 | 743k | p_entry->p_value, | 579 | 743k | false /* To avoid multiple rebuild loop */); | 580 | 743k | p_entry = p_entry->p_next; | 581 | 743k | } | 582 | 331k | } | 583 | | | 584 | 105k | vlc_dictionary_clear( p_dict, NULL, NULL ); | 585 | 105k | p_dict->i_size = new_dict.i_size; | 586 | 105k | p_dict->p_entries = new_dict.p_entries; | 587 | 105k | } | 588 | 688k | } | 589 | 1.43M | } |
Unexecuted instantiation: genttml.c:vlc_dictionary_insert_impl_ Unexecuted instantiation: subsvtt.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: 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 | 17.9k | { | 548 | 17.9k | if( !p_dict->p_entries ) | 549 | 4.98k | vlc_dictionary_init( p_dict, 1 ); | 550 | | | 551 | 17.9k | size_t i_pos = DictHash(psz_key, p_dict->i_size); | 552 | 17.9k | vlc_dictionary_entry_t * p_entry; | 553 | | | 554 | 17.9k | p_entry = (vlc_dictionary_entry_t *)malloc(sizeof(*p_entry)); | 555 | 17.9k | p_entry->psz_key = strdup( psz_key ); | 556 | 17.9k | p_entry->p_value = p_value; | 557 | 17.9k | p_entry->p_next = p_dict->p_entries[i_pos]; | 558 | 17.9k | p_dict->p_entries[i_pos] = p_entry; | 559 | 17.9k | if( rebuild ) | 560 | 14.8k | { | 561 | | /* Count how many items there was */ | 562 | 14.8k | int count; | 563 | 28.4k | for( count = 1; p_entry->p_next; count++ ) | 564 | 13.6k | p_entry = p_entry->p_next; | 565 | 14.8k | if( count > 3 ) /* XXX: this need tuning */ | 566 | 552 | { | 567 | | /* Here it starts to be not good, rebuild a bigger dictionary */ | 568 | 552 | struct vlc_dictionary_t new_dict; | 569 | 552 | size_t i_new_size = (p_dict->i_size + 2) * 3 / 2; /* XXX: this need tuning */ | 570 | 552 | size_t i; | 571 | 552 | vlc_dictionary_init( &new_dict, i_new_size ); | 572 | 2.39k | for( i = 0; i < p_dict->i_size; i++ ) | 573 | 1.84k | { | 574 | 1.84k | p_entry = p_dict->p_entries[i]; | 575 | 4.94k | while( p_entry ) | 576 | 3.09k | { | 577 | 3.09k | vlc_dictionary_insert_impl_( &new_dict, p_entry->psz_key, | 578 | 3.09k | p_entry->p_value, | 579 | 3.09k | false /* To avoid multiple rebuild loop */); | 580 | 3.09k | p_entry = p_entry->p_next; | 581 | 3.09k | } | 582 | 1.84k | } | 583 | | | 584 | 552 | vlc_dictionary_clear( p_dict, NULL, NULL ); | 585 | 552 | p_dict->i_size = new_dict.i_size; | 586 | 552 | p_dict->p_entries = new_dict.p_entries; | 587 | 552 | } | 588 | 14.8k | } | 589 | 17.9k | } |
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.44M | { |
594 | 1.44M | vlc_dictionary_insert_impl_( p_dict, psz_key, p_value, true ); |
595 | 1.44M | } 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 | 739k | { | 594 | | vlc_dictionary_insert_impl_( p_dict, psz_key, p_value, true ); | 595 | 739k | } |
Unexecuted instantiation: encttml.c:vlc_dictionary_insert substtml.c:vlc_dictionary_insert Line | Count | Source | 593 | 688k | { | 594 | | vlc_dictionary_insert_impl_( p_dict, psz_key, p_value, true ); | 595 | 688k | } |
Unexecuted instantiation: genttml.c:vlc_dictionary_insert Unexecuted instantiation: subsvtt.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: 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 | 14.8k | { | 594 | | vlc_dictionary_insert_impl_( p_dict, psz_key, p_value, true ); | 595 | 14.8k | } |
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 | 12.3k | { |
602 | 12.3k | if( !p_dict->p_entries ) |
603 | 0 | return; |
604 | | |
605 | 12.3k | size_t i_pos = DictHash(psz_key, p_dict->i_size); |
606 | 12.3k | vlc_dictionary_entry_t * p_entry = p_dict->p_entries[i_pos]; |
607 | 12.3k | vlc_dictionary_entry_t * p_prev; |
608 | | |
609 | 12.3k | if( !p_entry ) |
610 | 0 | return; /* Not found, nothing to do */ |
611 | | |
612 | | /* Hash collision */ |
613 | 12.3k | p_prev = NULL; |
614 | 22.8k | do { |
615 | 22.8k | if( !strcmp( psz_key, p_entry->psz_key ) ) |
616 | 12.3k | { |
617 | 12.3k | if( pf_free != NULL ) |
618 | 7.40k | ( * pf_free )( p_entry->p_value, p_obj ); |
619 | 12.3k | if( !p_prev ) |
620 | 5.87k | p_dict->p_entries[i_pos] = p_entry->p_next; |
621 | 6.50k | else |
622 | 6.50k | p_prev->p_next = p_entry->p_next; |
623 | 12.3k | free( p_entry->psz_key ); |
624 | 12.3k | free( p_entry ); |
625 | 12.3k | return; |
626 | 12.3k | } |
627 | 10.4k | p_prev = p_entry; |
628 | 10.4k | p_entry = p_entry->p_next; |
629 | 10.4k | } while( p_entry ); |
630 | | |
631 | | /* No key was found */ |
632 | 12.3k | } 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.97k | { | 602 | 4.97k | if( !p_dict->p_entries ) | 603 | 0 | return; | 604 | | | 605 | 4.97k | size_t i_pos = DictHash(psz_key, p_dict->i_size); | 606 | 4.97k | vlc_dictionary_entry_t * p_entry = p_dict->p_entries[i_pos]; | 607 | 4.97k | vlc_dictionary_entry_t * p_prev; | 608 | | | 609 | 4.97k | if( !p_entry ) | 610 | 0 | return; /* Not found, nothing to do */ | 611 | | | 612 | | /* Hash collision */ | 613 | 4.97k | p_prev = NULL; | 614 | 10.9k | do { | 615 | 10.9k | if( !strcmp( psz_key, p_entry->psz_key ) ) | 616 | 4.97k | { | 617 | 4.97k | if( pf_free != NULL ) | 618 | 0 | ( * pf_free )( p_entry->p_value, p_obj ); | 619 | 4.97k | if( !p_prev ) | 620 | 1.47k | p_dict->p_entries[i_pos] = p_entry->p_next; | 621 | 3.50k | else | 622 | 3.50k | p_prev->p_next = p_entry->p_next; | 623 | 4.97k | free( p_entry->psz_key ); | 624 | 4.97k | free( p_entry ); | 625 | 4.97k | return; | 626 | 4.97k | } | 627 | 5.93k | p_prev = p_entry; | 628 | 5.93k | p_entry = p_entry->p_next; | 629 | 5.93k | } while( p_entry ); | 630 | | | 631 | | /* No key was found */ | 632 | 4.97k | } |
Unexecuted instantiation: genttml.c:vlc_dictionary_remove_value_for_key Unexecuted instantiation: subsvtt.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: 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 | 7.40k | { | 602 | 7.40k | if( !p_dict->p_entries ) | 603 | 0 | return; | 604 | | | 605 | 7.40k | size_t i_pos = DictHash(psz_key, p_dict->i_size); | 606 | 7.40k | vlc_dictionary_entry_t * p_entry = p_dict->p_entries[i_pos]; | 607 | 7.40k | vlc_dictionary_entry_t * p_prev; | 608 | | | 609 | 7.40k | if( !p_entry ) | 610 | 0 | return; /* Not found, nothing to do */ | 611 | | | 612 | | /* Hash collision */ | 613 | 7.40k | p_prev = NULL; | 614 | 11.9k | do { | 615 | 11.9k | if( !strcmp( psz_key, p_entry->psz_key ) ) | 616 | 7.40k | { | 617 | 7.40k | if( pf_free != NULL ) | 618 | 7.40k | ( * pf_free )( p_entry->p_value, p_obj ); | 619 | 7.40k | if( !p_prev ) | 620 | 4.40k | p_dict->p_entries[i_pos] = p_entry->p_next; | 621 | 2.99k | else | 622 | 2.99k | p_prev->p_next = p_entry->p_next; | 623 | 7.40k | free( p_entry->psz_key ); | 624 | 7.40k | free( p_entry ); | 625 | 7.40k | return; | 626 | 7.40k | } | 627 | 4.56k | p_prev = p_entry; | 628 | 4.56k | p_entry = p_entry->p_next; | 629 | 4.56k | } while( p_entry ); | 630 | | | 631 | | /* No key was found */ | 632 | 7.40k | } |
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 | 563k | { |
639 | 563k | typename T::iterator it = container.begin(); |
640 | 877k | while ( it != container.end() ) |
641 | 313k | { |
642 | 313k | delete *it; |
643 | 313k | ++it; |
644 | 313k | } |
645 | 563k | container.clear(); |
646 | 563k | } 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 | 17.5k | { | 639 | 17.5k | typename T::iterator it = container.begin(); | 640 | 123k | while ( it != container.end() ) | 641 | 105k | { | 642 | 105k | delete *it; | 643 | 105k | ++it; | 644 | 105k | } | 645 | 17.5k | container.clear(); | 646 | 17.5k | } |
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 | 17.5k | { | 639 | 17.5k | typename T::iterator it = container.begin(); | 640 | 17.5k | while ( it != container.end() ) | 641 | 0 | { | 642 | 0 | delete *it; | 643 | 0 | ++it; | 644 | 0 | } | 645 | 17.5k | container.clear(); | 646 | 17.5k | } |
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 | 17.5k | { | 639 | 17.5k | typename T::iterator it = container.begin(); | 640 | 18.3k | while ( it != container.end() ) | 641 | 832 | { | 642 | 832 | delete *it; | 643 | 832 | ++it; | 644 | 832 | } | 645 | 17.5k | container.clear(); | 646 | 17.5k | } |
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 | 255k | { | 639 | 255k | typename T::iterator it = container.begin(); | 640 | 313k | while ( it != container.end() ) | 641 | 57.4k | { | 642 | 57.4k | delete *it; | 643 | 57.4k | ++it; | 644 | 57.4k | } | 645 | 255k | container.clear(); | 646 | 255k | } |
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 | 255k | { | 639 | 255k | typename T::iterator it = container.begin(); | 640 | 405k | while ( it != container.end() ) | 641 | 149k | { | 642 | 149k | delete *it; | 643 | 149k | ++it; | 644 | 149k | } | 645 | 255k | container.clear(); | 646 | 255k | } |
|
647 | | |
648 | | #endif |
649 | | |
650 | | #endif |