Coverage Report

Created: 2025-08-29 07:30

/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
#include <time.h> /* vlc_atomic_timedwait_daytime */
42
43
#define VLC_STATIC_RC { \
44
    .refs = (uintptr_t) 1 \
45
}
46
47
typedef struct vlc_atomic_rc_t {
48
    atomic_uintptr_t refs;
49
} vlc_atomic_rc_t;
50
51
/** Init the RC to 1 */
52
static inline void vlc_atomic_rc_init(vlc_atomic_rc_t *rc)
53
2.56k
{
54
2.56k
#ifndef __cplusplus
55
2.56k
    atomic_init(&rc->refs, (uintptr_t)1);
56
#else
57
    rc->refs = (uintptr_t)1;
58
#endif
59
2.56k
}
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
53
52
{
54
52
#ifndef __cplusplus
55
52
    atomic_init(&rc->refs, (uintptr_t)1);
56
#else
57
    rc->refs = (uintptr_t)1;
58
#endif
59
52
}
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
Unexecuted instantiation: attachment.c:vlc_atomic_rc_init
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
53
791
{
54
791
#ifndef __cplusplus
55
791
    atomic_init(&rc->refs, (uintptr_t)1);
56
#else
57
    rc->refs = (uintptr_t)1;
58
#endif
59
791
}
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
53
1.71k
{
54
1.71k
#ifndef __cplusplus
55
1.71k
    atomic_init(&rc->refs, (uintptr_t)1);
56
#else
57
    rc->refs = (uintptr_t)1;
58
#endif
59
1.71k
}
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
60
61
/** Increment the RC */
62
static inline void vlc_atomic_rc_inc(vlc_atomic_rc_t *rc)
63
791
{
64
791
    uintptr_t prev = atomic_fetch_add_explicit(&rc->refs, (uintptr_t)1,
65
791
                                               memory_order_relaxed);
66
791
    vlc_assert(prev);
67
791
    VLC_UNUSED(prev);
68
791
}
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
63
791
{
64
791
    uintptr_t prev = atomic_fetch_add_explicit(&rc->refs, (uintptr_t)1,
65
791
                                               memory_order_relaxed);
66
791
    vlc_assert(prev);
67
791
    VLC_UNUSED(prev);
68
791
}
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
69
70
/** Decrement the RC and return true if it reaches 0 */
71
static inline bool vlc_atomic_rc_dec(vlc_atomic_rc_t *rc)
72
1.73k
{
73
1.73k
    uintptr_t prev = atomic_fetch_sub_explicit(&rc->refs, (uintptr_t)1,
74
1.73k
                                               memory_order_acq_rel);
75
1.73k
    vlc_assert(prev);
76
1.73k
    return prev == 1;
77
1.73k
}
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
72
940
{
73
940
    uintptr_t prev = atomic_fetch_sub_explicit(&rc->refs, (uintptr_t)1,
74
940
                                               memory_order_acq_rel);
75
940
    vlc_assert(prev);
76
940
    return prev == 1;
77
940
}
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
Unexecuted instantiation: attachment.c:vlc_atomic_rc_dec
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
72
791
{
73
791
    uintptr_t prev = atomic_fetch_sub_explicit(&rc->refs, (uintptr_t)1,
74
791
                                               memory_order_acq_rel);
75
791
    vlc_assert(prev);
76
791
    return prev == 1;
77
791
}
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
72
3
{
73
3
    uintptr_t prev = atomic_fetch_sub_explicit(&rc->refs, (uintptr_t)1,
74
3
                                               memory_order_acq_rel);
75
3
    vlc_assert(prev);
76
3
    return prev == 1;
77
3
}
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
78
79
/** Returns the current reference count.
80
 *  This is not safe to use for logic and must only be used for debugging or
81
 *  assertion purposes */
82
static inline uintptr_t vlc_atomic_rc_get(const vlc_atomic_rc_t* rc)
83
943
{
84
943
    return atomic_load_explicit(&rc->refs, memory_order_relaxed);
85
943
}
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
83
943
{
84
943
    return atomic_load_explicit(&rc->refs, memory_order_relaxed);
85
943
}
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
86
87
/**
88
 * Waits on an address.
89
 *
90
 * Puts the calling thread to sleep if a specific unsigned 32-bits value is
91
 * stored at a specified address. The thread will sleep until it is woken up by
92
 * a call to vlc_atomic_notify_one() or vlc_atomic_notify_all() in another
93
 * thread, or spuriously.
94
 *
95
 * If the value does not match, do nothing and return immediately.
96
 *
97
 * \param addr address to check for
98
 * \param val value to match at the address
99
 */
100
VLC_API void vlc_atomic_wait(void *addr, unsigned val);
101
102
/**
103
 * Waits on an address with a time-out.
104
 *
105
 * This function operates as vlc_atomic_wait() but provides an additional
106
 * time-out. If the deadline is reached, the thread resumes and the function
107
 * returns.
108
 *
109
 * \param addr address to check for
110
 * \param val value to match at the address
111
 * \param deadline deadline to wait until
112
 *
113
 * \retval 0 the function was woken up before the time-out
114
 * \retval ETIMEDOUT the deadline was reached
115
 */
116
VLC_API
117
int vlc_atomic_timedwait(void *addr, unsigned val, vlc_tick_t deadline);
118
119
int vlc_atomic_timedwait_daytime(void *addr, unsigned val, time_t deadline);
120
121
/**
122
 * Wakes up one thread on an address.
123
 *
124
 * Wakes up (at least) one of the thread sleeping on the specified address.
125
 * The address must be equal to the first parameter given by at least one
126
 * thread sleeping within the vlc_atomic_wait() or vlc_atomic_timedwait()
127
 * functions. If no threads are found, this function does nothing.
128
 *
129
 * \param addr address identifying which threads may be woken up
130
 */
131
VLC_API void vlc_atomic_notify_one(void *addr);
132
133
/**
134
 * Wakes up all thread on an address.
135
 *
136
 * Wakes up all threads sleeping on the specified address (if any).
137
 * Any thread sleeping within a call to vlc_atomic_wait() or
138
 * vlc_atomic_timedwait() with the specified address as first call parameter
139
 * will be woken up.
140
 *
141
 * \param addr address identifying which threads to wake up
142
 */
143
VLC_API void vlc_atomic_notify_all(void *addr);
144
145
#endif