Coverage Report

Created: 2025-11-09 06:39

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/vlc/include/vlc_atomic.h
Line
Count
Source
1
/*****************************************************************************
2
 * vlc_atomic.h:
3
 *****************************************************************************
4
 * Copyright (C) 2010 Rémi Denis-Courmont
5
 *
6
 * This program is free software; you can redistribute it and/or modify it
7
 * under the terms of the GNU Lesser General Public License as published by
8
 * the Free Software Foundation; either version 2.1 of the License, or
9
 * (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
 * GNU Lesser General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU Lesser General Public License
17
 * along with this program; if not, write to the Free Software Foundation,
18
 * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
19
 *****************************************************************************/
20
21
#ifndef VLC_ATOMIC_H
22
# define VLC_ATOMIC_H
23
24
/**
25
 * \file
26
 * Atomic operations do not require locking, but they are not very powerful.
27
 */
28
29
# include <assert.h>
30
#ifndef __cplusplus
31
# include <stdatomic.h>
32
#else
33
# include <atomic>
34
using std::atomic_uintptr_t;
35
using std::memory_order_relaxed;
36
using std::memory_order_acq_rel;
37
#endif
38
# include <vlc_common.h>
39
# include <vlc_tick.h>
40
41
#define VLC_STATIC_RC { \
42
    .refs = (uintptr_t) 1 \
43
}
44
45
typedef struct vlc_atomic_rc_t {
46
    atomic_uintptr_t refs;
47
} vlc_atomic_rc_t;
48
49
/** Init the RC to 1 */
50
static inline void vlc_atomic_rc_init(vlc_atomic_rc_t *rc)
51
19.1k
{
52
19.1k
#ifndef __cplusplus
53
19.1k
    atomic_init(&rc->refs, (uintptr_t)1);
54
#else
55
    rc->refs = (uintptr_t)1;
56
#endif
57
19.1k
}
Unexecuted instantiation: demux-run.c:vlc_atomic_rc_init
Unexecuted instantiation: common.c:vlc_atomic_rc_init
Unexecuted instantiation: var.c:vlc_atomic_rc_init
Unexecuted instantiation: decoder.c:vlc_atomic_rc_init
core.c:vlc_atomic_rc_init
Line
Count
Source
51
54
{
52
54
#ifndef __cplusplus
53
54
    atomic_init(&rc->refs, (uintptr_t)1);
54
#else
55
    rc->refs = (uintptr_t)1;
56
#endif
57
54
}
Unexecuted instantiation: error.c:vlc_atomic_rc_init
Unexecuted instantiation: aiff.c:vlc_atomic_rc_init
Unexecuted instantiation: asf.c:vlc_atomic_rc_init
Unexecuted instantiation: libasf.c:vlc_atomic_rc_init
Unexecuted instantiation: asfpacket.c:vlc_atomic_rc_init
Unexecuted instantiation: au.c:vlc_atomic_rc_init
Unexecuted instantiation: avi.c:vlc_atomic_rc_init
Unexecuted instantiation: libavi.c:vlc_atomic_rc_init
Unexecuted instantiation: caf.c:vlc_atomic_rc_init
Unexecuted instantiation: cdg.c:vlc_atomic_rc_init
Unexecuted instantiation: es.c:vlc_atomic_rc_init
Unexecuted instantiation: flac.c:vlc_atomic_rc_init
Unexecuted instantiation: xiph_metadata.c:vlc_atomic_rc_init
Unexecuted instantiation: h26x.c:vlc_atomic_rc_init
Unexecuted instantiation: mjpeg.c:vlc_atomic_rc_init
Unexecuted instantiation: mp4.c:vlc_atomic_rc_init
Unexecuted instantiation: attachments.c:vlc_atomic_rc_init
Unexecuted instantiation: heif.c:vlc_atomic_rc_init
Unexecuted instantiation: essetup.c:vlc_atomic_rc_init
Unexecuted instantiation: libmp4.c:vlc_atomic_rc_init
Unexecuted instantiation: nsv.c:vlc_atomic_rc_init
Unexecuted instantiation: ps.c:vlc_atomic_rc_init
Unexecuted instantiation: pva.c:vlc_atomic_rc_init
Unexecuted instantiation: sap.c:vlc_atomic_rc_init
Unexecuted instantiation: smf.c:vlc_atomic_rc_init
Unexecuted instantiation: subtitle.c:vlc_atomic_rc_init
Unexecuted instantiation: tta.c:vlc_atomic_rc_init
Unexecuted instantiation: encttml.c:vlc_atomic_rc_init
Unexecuted instantiation: substtml.c:vlc_atomic_rc_init
Unexecuted instantiation: ttml.c:vlc_atomic_rc_init
Unexecuted instantiation: ty.c:vlc_atomic_rc_init
Unexecuted instantiation: voc.c:vlc_atomic_rc_init
Unexecuted instantiation: wav.c:vlc_atomic_rc_init
Unexecuted instantiation: webvtt.c:vlc_atomic_rc_init
Unexecuted instantiation: encvtt.c:vlc_atomic_rc_init
Unexecuted instantiation: subsvtt.c:vlc_atomic_rc_init
Unexecuted instantiation: xa.c:vlc_atomic_rc_init
Unexecuted instantiation: a52.c:vlc_atomic_rc_init
Unexecuted instantiation: copy.c:vlc_atomic_rc_init
Unexecuted instantiation: dts.c:vlc_atomic_rc_init
Unexecuted instantiation: h264.c:vlc_atomic_rc_init
Unexecuted instantiation: hxxx_common.c:vlc_atomic_rc_init
Unexecuted instantiation: hevc.c:vlc_atomic_rc_init
Unexecuted instantiation: mlp.c:vlc_atomic_rc_init
Unexecuted instantiation: mpeg4audio.c:vlc_atomic_rc_init
Unexecuted instantiation: mpeg4video.c:vlc_atomic_rc_init
Unexecuted instantiation: mpegaudio.c:vlc_atomic_rc_init
Unexecuted instantiation: mpegvideo.c:vlc_atomic_rc_init
Unexecuted instantiation: vc1.c:vlc_atomic_rc_init
Unexecuted instantiation: rawaud.c:vlc_atomic_rc_init
Unexecuted instantiation: rawvid.c:vlc_atomic_rc_init
Unexecuted instantiation: file.c:vlc_atomic_rc_init
Unexecuted instantiation: directory.c:vlc_atomic_rc_init
Unexecuted instantiation: libxml.c:vlc_atomic_rc_init
Unexecuted instantiation: ogg.c:vlc_atomic_rc_init
Unexecuted instantiation: oggseek.c:vlc_atomic_rc_init
Unexecuted instantiation: mkv.cpp:vlc_atomic_rc_init(vlc_atomic_rc_t*)
Unexecuted instantiation: util.cpp:vlc_atomic_rc_init(vlc_atomic_rc_t*)
Unexecuted instantiation: virtual_segment.cpp:vlc_atomic_rc_init(vlc_atomic_rc_t*)
Unexecuted instantiation: matroska_segment.cpp:vlc_atomic_rc_init(vlc_atomic_rc_t*)
Unexecuted instantiation: matroska_segment_parse.cpp:vlc_atomic_rc_init(vlc_atomic_rc_t*)
Unexecuted instantiation: matroska_segment_seeker.cpp:vlc_atomic_rc_init(vlc_atomic_rc_t*)
Unexecuted instantiation: demux.cpp:vlc_atomic_rc_init(vlc_atomic_rc_t*)
Unexecuted instantiation: events.cpp:vlc_atomic_rc_init(vlc_atomic_rc_t*)
Unexecuted instantiation: Ebml_parser.cpp:vlc_atomic_rc_init(vlc_atomic_rc_t*)
Unexecuted instantiation: chapters.cpp:vlc_atomic_rc_init(vlc_atomic_rc_t*)
Unexecuted instantiation: chapter_command.cpp:vlc_atomic_rc_init(vlc_atomic_rc_t*)
Unexecuted instantiation: chapter_command_dvd.cpp:vlc_atomic_rc_init(vlc_atomic_rc_t*)
Unexecuted instantiation: chapter_command_script.cpp:vlc_atomic_rc_init(vlc_atomic_rc_t*)
Unexecuted instantiation: chapter_command_script_common.cpp:vlc_atomic_rc_init(vlc_atomic_rc_t*)
Unexecuted instantiation: stream_io_callback.cpp:vlc_atomic_rc_init(vlc_atomic_rc_t*)
Unexecuted instantiation: adpcm.c:vlc_atomic_rc_init
Unexecuted instantiation: aes3.c:vlc_atomic_rc_init
Unexecuted instantiation: araw.c:vlc_atomic_rc_init
Unexecuted instantiation: g711.c:vlc_atomic_rc_init
Unexecuted instantiation: lpcm.c:vlc_atomic_rc_init
Unexecuted instantiation: uleaddvaudio.c:vlc_atomic_rc_init
Unexecuted instantiation: rawvideo.c:vlc_atomic_rc_init
Unexecuted instantiation: cc.c:vlc_atomic_rc_init
Unexecuted instantiation: cea708.c:vlc_atomic_rc_init
Unexecuted instantiation: cvdsub.c:vlc_atomic_rc_init
Unexecuted instantiation: dvbsub.c:vlc_atomic_rc_init
Unexecuted instantiation: scte18.c:vlc_atomic_rc_init
Unexecuted instantiation: scte27.c:vlc_atomic_rc_init
Unexecuted instantiation: spudec.c:vlc_atomic_rc_init
Unexecuted instantiation: parse.c:vlc_atomic_rc_init
Unexecuted instantiation: stl.c:vlc_atomic_rc_init
Unexecuted instantiation: subsdec.c:vlc_atomic_rc_init
Unexecuted instantiation: subsusf.c:vlc_atomic_rc_init
Unexecuted instantiation: svcdsub.c:vlc_atomic_rc_init
Unexecuted instantiation: textst.c:vlc_atomic_rc_init
Unexecuted instantiation: substx3g.c:vlc_atomic_rc_init
Unexecuted instantiation: libvlc.c:vlc_atomic_rc_init
Unexecuted instantiation: media_source.c:vlc_atomic_rc_init
Unexecuted instantiation: media_tree.c:vlc_atomic_rc_init
Unexecuted instantiation: interface.c:vlc_atomic_rc_init
Unexecuted instantiation: content.c:vlc_atomic_rc_init
Unexecuted instantiation: control.c:vlc_atomic_rc_init
Unexecuted instantiation: item.c:vlc_atomic_rc_init
Unexecuted instantiation: notify.c:vlc_atomic_rc_init
Unexecuted instantiation: player.c:vlc_atomic_rc_init
Unexecuted instantiation: playlist.c:vlc_atomic_rc_init
Unexecuted instantiation: preparse.c:vlc_atomic_rc_init
Unexecuted instantiation: preparser.c:vlc_atomic_rc_init
Unexecuted instantiation: access.c:vlc_atomic_rc_init
Unexecuted instantiation: decoder_device.c:vlc_atomic_rc_init
Unexecuted instantiation: decoder_helpers.c:vlc_atomic_rc_init
Unexecuted instantiation: demux.c:vlc_atomic_rc_init
Unexecuted instantiation: input.c:vlc_atomic_rc_init
Unexecuted instantiation: meta.c:vlc_atomic_rc_init
attachment.c:vlc_atomic_rc_init
Line
Count
Source
51
2.38k
{
52
2.38k
#ifndef __cplusplus
53
2.38k
    atomic_init(&rc->refs, (uintptr_t)1);
54
#else
55
    rc->refs = (uintptr_t)1;
56
#endif
57
2.38k
}
Unexecuted instantiation: timer.c:vlc_atomic_rc_init
Unexecuted instantiation: track.c:vlc_atomic_rc_init
Unexecuted instantiation: title.c:vlc_atomic_rc_init
Unexecuted instantiation: aout.c:vlc_atomic_rc_init
Unexecuted instantiation: vout.c:vlc_atomic_rc_init
Unexecuted instantiation: osd.c:vlc_atomic_rc_init
Unexecuted instantiation: medialib.c:vlc_atomic_rc_init
Unexecuted instantiation: resource.c:vlc_atomic_rc_init
Unexecuted instantiation: services_discovery.c:vlc_atomic_rc_init
Unexecuted instantiation: source.c:vlc_atomic_rc_init
Unexecuted instantiation: stats.c:vlc_atomic_rc_init
Unexecuted instantiation: stream.c:vlc_atomic_rc_init
Unexecuted instantiation: stream_extractor.c:vlc_atomic_rc_init
Unexecuted instantiation: stream_filter.c:vlc_atomic_rc_init
Unexecuted instantiation: stream_memory.c:vlc_atomic_rc_init
Unexecuted instantiation: subtitles.c:vlc_atomic_rc_init
Unexecuted instantiation: dec.c:vlc_atomic_rc_init
Unexecuted instantiation: filters.c:vlc_atomic_rc_init
Unexecuted instantiation: meter.c:vlc_atomic_rc_init
Unexecuted instantiation: output.c:vlc_atomic_rc_init
Unexecuted instantiation: volume.c:vlc_atomic_rc_init
Unexecuted instantiation: video_output.c:vlc_atomic_rc_init
Unexecuted instantiation: video_text.c:vlc_atomic_rc_init
Unexecuted instantiation: video_widgets.c:vlc_atomic_rc_init
Unexecuted instantiation: vout_subpictures.c:vlc_atomic_rc_init
Unexecuted instantiation: video_window.c:vlc_atomic_rc_init
Unexecuted instantiation: vout_intf.c:vlc_atomic_rc_init
Unexecuted instantiation: vout_wrapper.c:vlc_atomic_rc_init
Unexecuted instantiation: strings.c:vlc_atomic_rc_init
ancillary.c:vlc_atomic_rc_init
Line
Count
Source
51
1.99k
{
52
1.99k
#ifndef __cplusplus
53
1.99k
    atomic_init(&rc->refs, (uintptr_t)1);
54
#else
55
    rc->refs = (uintptr_t)1;
56
#endif
57
1.99k
}
Unexecuted instantiation: executor.c:vlc_atomic_rc_init
Unexecuted instantiation: frame.c:vlc_atomic_rc_init
picture.c:vlc_atomic_rc_init
Line
Count
Source
51
14.7k
{
52
14.7k
#ifndef __cplusplus
53
14.7k
    atomic_init(&rc->refs, (uintptr_t)1);
54
#else
55
    rc->refs = (uintptr_t)1;
56
#endif
57
14.7k
}
Unexecuted instantiation: picture_fifo.c:vlc_atomic_rc_init
Unexecuted instantiation: picture_pool.c:vlc_atomic_rc_init
Unexecuted instantiation: rcu.c:vlc_atomic_rc_init
Unexecuted instantiation: renderer_discovery.c:vlc_atomic_rc_init
Unexecuted instantiation: threads.c:vlc_atomic_rc_init
Unexecuted instantiation: exit.c:vlc_atomic_rc_init
Unexecuted instantiation: image.c:vlc_atomic_rc_init
Unexecuted instantiation: objects.c:vlc_atomic_rc_init
Unexecuted instantiation: filter.c:vlc_atomic_rc_init
Unexecuted instantiation: filter_chain.c:vlc_atomic_rc_init
Unexecuted instantiation: subpicture.c:vlc_atomic_rc_init
Unexecuted instantiation: thread.c:vlc_atomic_rc_init
Unexecuted instantiation: specific.c:vlc_atomic_rc_init
Unexecuted instantiation: stream_output.c:vlc_atomic_rc_init
Unexecuted instantiation: vlm.c:vlc_atomic_rc_init
Unexecuted instantiation: vlm_event.c:vlc_atomic_rc_init
Unexecuted instantiation: vlmshell.c:vlc_atomic_rc_init
Unexecuted instantiation: libvlc-module.c:vlc_atomic_rc_init
Unexecuted instantiation: fetcher.c:vlc_atomic_rc_init
Unexecuted instantiation: es_out.c:vlc_atomic_rc_init
Unexecuted instantiation: es_out_source.c:vlc_atomic_rc_init
Unexecuted instantiation: es_out_timeshift.c:vlc_atomic_rc_init
Unexecuted instantiation: display.c:vlc_atomic_rc_init
Unexecuted instantiation: interlacing.c:vlc_atomic_rc_init
Unexecuted instantiation: snapshot.c:vlc_atomic_rc_init
Unexecuted instantiation: input_clock.c:vlc_atomic_rc_init
58
59
/** Increment the RC */
60
static inline void vlc_atomic_rc_inc(vlc_atomic_rc_t *rc)
61
1.99k
{
62
1.99k
    uintptr_t prev = atomic_fetch_add_explicit(&rc->refs, (uintptr_t)1,
63
1.99k
                                               memory_order_relaxed);
64
1.99k
    vlc_assert(prev);
65
1.99k
    VLC_UNUSED(prev);
66
1.99k
}
Unexecuted instantiation: demux-run.c:vlc_atomic_rc_inc
Unexecuted instantiation: common.c:vlc_atomic_rc_inc
Unexecuted instantiation: var.c:vlc_atomic_rc_inc
Unexecuted instantiation: decoder.c:vlc_atomic_rc_inc
Unexecuted instantiation: core.c:vlc_atomic_rc_inc
Unexecuted instantiation: error.c:vlc_atomic_rc_inc
Unexecuted instantiation: aiff.c:vlc_atomic_rc_inc
Unexecuted instantiation: asf.c:vlc_atomic_rc_inc
Unexecuted instantiation: libasf.c:vlc_atomic_rc_inc
Unexecuted instantiation: asfpacket.c:vlc_atomic_rc_inc
Unexecuted instantiation: au.c:vlc_atomic_rc_inc
Unexecuted instantiation: avi.c:vlc_atomic_rc_inc
Unexecuted instantiation: libavi.c:vlc_atomic_rc_inc
Unexecuted instantiation: caf.c:vlc_atomic_rc_inc
Unexecuted instantiation: cdg.c:vlc_atomic_rc_inc
Unexecuted instantiation: es.c:vlc_atomic_rc_inc
Unexecuted instantiation: flac.c:vlc_atomic_rc_inc
Unexecuted instantiation: xiph_metadata.c:vlc_atomic_rc_inc
Unexecuted instantiation: h26x.c:vlc_atomic_rc_inc
Unexecuted instantiation: mjpeg.c:vlc_atomic_rc_inc
Unexecuted instantiation: mp4.c:vlc_atomic_rc_inc
Unexecuted instantiation: attachments.c:vlc_atomic_rc_inc
Unexecuted instantiation: heif.c:vlc_atomic_rc_inc
Unexecuted instantiation: essetup.c:vlc_atomic_rc_inc
Unexecuted instantiation: libmp4.c:vlc_atomic_rc_inc
Unexecuted instantiation: nsv.c:vlc_atomic_rc_inc
Unexecuted instantiation: ps.c:vlc_atomic_rc_inc
Unexecuted instantiation: pva.c:vlc_atomic_rc_inc
Unexecuted instantiation: sap.c:vlc_atomic_rc_inc
Unexecuted instantiation: smf.c:vlc_atomic_rc_inc
Unexecuted instantiation: subtitle.c:vlc_atomic_rc_inc
Unexecuted instantiation: tta.c:vlc_atomic_rc_inc
Unexecuted instantiation: encttml.c:vlc_atomic_rc_inc
Unexecuted instantiation: substtml.c:vlc_atomic_rc_inc
Unexecuted instantiation: ttml.c:vlc_atomic_rc_inc
Unexecuted instantiation: ty.c:vlc_atomic_rc_inc
Unexecuted instantiation: voc.c:vlc_atomic_rc_inc
Unexecuted instantiation: wav.c:vlc_atomic_rc_inc
Unexecuted instantiation: webvtt.c:vlc_atomic_rc_inc
Unexecuted instantiation: encvtt.c:vlc_atomic_rc_inc
Unexecuted instantiation: subsvtt.c:vlc_atomic_rc_inc
Unexecuted instantiation: xa.c:vlc_atomic_rc_inc
Unexecuted instantiation: a52.c:vlc_atomic_rc_inc
Unexecuted instantiation: copy.c:vlc_atomic_rc_inc
Unexecuted instantiation: dts.c:vlc_atomic_rc_inc
Unexecuted instantiation: h264.c:vlc_atomic_rc_inc
Unexecuted instantiation: hxxx_common.c:vlc_atomic_rc_inc
Unexecuted instantiation: hevc.c:vlc_atomic_rc_inc
Unexecuted instantiation: mlp.c:vlc_atomic_rc_inc
Unexecuted instantiation: mpeg4audio.c:vlc_atomic_rc_inc
Unexecuted instantiation: mpeg4video.c:vlc_atomic_rc_inc
Unexecuted instantiation: mpegaudio.c:vlc_atomic_rc_inc
Unexecuted instantiation: mpegvideo.c:vlc_atomic_rc_inc
Unexecuted instantiation: vc1.c:vlc_atomic_rc_inc
Unexecuted instantiation: rawaud.c:vlc_atomic_rc_inc
Unexecuted instantiation: rawvid.c:vlc_atomic_rc_inc
Unexecuted instantiation: file.c:vlc_atomic_rc_inc
Unexecuted instantiation: directory.c:vlc_atomic_rc_inc
Unexecuted instantiation: libxml.c:vlc_atomic_rc_inc
Unexecuted instantiation: ogg.c:vlc_atomic_rc_inc
Unexecuted instantiation: oggseek.c:vlc_atomic_rc_inc
Unexecuted instantiation: mkv.cpp:vlc_atomic_rc_inc(vlc_atomic_rc_t*)
Unexecuted instantiation: util.cpp:vlc_atomic_rc_inc(vlc_atomic_rc_t*)
Unexecuted instantiation: virtual_segment.cpp:vlc_atomic_rc_inc(vlc_atomic_rc_t*)
Unexecuted instantiation: matroska_segment.cpp:vlc_atomic_rc_inc(vlc_atomic_rc_t*)
Unexecuted instantiation: matroska_segment_parse.cpp:vlc_atomic_rc_inc(vlc_atomic_rc_t*)
Unexecuted instantiation: matroska_segment_seeker.cpp:vlc_atomic_rc_inc(vlc_atomic_rc_t*)
Unexecuted instantiation: demux.cpp:vlc_atomic_rc_inc(vlc_atomic_rc_t*)
Unexecuted instantiation: events.cpp:vlc_atomic_rc_inc(vlc_atomic_rc_t*)
Unexecuted instantiation: Ebml_parser.cpp:vlc_atomic_rc_inc(vlc_atomic_rc_t*)
Unexecuted instantiation: chapters.cpp:vlc_atomic_rc_inc(vlc_atomic_rc_t*)
Unexecuted instantiation: chapter_command.cpp:vlc_atomic_rc_inc(vlc_atomic_rc_t*)
Unexecuted instantiation: chapter_command_dvd.cpp:vlc_atomic_rc_inc(vlc_atomic_rc_t*)
Unexecuted instantiation: chapter_command_script.cpp:vlc_atomic_rc_inc(vlc_atomic_rc_t*)
Unexecuted instantiation: chapter_command_script_common.cpp:vlc_atomic_rc_inc(vlc_atomic_rc_t*)
Unexecuted instantiation: stream_io_callback.cpp:vlc_atomic_rc_inc(vlc_atomic_rc_t*)
Unexecuted instantiation: adpcm.c:vlc_atomic_rc_inc
Unexecuted instantiation: aes3.c:vlc_atomic_rc_inc
Unexecuted instantiation: araw.c:vlc_atomic_rc_inc
Unexecuted instantiation: g711.c:vlc_atomic_rc_inc
Unexecuted instantiation: lpcm.c:vlc_atomic_rc_inc
Unexecuted instantiation: uleaddvaudio.c:vlc_atomic_rc_inc
Unexecuted instantiation: rawvideo.c:vlc_atomic_rc_inc
Unexecuted instantiation: cc.c:vlc_atomic_rc_inc
Unexecuted instantiation: cea708.c:vlc_atomic_rc_inc
Unexecuted instantiation: cvdsub.c:vlc_atomic_rc_inc
Unexecuted instantiation: dvbsub.c:vlc_atomic_rc_inc
Unexecuted instantiation: scte18.c:vlc_atomic_rc_inc
Unexecuted instantiation: scte27.c:vlc_atomic_rc_inc
Unexecuted instantiation: spudec.c:vlc_atomic_rc_inc
Unexecuted instantiation: parse.c:vlc_atomic_rc_inc
Unexecuted instantiation: stl.c:vlc_atomic_rc_inc
Unexecuted instantiation: subsdec.c:vlc_atomic_rc_inc
Unexecuted instantiation: subsusf.c:vlc_atomic_rc_inc
Unexecuted instantiation: svcdsub.c:vlc_atomic_rc_inc
Unexecuted instantiation: textst.c:vlc_atomic_rc_inc
Unexecuted instantiation: substx3g.c:vlc_atomic_rc_inc
Unexecuted instantiation: libvlc.c:vlc_atomic_rc_inc
Unexecuted instantiation: media_source.c:vlc_atomic_rc_inc
Unexecuted instantiation: media_tree.c:vlc_atomic_rc_inc
Unexecuted instantiation: interface.c:vlc_atomic_rc_inc
Unexecuted instantiation: content.c:vlc_atomic_rc_inc
Unexecuted instantiation: control.c:vlc_atomic_rc_inc
Unexecuted instantiation: item.c:vlc_atomic_rc_inc
Unexecuted instantiation: notify.c:vlc_atomic_rc_inc
Unexecuted instantiation: player.c:vlc_atomic_rc_inc
Unexecuted instantiation: playlist.c:vlc_atomic_rc_inc
Unexecuted instantiation: preparse.c:vlc_atomic_rc_inc
Unexecuted instantiation: preparser.c:vlc_atomic_rc_inc
Unexecuted instantiation: access.c:vlc_atomic_rc_inc
Unexecuted instantiation: decoder_device.c:vlc_atomic_rc_inc
Unexecuted instantiation: decoder_helpers.c:vlc_atomic_rc_inc
Unexecuted instantiation: demux.c:vlc_atomic_rc_inc
Unexecuted instantiation: input.c:vlc_atomic_rc_inc
Unexecuted instantiation: meta.c:vlc_atomic_rc_inc
Unexecuted instantiation: attachment.c:vlc_atomic_rc_inc
Unexecuted instantiation: timer.c:vlc_atomic_rc_inc
Unexecuted instantiation: track.c:vlc_atomic_rc_inc
Unexecuted instantiation: title.c:vlc_atomic_rc_inc
Unexecuted instantiation: aout.c:vlc_atomic_rc_inc
Unexecuted instantiation: vout.c:vlc_atomic_rc_inc
Unexecuted instantiation: osd.c:vlc_atomic_rc_inc
Unexecuted instantiation: medialib.c:vlc_atomic_rc_inc
Unexecuted instantiation: resource.c:vlc_atomic_rc_inc
Unexecuted instantiation: services_discovery.c:vlc_atomic_rc_inc
Unexecuted instantiation: source.c:vlc_atomic_rc_inc
Unexecuted instantiation: stats.c:vlc_atomic_rc_inc
Unexecuted instantiation: stream.c:vlc_atomic_rc_inc
Unexecuted instantiation: stream_extractor.c:vlc_atomic_rc_inc
Unexecuted instantiation: stream_filter.c:vlc_atomic_rc_inc
Unexecuted instantiation: stream_memory.c:vlc_atomic_rc_inc
Unexecuted instantiation: subtitles.c:vlc_atomic_rc_inc
Unexecuted instantiation: dec.c:vlc_atomic_rc_inc
Unexecuted instantiation: filters.c:vlc_atomic_rc_inc
Unexecuted instantiation: meter.c:vlc_atomic_rc_inc
Unexecuted instantiation: output.c:vlc_atomic_rc_inc
Unexecuted instantiation: volume.c:vlc_atomic_rc_inc
Unexecuted instantiation: video_output.c:vlc_atomic_rc_inc
Unexecuted instantiation: video_text.c:vlc_atomic_rc_inc
Unexecuted instantiation: video_widgets.c:vlc_atomic_rc_inc
Unexecuted instantiation: vout_subpictures.c:vlc_atomic_rc_inc
Unexecuted instantiation: video_window.c:vlc_atomic_rc_inc
Unexecuted instantiation: vout_intf.c:vlc_atomic_rc_inc
Unexecuted instantiation: vout_wrapper.c:vlc_atomic_rc_inc
Unexecuted instantiation: strings.c:vlc_atomic_rc_inc
ancillary.c:vlc_atomic_rc_inc
Line
Count
Source
61
1.99k
{
62
1.99k
    uintptr_t prev = atomic_fetch_add_explicit(&rc->refs, (uintptr_t)1,
63
1.99k
                                               memory_order_relaxed);
64
1.99k
    vlc_assert(prev);
65
1.99k
    VLC_UNUSED(prev);
66
1.99k
}
Unexecuted instantiation: executor.c:vlc_atomic_rc_inc
Unexecuted instantiation: frame.c:vlc_atomic_rc_inc
Unexecuted instantiation: picture.c:vlc_atomic_rc_inc
Unexecuted instantiation: picture_fifo.c:vlc_atomic_rc_inc
Unexecuted instantiation: picture_pool.c:vlc_atomic_rc_inc
Unexecuted instantiation: rcu.c:vlc_atomic_rc_inc
Unexecuted instantiation: renderer_discovery.c:vlc_atomic_rc_inc
Unexecuted instantiation: threads.c:vlc_atomic_rc_inc
Unexecuted instantiation: exit.c:vlc_atomic_rc_inc
Unexecuted instantiation: image.c:vlc_atomic_rc_inc
Unexecuted instantiation: objects.c:vlc_atomic_rc_inc
Unexecuted instantiation: filter.c:vlc_atomic_rc_inc
Unexecuted instantiation: filter_chain.c:vlc_atomic_rc_inc
Unexecuted instantiation: subpicture.c:vlc_atomic_rc_inc
Unexecuted instantiation: thread.c:vlc_atomic_rc_inc
Unexecuted instantiation: specific.c:vlc_atomic_rc_inc
Unexecuted instantiation: stream_output.c:vlc_atomic_rc_inc
Unexecuted instantiation: vlm.c:vlc_atomic_rc_inc
Unexecuted instantiation: vlm_event.c:vlc_atomic_rc_inc
Unexecuted instantiation: vlmshell.c:vlc_atomic_rc_inc
Unexecuted instantiation: libvlc-module.c:vlc_atomic_rc_inc
Unexecuted instantiation: fetcher.c:vlc_atomic_rc_inc
Unexecuted instantiation: es_out.c:vlc_atomic_rc_inc
Unexecuted instantiation: es_out_source.c:vlc_atomic_rc_inc
Unexecuted instantiation: es_out_timeshift.c:vlc_atomic_rc_inc
Unexecuted instantiation: display.c:vlc_atomic_rc_inc
Unexecuted instantiation: interlacing.c:vlc_atomic_rc_inc
Unexecuted instantiation: snapshot.c:vlc_atomic_rc_inc
Unexecuted instantiation: input_clock.c:vlc_atomic_rc_inc
67
68
/** Decrement the RC and return true if it reaches 0 */
69
static inline bool vlc_atomic_rc_dec(vlc_atomic_rc_t *rc)
70
16.7k
{
71
16.7k
    uintptr_t prev = atomic_fetch_sub_explicit(&rc->refs, (uintptr_t)1,
72
16.7k
                                               memory_order_acq_rel);
73
16.7k
    vlc_assert(prev);
74
16.7k
    return prev == 1;
75
16.7k
}
Unexecuted instantiation: demux-run.c:vlc_atomic_rc_dec
Unexecuted instantiation: common.c:vlc_atomic_rc_dec
Unexecuted instantiation: var.c:vlc_atomic_rc_dec
decoder.c:vlc_atomic_rc_dec
Line
Count
Source
70
5.15k
{
71
5.15k
    uintptr_t prev = atomic_fetch_sub_explicit(&rc->refs, (uintptr_t)1,
72
5.15k
                                               memory_order_acq_rel);
73
5.15k
    vlc_assert(prev);
74
5.15k
    return prev == 1;
75
5.15k
}
Unexecuted instantiation: core.c:vlc_atomic_rc_dec
Unexecuted instantiation: error.c:vlc_atomic_rc_dec
Unexecuted instantiation: aiff.c:vlc_atomic_rc_dec
Unexecuted instantiation: asf.c:vlc_atomic_rc_dec
Unexecuted instantiation: libasf.c:vlc_atomic_rc_dec
Unexecuted instantiation: asfpacket.c:vlc_atomic_rc_dec
Unexecuted instantiation: au.c:vlc_atomic_rc_dec
Unexecuted instantiation: avi.c:vlc_atomic_rc_dec
Unexecuted instantiation: libavi.c:vlc_atomic_rc_dec
Unexecuted instantiation: caf.c:vlc_atomic_rc_dec
Unexecuted instantiation: cdg.c:vlc_atomic_rc_dec
Unexecuted instantiation: es.c:vlc_atomic_rc_dec
Unexecuted instantiation: flac.c:vlc_atomic_rc_dec
Unexecuted instantiation: xiph_metadata.c:vlc_atomic_rc_dec
Unexecuted instantiation: h26x.c:vlc_atomic_rc_dec
Unexecuted instantiation: mjpeg.c:vlc_atomic_rc_dec
Unexecuted instantiation: mp4.c:vlc_atomic_rc_dec
Unexecuted instantiation: attachments.c:vlc_atomic_rc_dec
Unexecuted instantiation: heif.c:vlc_atomic_rc_dec
Unexecuted instantiation: essetup.c:vlc_atomic_rc_dec
Unexecuted instantiation: libmp4.c:vlc_atomic_rc_dec
Unexecuted instantiation: nsv.c:vlc_atomic_rc_dec
Unexecuted instantiation: ps.c:vlc_atomic_rc_dec
Unexecuted instantiation: pva.c:vlc_atomic_rc_dec
Unexecuted instantiation: sap.c:vlc_atomic_rc_dec
Unexecuted instantiation: smf.c:vlc_atomic_rc_dec
Unexecuted instantiation: subtitle.c:vlc_atomic_rc_dec
Unexecuted instantiation: tta.c:vlc_atomic_rc_dec
Unexecuted instantiation: encttml.c:vlc_atomic_rc_dec
Unexecuted instantiation: substtml.c:vlc_atomic_rc_dec
Unexecuted instantiation: ttml.c:vlc_atomic_rc_dec
Unexecuted instantiation: ty.c:vlc_atomic_rc_dec
Unexecuted instantiation: voc.c:vlc_atomic_rc_dec
Unexecuted instantiation: wav.c:vlc_atomic_rc_dec
Unexecuted instantiation: webvtt.c:vlc_atomic_rc_dec
Unexecuted instantiation: encvtt.c:vlc_atomic_rc_dec
Unexecuted instantiation: subsvtt.c:vlc_atomic_rc_dec
Unexecuted instantiation: xa.c:vlc_atomic_rc_dec
Unexecuted instantiation: a52.c:vlc_atomic_rc_dec
Unexecuted instantiation: copy.c:vlc_atomic_rc_dec
Unexecuted instantiation: dts.c:vlc_atomic_rc_dec
Unexecuted instantiation: h264.c:vlc_atomic_rc_dec
Unexecuted instantiation: hxxx_common.c:vlc_atomic_rc_dec
Unexecuted instantiation: hevc.c:vlc_atomic_rc_dec
Unexecuted instantiation: mlp.c:vlc_atomic_rc_dec
Unexecuted instantiation: mpeg4audio.c:vlc_atomic_rc_dec
Unexecuted instantiation: mpeg4video.c:vlc_atomic_rc_dec
Unexecuted instantiation: mpegaudio.c:vlc_atomic_rc_dec
Unexecuted instantiation: mpegvideo.c:vlc_atomic_rc_dec
Unexecuted instantiation: vc1.c:vlc_atomic_rc_dec
Unexecuted instantiation: rawaud.c:vlc_atomic_rc_dec
Unexecuted instantiation: rawvid.c:vlc_atomic_rc_dec
Unexecuted instantiation: file.c:vlc_atomic_rc_dec
Unexecuted instantiation: directory.c:vlc_atomic_rc_dec
Unexecuted instantiation: libxml.c:vlc_atomic_rc_dec
Unexecuted instantiation: ogg.c:vlc_atomic_rc_dec
Unexecuted instantiation: oggseek.c:vlc_atomic_rc_dec
Unexecuted instantiation: mkv.cpp:vlc_atomic_rc_dec(vlc_atomic_rc_t*)
Unexecuted instantiation: util.cpp:vlc_atomic_rc_dec(vlc_atomic_rc_t*)
Unexecuted instantiation: virtual_segment.cpp:vlc_atomic_rc_dec(vlc_atomic_rc_t*)
Unexecuted instantiation: matroska_segment.cpp:vlc_atomic_rc_dec(vlc_atomic_rc_t*)
Unexecuted instantiation: matroska_segment_parse.cpp:vlc_atomic_rc_dec(vlc_atomic_rc_t*)
Unexecuted instantiation: matroska_segment_seeker.cpp:vlc_atomic_rc_dec(vlc_atomic_rc_t*)
Unexecuted instantiation: demux.cpp:vlc_atomic_rc_dec(vlc_atomic_rc_t*)
Unexecuted instantiation: events.cpp:vlc_atomic_rc_dec(vlc_atomic_rc_t*)
Unexecuted instantiation: Ebml_parser.cpp:vlc_atomic_rc_dec(vlc_atomic_rc_t*)
Unexecuted instantiation: chapters.cpp:vlc_atomic_rc_dec(vlc_atomic_rc_t*)
Unexecuted instantiation: chapter_command.cpp:vlc_atomic_rc_dec(vlc_atomic_rc_t*)
Unexecuted instantiation: chapter_command_dvd.cpp:vlc_atomic_rc_dec(vlc_atomic_rc_t*)
Unexecuted instantiation: chapter_command_script.cpp:vlc_atomic_rc_dec(vlc_atomic_rc_t*)
Unexecuted instantiation: chapter_command_script_common.cpp:vlc_atomic_rc_dec(vlc_atomic_rc_t*)
Unexecuted instantiation: stream_io_callback.cpp:vlc_atomic_rc_dec(vlc_atomic_rc_t*)
Unexecuted instantiation: adpcm.c:vlc_atomic_rc_dec
Unexecuted instantiation: aes3.c:vlc_atomic_rc_dec
Unexecuted instantiation: araw.c:vlc_atomic_rc_dec
Unexecuted instantiation: g711.c:vlc_atomic_rc_dec
Unexecuted instantiation: lpcm.c:vlc_atomic_rc_dec
Unexecuted instantiation: uleaddvaudio.c:vlc_atomic_rc_dec
Unexecuted instantiation: rawvideo.c:vlc_atomic_rc_dec
Unexecuted instantiation: cc.c:vlc_atomic_rc_dec
Unexecuted instantiation: cea708.c:vlc_atomic_rc_dec
Unexecuted instantiation: cvdsub.c:vlc_atomic_rc_dec
Unexecuted instantiation: dvbsub.c:vlc_atomic_rc_dec
Unexecuted instantiation: scte18.c:vlc_atomic_rc_dec
Unexecuted instantiation: scte27.c:vlc_atomic_rc_dec
Unexecuted instantiation: spudec.c:vlc_atomic_rc_dec
Unexecuted instantiation: parse.c:vlc_atomic_rc_dec
Unexecuted instantiation: stl.c:vlc_atomic_rc_dec
Unexecuted instantiation: subsdec.c:vlc_atomic_rc_dec
Unexecuted instantiation: subsusf.c:vlc_atomic_rc_dec
Unexecuted instantiation: svcdsub.c:vlc_atomic_rc_dec
Unexecuted instantiation: textst.c:vlc_atomic_rc_dec
Unexecuted instantiation: substx3g.c:vlc_atomic_rc_dec
Unexecuted instantiation: libvlc.c:vlc_atomic_rc_dec
Unexecuted instantiation: media_source.c:vlc_atomic_rc_dec
Unexecuted instantiation: media_tree.c:vlc_atomic_rc_dec
Unexecuted instantiation: interface.c:vlc_atomic_rc_dec
Unexecuted instantiation: content.c:vlc_atomic_rc_dec
Unexecuted instantiation: control.c:vlc_atomic_rc_dec
Unexecuted instantiation: item.c:vlc_atomic_rc_dec
Unexecuted instantiation: notify.c:vlc_atomic_rc_dec
Unexecuted instantiation: player.c:vlc_atomic_rc_dec
Unexecuted instantiation: playlist.c:vlc_atomic_rc_dec
Unexecuted instantiation: preparse.c:vlc_atomic_rc_dec
Unexecuted instantiation: preparser.c:vlc_atomic_rc_dec
Unexecuted instantiation: access.c:vlc_atomic_rc_dec
Unexecuted instantiation: decoder_device.c:vlc_atomic_rc_dec
Unexecuted instantiation: decoder_helpers.c:vlc_atomic_rc_dec
Unexecuted instantiation: demux.c:vlc_atomic_rc_dec
Unexecuted instantiation: input.c:vlc_atomic_rc_dec
Unexecuted instantiation: meta.c:vlc_atomic_rc_dec
attachment.c:vlc_atomic_rc_dec
Line
Count
Source
70
2.38k
{
71
2.38k
    uintptr_t prev = atomic_fetch_sub_explicit(&rc->refs, (uintptr_t)1,
72
2.38k
                                               memory_order_acq_rel);
73
2.38k
    vlc_assert(prev);
74
2.38k
    return prev == 1;
75
2.38k
}
Unexecuted instantiation: timer.c:vlc_atomic_rc_dec
Unexecuted instantiation: track.c:vlc_atomic_rc_dec
Unexecuted instantiation: title.c:vlc_atomic_rc_dec
Unexecuted instantiation: aout.c:vlc_atomic_rc_dec
Unexecuted instantiation: vout.c:vlc_atomic_rc_dec
Unexecuted instantiation: osd.c:vlc_atomic_rc_dec
Unexecuted instantiation: medialib.c:vlc_atomic_rc_dec
Unexecuted instantiation: resource.c:vlc_atomic_rc_dec
Unexecuted instantiation: services_discovery.c:vlc_atomic_rc_dec
Unexecuted instantiation: source.c:vlc_atomic_rc_dec
Unexecuted instantiation: stats.c:vlc_atomic_rc_dec
Unexecuted instantiation: stream.c:vlc_atomic_rc_dec
Unexecuted instantiation: stream_extractor.c:vlc_atomic_rc_dec
Unexecuted instantiation: stream_filter.c:vlc_atomic_rc_dec
Unexecuted instantiation: stream_memory.c:vlc_atomic_rc_dec
Unexecuted instantiation: subtitles.c:vlc_atomic_rc_dec
Unexecuted instantiation: dec.c:vlc_atomic_rc_dec
Unexecuted instantiation: filters.c:vlc_atomic_rc_dec
Unexecuted instantiation: meter.c:vlc_atomic_rc_dec
Unexecuted instantiation: output.c:vlc_atomic_rc_dec
Unexecuted instantiation: volume.c:vlc_atomic_rc_dec
Unexecuted instantiation: video_output.c:vlc_atomic_rc_dec
Unexecuted instantiation: video_text.c:vlc_atomic_rc_dec
Unexecuted instantiation: video_widgets.c:vlc_atomic_rc_dec
Unexecuted instantiation: vout_subpictures.c:vlc_atomic_rc_dec
Unexecuted instantiation: video_window.c:vlc_atomic_rc_dec
Unexecuted instantiation: vout_intf.c:vlc_atomic_rc_dec
Unexecuted instantiation: vout_wrapper.c:vlc_atomic_rc_dec
Unexecuted instantiation: strings.c:vlc_atomic_rc_dec
ancillary.c:vlc_atomic_rc_dec
Line
Count
Source
70
1.99k
{
71
1.99k
    uintptr_t prev = atomic_fetch_sub_explicit(&rc->refs, (uintptr_t)1,
72
1.99k
                                               memory_order_acq_rel);
73
1.99k
    vlc_assert(prev);
74
1.99k
    return prev == 1;
75
1.99k
}
Unexecuted instantiation: executor.c:vlc_atomic_rc_dec
Unexecuted instantiation: frame.c:vlc_atomic_rc_dec
Unexecuted instantiation: picture.c:vlc_atomic_rc_dec
Unexecuted instantiation: picture_fifo.c:vlc_atomic_rc_dec
Unexecuted instantiation: picture_pool.c:vlc_atomic_rc_dec
Unexecuted instantiation: rcu.c:vlc_atomic_rc_dec
Unexecuted instantiation: renderer_discovery.c:vlc_atomic_rc_dec
Unexecuted instantiation: threads.c:vlc_atomic_rc_dec
Unexecuted instantiation: exit.c:vlc_atomic_rc_dec
Unexecuted instantiation: image.c:vlc_atomic_rc_dec
Unexecuted instantiation: objects.c:vlc_atomic_rc_dec
Unexecuted instantiation: filter.c:vlc_atomic_rc_dec
Unexecuted instantiation: filter_chain.c:vlc_atomic_rc_dec
subpicture.c:vlc_atomic_rc_dec
Line
Count
Source
70
7.24k
{
71
7.24k
    uintptr_t prev = atomic_fetch_sub_explicit(&rc->refs, (uintptr_t)1,
72
7.24k
                                               memory_order_acq_rel);
73
7.24k
    vlc_assert(prev);
74
7.24k
    return prev == 1;
75
7.24k
}
Unexecuted instantiation: thread.c:vlc_atomic_rc_dec
Unexecuted instantiation: specific.c:vlc_atomic_rc_dec
Unexecuted instantiation: stream_output.c:vlc_atomic_rc_dec
Unexecuted instantiation: vlm.c:vlc_atomic_rc_dec
Unexecuted instantiation: vlm_event.c:vlc_atomic_rc_dec
Unexecuted instantiation: vlmshell.c:vlc_atomic_rc_dec
Unexecuted instantiation: libvlc-module.c:vlc_atomic_rc_dec
Unexecuted instantiation: fetcher.c:vlc_atomic_rc_dec
Unexecuted instantiation: es_out.c:vlc_atomic_rc_dec
Unexecuted instantiation: es_out_source.c:vlc_atomic_rc_dec
Unexecuted instantiation: es_out_timeshift.c:vlc_atomic_rc_dec
Unexecuted instantiation: display.c:vlc_atomic_rc_dec
Unexecuted instantiation: interlacing.c:vlc_atomic_rc_dec
Unexecuted instantiation: snapshot.c:vlc_atomic_rc_dec
Unexecuted instantiation: input_clock.c:vlc_atomic_rc_dec
76
77
/** Returns the current reference count.
78
 *  This is not safe to use for logic and must only be used for debugging or
79
 *  assertion purposes */
80
static inline uintptr_t vlc_atomic_rc_get(const vlc_atomic_rc_t* rc)
81
12.3k
{
82
    return atomic_load_explicit(&rc->refs, memory_order_relaxed);
83
12.3k
}
Unexecuted instantiation: demux-run.c:vlc_atomic_rc_get
Unexecuted instantiation: common.c:vlc_atomic_rc_get
Unexecuted instantiation: var.c:vlc_atomic_rc_get
Unexecuted instantiation: decoder.c:vlc_atomic_rc_get
Unexecuted instantiation: core.c:vlc_atomic_rc_get
Unexecuted instantiation: error.c:vlc_atomic_rc_get
Unexecuted instantiation: aiff.c:vlc_atomic_rc_get
Unexecuted instantiation: asf.c:vlc_atomic_rc_get
Unexecuted instantiation: libasf.c:vlc_atomic_rc_get
Unexecuted instantiation: asfpacket.c:vlc_atomic_rc_get
Unexecuted instantiation: au.c:vlc_atomic_rc_get
Unexecuted instantiation: avi.c:vlc_atomic_rc_get
Unexecuted instantiation: libavi.c:vlc_atomic_rc_get
Unexecuted instantiation: caf.c:vlc_atomic_rc_get
Unexecuted instantiation: cdg.c:vlc_atomic_rc_get
Unexecuted instantiation: es.c:vlc_atomic_rc_get
Unexecuted instantiation: flac.c:vlc_atomic_rc_get
Unexecuted instantiation: xiph_metadata.c:vlc_atomic_rc_get
Unexecuted instantiation: h26x.c:vlc_atomic_rc_get
Unexecuted instantiation: mjpeg.c:vlc_atomic_rc_get
Unexecuted instantiation: mp4.c:vlc_atomic_rc_get
Unexecuted instantiation: attachments.c:vlc_atomic_rc_get
Unexecuted instantiation: heif.c:vlc_atomic_rc_get
Unexecuted instantiation: essetup.c:vlc_atomic_rc_get
Unexecuted instantiation: libmp4.c:vlc_atomic_rc_get
Unexecuted instantiation: nsv.c:vlc_atomic_rc_get
Unexecuted instantiation: ps.c:vlc_atomic_rc_get
Unexecuted instantiation: pva.c:vlc_atomic_rc_get
Unexecuted instantiation: sap.c:vlc_atomic_rc_get
Unexecuted instantiation: smf.c:vlc_atomic_rc_get
Unexecuted instantiation: subtitle.c:vlc_atomic_rc_get
Unexecuted instantiation: tta.c:vlc_atomic_rc_get
Unexecuted instantiation: encttml.c:vlc_atomic_rc_get
Unexecuted instantiation: substtml.c:vlc_atomic_rc_get
Unexecuted instantiation: ttml.c:vlc_atomic_rc_get
Unexecuted instantiation: ty.c:vlc_atomic_rc_get
Unexecuted instantiation: voc.c:vlc_atomic_rc_get
Unexecuted instantiation: wav.c:vlc_atomic_rc_get
Unexecuted instantiation: webvtt.c:vlc_atomic_rc_get
Unexecuted instantiation: encvtt.c:vlc_atomic_rc_get
Unexecuted instantiation: subsvtt.c:vlc_atomic_rc_get
Unexecuted instantiation: xa.c:vlc_atomic_rc_get
Unexecuted instantiation: a52.c:vlc_atomic_rc_get
Unexecuted instantiation: copy.c:vlc_atomic_rc_get
Unexecuted instantiation: dts.c:vlc_atomic_rc_get
Unexecuted instantiation: h264.c:vlc_atomic_rc_get
Unexecuted instantiation: hxxx_common.c:vlc_atomic_rc_get
Unexecuted instantiation: hevc.c:vlc_atomic_rc_get
Unexecuted instantiation: mlp.c:vlc_atomic_rc_get
Unexecuted instantiation: mpeg4audio.c:vlc_atomic_rc_get
Unexecuted instantiation: mpeg4video.c:vlc_atomic_rc_get
Unexecuted instantiation: mpegaudio.c:vlc_atomic_rc_get
Unexecuted instantiation: mpegvideo.c:vlc_atomic_rc_get
Unexecuted instantiation: vc1.c:vlc_atomic_rc_get
Unexecuted instantiation: rawaud.c:vlc_atomic_rc_get
Unexecuted instantiation: rawvid.c:vlc_atomic_rc_get
Unexecuted instantiation: file.c:vlc_atomic_rc_get
Unexecuted instantiation: directory.c:vlc_atomic_rc_get
Unexecuted instantiation: libxml.c:vlc_atomic_rc_get
Unexecuted instantiation: ogg.c:vlc_atomic_rc_get
Unexecuted instantiation: oggseek.c:vlc_atomic_rc_get
Unexecuted instantiation: mkv.cpp:vlc_atomic_rc_get(vlc_atomic_rc_t const*)
Unexecuted instantiation: util.cpp:vlc_atomic_rc_get(vlc_atomic_rc_t const*)
Unexecuted instantiation: virtual_segment.cpp:vlc_atomic_rc_get(vlc_atomic_rc_t const*)
Unexecuted instantiation: matroska_segment.cpp:vlc_atomic_rc_get(vlc_atomic_rc_t const*)
Unexecuted instantiation: matroska_segment_parse.cpp:vlc_atomic_rc_get(vlc_atomic_rc_t const*)
Unexecuted instantiation: matroska_segment_seeker.cpp:vlc_atomic_rc_get(vlc_atomic_rc_t const*)
Unexecuted instantiation: demux.cpp:vlc_atomic_rc_get(vlc_atomic_rc_t const*)
Unexecuted instantiation: events.cpp:vlc_atomic_rc_get(vlc_atomic_rc_t const*)
Unexecuted instantiation: Ebml_parser.cpp:vlc_atomic_rc_get(vlc_atomic_rc_t const*)
Unexecuted instantiation: chapters.cpp:vlc_atomic_rc_get(vlc_atomic_rc_t const*)
Unexecuted instantiation: chapter_command.cpp:vlc_atomic_rc_get(vlc_atomic_rc_t const*)
Unexecuted instantiation: chapter_command_dvd.cpp:vlc_atomic_rc_get(vlc_atomic_rc_t const*)
Unexecuted instantiation: chapter_command_script.cpp:vlc_atomic_rc_get(vlc_atomic_rc_t const*)
Unexecuted instantiation: chapter_command_script_common.cpp:vlc_atomic_rc_get(vlc_atomic_rc_t const*)
Unexecuted instantiation: stream_io_callback.cpp:vlc_atomic_rc_get(vlc_atomic_rc_t const*)
Unexecuted instantiation: adpcm.c:vlc_atomic_rc_get
Unexecuted instantiation: aes3.c:vlc_atomic_rc_get
Unexecuted instantiation: araw.c:vlc_atomic_rc_get
Unexecuted instantiation: g711.c:vlc_atomic_rc_get
Unexecuted instantiation: lpcm.c:vlc_atomic_rc_get
Unexecuted instantiation: uleaddvaudio.c:vlc_atomic_rc_get
Unexecuted instantiation: rawvideo.c:vlc_atomic_rc_get
Unexecuted instantiation: cc.c:vlc_atomic_rc_get
Unexecuted instantiation: cea708.c:vlc_atomic_rc_get
Unexecuted instantiation: cvdsub.c:vlc_atomic_rc_get
Unexecuted instantiation: dvbsub.c:vlc_atomic_rc_get
Unexecuted instantiation: scte18.c:vlc_atomic_rc_get
Unexecuted instantiation: scte27.c:vlc_atomic_rc_get
Unexecuted instantiation: spudec.c:vlc_atomic_rc_get
Unexecuted instantiation: parse.c:vlc_atomic_rc_get
Unexecuted instantiation: stl.c:vlc_atomic_rc_get
Unexecuted instantiation: subsdec.c:vlc_atomic_rc_get
Unexecuted instantiation: subsusf.c:vlc_atomic_rc_get
Unexecuted instantiation: svcdsub.c:vlc_atomic_rc_get
Unexecuted instantiation: textst.c:vlc_atomic_rc_get
Unexecuted instantiation: substx3g.c:vlc_atomic_rc_get
Unexecuted instantiation: libvlc.c:vlc_atomic_rc_get
Unexecuted instantiation: media_source.c:vlc_atomic_rc_get
Unexecuted instantiation: media_tree.c:vlc_atomic_rc_get
Unexecuted instantiation: interface.c:vlc_atomic_rc_get
Unexecuted instantiation: content.c:vlc_atomic_rc_get
Unexecuted instantiation: control.c:vlc_atomic_rc_get
Unexecuted instantiation: item.c:vlc_atomic_rc_get
Unexecuted instantiation: notify.c:vlc_atomic_rc_get
Unexecuted instantiation: player.c:vlc_atomic_rc_get
Unexecuted instantiation: playlist.c:vlc_atomic_rc_get
Unexecuted instantiation: preparse.c:vlc_atomic_rc_get
Unexecuted instantiation: preparser.c:vlc_atomic_rc_get
Unexecuted instantiation: access.c:vlc_atomic_rc_get
Unexecuted instantiation: decoder_device.c:vlc_atomic_rc_get
Unexecuted instantiation: decoder_helpers.c:vlc_atomic_rc_get
Unexecuted instantiation: demux.c:vlc_atomic_rc_get
Unexecuted instantiation: input.c:vlc_atomic_rc_get
Unexecuted instantiation: meta.c:vlc_atomic_rc_get
Unexecuted instantiation: attachment.c:vlc_atomic_rc_get
Unexecuted instantiation: timer.c:vlc_atomic_rc_get
Unexecuted instantiation: track.c:vlc_atomic_rc_get
Unexecuted instantiation: title.c:vlc_atomic_rc_get
Unexecuted instantiation: aout.c:vlc_atomic_rc_get
Unexecuted instantiation: vout.c:vlc_atomic_rc_get
Unexecuted instantiation: osd.c:vlc_atomic_rc_get
Unexecuted instantiation: medialib.c:vlc_atomic_rc_get
Unexecuted instantiation: resource.c:vlc_atomic_rc_get
Unexecuted instantiation: services_discovery.c:vlc_atomic_rc_get
Unexecuted instantiation: source.c:vlc_atomic_rc_get
Unexecuted instantiation: stats.c:vlc_atomic_rc_get
Unexecuted instantiation: stream.c:vlc_atomic_rc_get
Unexecuted instantiation: stream_extractor.c:vlc_atomic_rc_get
Unexecuted instantiation: stream_filter.c:vlc_atomic_rc_get
Unexecuted instantiation: stream_memory.c:vlc_atomic_rc_get
Unexecuted instantiation: subtitles.c:vlc_atomic_rc_get
Unexecuted instantiation: dec.c:vlc_atomic_rc_get
Unexecuted instantiation: filters.c:vlc_atomic_rc_get
Unexecuted instantiation: meter.c:vlc_atomic_rc_get
Unexecuted instantiation: output.c:vlc_atomic_rc_get
Unexecuted instantiation: volume.c:vlc_atomic_rc_get
Unexecuted instantiation: video_output.c:vlc_atomic_rc_get
Unexecuted instantiation: video_text.c:vlc_atomic_rc_get
Unexecuted instantiation: video_widgets.c:vlc_atomic_rc_get
Unexecuted instantiation: vout_subpictures.c:vlc_atomic_rc_get
Unexecuted instantiation: video_window.c:vlc_atomic_rc_get
Unexecuted instantiation: vout_intf.c:vlc_atomic_rc_get
Unexecuted instantiation: vout_wrapper.c:vlc_atomic_rc_get
Unexecuted instantiation: strings.c:vlc_atomic_rc_get
Unexecuted instantiation: ancillary.c:vlc_atomic_rc_get
Unexecuted instantiation: executor.c:vlc_atomic_rc_get
Unexecuted instantiation: frame.c:vlc_atomic_rc_get
picture.c:vlc_atomic_rc_get
Line
Count
Source
81
12.3k
{
82
    return atomic_load_explicit(&rc->refs, memory_order_relaxed);
83
12.3k
}
Unexecuted instantiation: picture_fifo.c:vlc_atomic_rc_get
Unexecuted instantiation: picture_pool.c:vlc_atomic_rc_get
Unexecuted instantiation: rcu.c:vlc_atomic_rc_get
Unexecuted instantiation: renderer_discovery.c:vlc_atomic_rc_get
Unexecuted instantiation: threads.c:vlc_atomic_rc_get
Unexecuted instantiation: exit.c:vlc_atomic_rc_get
Unexecuted instantiation: image.c:vlc_atomic_rc_get
Unexecuted instantiation: objects.c:vlc_atomic_rc_get
Unexecuted instantiation: filter.c:vlc_atomic_rc_get
Unexecuted instantiation: filter_chain.c:vlc_atomic_rc_get
Unexecuted instantiation: subpicture.c:vlc_atomic_rc_get
Unexecuted instantiation: thread.c:vlc_atomic_rc_get
Unexecuted instantiation: specific.c:vlc_atomic_rc_get
Unexecuted instantiation: stream_output.c:vlc_atomic_rc_get
Unexecuted instantiation: vlm.c:vlc_atomic_rc_get
Unexecuted instantiation: vlm_event.c:vlc_atomic_rc_get
Unexecuted instantiation: vlmshell.c:vlc_atomic_rc_get
Unexecuted instantiation: libvlc-module.c:vlc_atomic_rc_get
Unexecuted instantiation: fetcher.c:vlc_atomic_rc_get
Unexecuted instantiation: es_out.c:vlc_atomic_rc_get
Unexecuted instantiation: es_out_source.c:vlc_atomic_rc_get
Unexecuted instantiation: es_out_timeshift.c:vlc_atomic_rc_get
Unexecuted instantiation: display.c:vlc_atomic_rc_get
Unexecuted instantiation: interlacing.c:vlc_atomic_rc_get
Unexecuted instantiation: snapshot.c:vlc_atomic_rc_get
Unexecuted instantiation: input_clock.c:vlc_atomic_rc_get
84
85
/**
86
 * Waits on an address.
87
 *
88
 * Puts the calling thread to sleep if a specific unsigned 32-bits value is
89
 * stored at a specified address. The thread will sleep until it is woken up by
90
 * a call to vlc_atomic_notify_one() or vlc_atomic_notify_all() in another
91
 * thread, or spuriously.
92
 *
93
 * If the value does not match, do nothing and return immediately.
94
 *
95
 * \param addr address to check for
96
 * \param val value to match at the address
97
 */
98
VLC_API void vlc_atomic_wait(void *addr, unsigned val);
99
100
/**
101
 * Waits on an address with a time-out.
102
 *
103
 * This function operates as vlc_atomic_wait() but provides an additional
104
 * time-out. If the deadline is reached, the thread resumes and the function
105
 * returns.
106
 *
107
 * \param addr address to check for
108
 * \param val value to match at the address
109
 * \param deadline deadline to wait until
110
 *
111
 * \retval 0 the function was woken up before the time-out
112
 * \retval ETIMEDOUT the deadline was reached
113
 */
114
VLC_API
115
int vlc_atomic_timedwait(void *addr, unsigned val, vlc_tick_t deadline);
116
117
/**
118
 * Wakes up one thread on an address.
119
 *
120
 * Wakes up (at least) one of the thread sleeping on the specified address.
121
 * The address must be equal to the first parameter given by at least one
122
 * thread sleeping within the vlc_atomic_wait() or vlc_atomic_timedwait()
123
 * functions. If no threads are found, this function does nothing.
124
 *
125
 * \param addr address identifying which threads may be woken up
126
 */
127
VLC_API void vlc_atomic_notify_one(void *addr);
128
129
/**
130
 * Wakes up all thread on an address.
131
 *
132
 * Wakes up all threads sleeping on the specified address (if any).
133
 * Any thread sleeping within a call to vlc_atomic_wait() or
134
 * vlc_atomic_timedwait() with the specified address as first call parameter
135
 * will be woken up.
136
 *
137
 * \param addr address identifying which threads to wake up
138
 */
139
VLC_API void vlc_atomic_notify_all(void *addr);
140
141
#endif