/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 |