/src/vlc/include/vlc_queue.h
Line | Count | Source |
1 | | /***************************************************************************** |
2 | | * vlc_queue.h: generic queue functions |
3 | | ***************************************************************************** |
4 | | * Copyright (C) 2020 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_QUEUE_H |
22 | | #define VLC_QUEUE_H |
23 | | |
24 | | /** |
25 | | * @defgroup queue Thread-safe queues (FIFO) |
26 | | * @ingroup cext |
27 | | * @{ |
28 | | * @file vlc_queue.h |
29 | | */ |
30 | | |
31 | | #include <stdbool.h> |
32 | | #include <stdint.h> |
33 | | #include <vlc_common.h> |
34 | | #include <vlc_threads.h> |
35 | | |
36 | | /** |
37 | | * Opaque type for queue entry. |
38 | | */ |
39 | | struct vlc_queue_entry; |
40 | | |
41 | | /** |
42 | | * Thread-safe queue (a.k.a. FIFO). |
43 | | */ |
44 | | typedef struct vlc_queue |
45 | | { |
46 | | struct vlc_queue_entry *first; |
47 | | struct vlc_queue_entry **lastp; |
48 | | ptrdiff_t next_offset; |
49 | | vlc_mutex_t lock; |
50 | | vlc_cond_t wait; |
51 | | } vlc_queue_t; |
52 | | |
53 | | /** |
54 | | * Initializes a queue. |
55 | | * |
56 | | * @param queue storage space for the queue |
57 | | * @param next_offset offset of the pointer to the next element |
58 | | * within a queue entry (as per @c offsetof()) |
59 | | */ |
60 | | VLC_API void vlc_queue_Init(vlc_queue_t *queue, ptrdiff_t next_offset); |
61 | | |
62 | | /** |
63 | | * @defgroup queue_ll Queue internals |
64 | | * |
65 | | * Low-level queue functions. |
66 | | * |
67 | | * In some cases, the high-level queue functions do not exactly fit the |
68 | | * use case requirements, and it is necessary to access the queue internals. |
69 | | * This typically occurs when threads wait for elements to be added to the |
70 | | * queue at the same time as some other type of events. |
71 | | * @{ |
72 | | */ |
73 | | /** |
74 | | * Locks a queue. |
75 | | * |
76 | | * No more than one thread can lock a queue at any given time, and no other |
77 | | * thread can modify the queue while it is locked. |
78 | | * Accordingly, if the queue is already locked by another thread, this function |
79 | | * waits. |
80 | | * |
81 | | * Use vlc_queue_Unlock() to release the lock. |
82 | | * |
83 | | * @warning Recursively locking a single queue is undefined. |
84 | | * Also locking more than one queue at a time may lead to lock inversion: |
85 | | * mind the locking order! |
86 | | */ |
87 | | static inline void vlc_queue_Lock(vlc_queue_t *q) |
88 | 0 | { |
89 | 0 | vlc_mutex_lock(&q->lock); |
90 | 0 | } Unexecuted instantiation: demux-run.c:vlc_queue_Lock Unexecuted instantiation: var.c:vlc_queue_Lock Unexecuted instantiation: decoder.c:vlc_queue_Lock Unexecuted instantiation: aiff.c:vlc_queue_Lock Unexecuted instantiation: asf.c:vlc_queue_Lock Unexecuted instantiation: libasf.c:vlc_queue_Lock Unexecuted instantiation: asfpacket.c:vlc_queue_Lock Unexecuted instantiation: au.c:vlc_queue_Lock Unexecuted instantiation: avi.c:vlc_queue_Lock Unexecuted instantiation: libavi.c:vlc_queue_Lock Unexecuted instantiation: caf.c:vlc_queue_Lock Unexecuted instantiation: cdg.c:vlc_queue_Lock Unexecuted instantiation: es.c:vlc_queue_Lock Unexecuted instantiation: dts_header.c:vlc_queue_Lock Unexecuted instantiation: flac.c:vlc_queue_Lock Unexecuted instantiation: h26x.c:vlc_queue_Lock Unexecuted instantiation: mjpeg.c:vlc_queue_Lock Unexecuted instantiation: mp4.c:vlc_queue_Lock Unexecuted instantiation: fragments.c:vlc_queue_Lock Unexecuted instantiation: attachments.c:vlc_queue_Lock Unexecuted instantiation: heif.c:vlc_queue_Lock Unexecuted instantiation: essetup.c:vlc_queue_Lock Unexecuted instantiation: meta.c:vlc_queue_Lock Unexecuted instantiation: libmp4.c:vlc_queue_Lock Unexecuted instantiation: nsv.c:vlc_queue_Lock Unexecuted instantiation: ps.c:vlc_queue_Lock Unexecuted instantiation: pva.c:vlc_queue_Lock Unexecuted instantiation: sap.c:vlc_queue_Lock Unexecuted instantiation: smf.c:vlc_queue_Lock Unexecuted instantiation: subtitle.c:vlc_queue_Lock Unexecuted instantiation: tta.c:vlc_queue_Lock Unexecuted instantiation: encttml.c:vlc_queue_Lock Unexecuted instantiation: substtml.c:vlc_queue_Lock Unexecuted instantiation: ttml.c:vlc_queue_Lock Unexecuted instantiation: ty.c:vlc_queue_Lock Unexecuted instantiation: voc.c:vlc_queue_Lock Unexecuted instantiation: wav.c:vlc_queue_Lock Unexecuted instantiation: webvtt.c:vlc_queue_Lock Unexecuted instantiation: encvtt.c:vlc_queue_Lock Unexecuted instantiation: subsvtt.c:vlc_queue_Lock Unexecuted instantiation: xa.c:vlc_queue_Lock Unexecuted instantiation: a52.c:vlc_queue_Lock Unexecuted instantiation: copy.c:vlc_queue_Lock Unexecuted instantiation: dts.c:vlc_queue_Lock Unexecuted instantiation: h264.c:vlc_queue_Lock Unexecuted instantiation: hxxx_sei.c:vlc_queue_Lock Unexecuted instantiation: hxxx_common.c:vlc_queue_Lock Unexecuted instantiation: h264_nal.c:vlc_queue_Lock Unexecuted instantiation: hevc.c:vlc_queue_Lock Unexecuted instantiation: mlp.c:vlc_queue_Lock Unexecuted instantiation: mpeg4audio.c:vlc_queue_Lock Unexecuted instantiation: mpeg4video.c:vlc_queue_Lock Unexecuted instantiation: mpegaudio.c:vlc_queue_Lock Unexecuted instantiation: mpegvideo.c:vlc_queue_Lock Unexecuted instantiation: vc1.c:vlc_queue_Lock Unexecuted instantiation: rawaud.c:vlc_queue_Lock Unexecuted instantiation: rawvid.c:vlc_queue_Lock Unexecuted instantiation: file.c:vlc_queue_Lock Unexecuted instantiation: directory.c:vlc_queue_Lock Unexecuted instantiation: libxml.c:vlc_queue_Lock Unexecuted instantiation: ogg.c:vlc_queue_Lock Unexecuted instantiation: oggseek.c:vlc_queue_Lock Unexecuted instantiation: mkv.cpp:vlc_queue_Lock(vlc_queue*) Unexecuted instantiation: util.cpp:vlc_queue_Lock(vlc_queue*) Unexecuted instantiation: virtual_segment.cpp:vlc_queue_Lock(vlc_queue*) Unexecuted instantiation: matroska_segment.cpp:vlc_queue_Lock(vlc_queue*) Unexecuted instantiation: matroska_segment_parse.cpp:vlc_queue_Lock(vlc_queue*) Unexecuted instantiation: matroska_segment_seeker.cpp:vlc_queue_Lock(vlc_queue*) Unexecuted instantiation: demux.cpp:vlc_queue_Lock(vlc_queue*) Unexecuted instantiation: events.cpp:vlc_queue_Lock(vlc_queue*) Unexecuted instantiation: Ebml_parser.cpp:vlc_queue_Lock(vlc_queue*) Unexecuted instantiation: chapters.cpp:vlc_queue_Lock(vlc_queue*) Unexecuted instantiation: chapter_command.cpp:vlc_queue_Lock(vlc_queue*) Unexecuted instantiation: chapter_command_dvd.cpp:vlc_queue_Lock(vlc_queue*) Unexecuted instantiation: chapter_command_script.cpp:vlc_queue_Lock(vlc_queue*) Unexecuted instantiation: chapter_command_script_common.cpp:vlc_queue_Lock(vlc_queue*) Unexecuted instantiation: stream_io_callback.cpp:vlc_queue_Lock(vlc_queue*) Unexecuted instantiation: adpcm.c:vlc_queue_Lock Unexecuted instantiation: aes3.c:vlc_queue_Lock Unexecuted instantiation: araw.c:vlc_queue_Lock Unexecuted instantiation: g711.c:vlc_queue_Lock Unexecuted instantiation: lpcm.c:vlc_queue_Lock Unexecuted instantiation: uleaddvaudio.c:vlc_queue_Lock Unexecuted instantiation: rawvideo.c:vlc_queue_Lock Unexecuted instantiation: cc.c:vlc_queue_Lock Unexecuted instantiation: cea708.c:vlc_queue_Lock Unexecuted instantiation: cvdsub.c:vlc_queue_Lock Unexecuted instantiation: dvbsub.c:vlc_queue_Lock Unexecuted instantiation: scte18.c:vlc_queue_Lock Unexecuted instantiation: scte27.c:vlc_queue_Lock Unexecuted instantiation: spudec.c:vlc_queue_Lock Unexecuted instantiation: parse.c:vlc_queue_Lock Unexecuted instantiation: stl.c:vlc_queue_Lock Unexecuted instantiation: subsdec.c:vlc_queue_Lock Unexecuted instantiation: subsusf.c:vlc_queue_Lock Unexecuted instantiation: svcdsub.c:vlc_queue_Lock Unexecuted instantiation: textst.c:vlc_queue_Lock Unexecuted instantiation: substx3g.c:vlc_queue_Lock Unexecuted instantiation: libvlc.c:vlc_queue_Lock Unexecuted instantiation: bank.c:vlc_queue_Lock Unexecuted instantiation: content.c:vlc_queue_Lock Unexecuted instantiation: control.c:vlc_queue_Lock Unexecuted instantiation: notify.c:vlc_queue_Lock Unexecuted instantiation: player.c:vlc_queue_Lock Unexecuted instantiation: playlist.c:vlc_queue_Lock Unexecuted instantiation: preparse.c:vlc_queue_Lock Unexecuted instantiation: preparser.c:vlc_queue_Lock Unexecuted instantiation: item.c:vlc_queue_Lock Unexecuted instantiation: access.c:vlc_queue_Lock Unexecuted instantiation: decoder_device.c:vlc_queue_Lock Unexecuted instantiation: decoder_helpers.c:vlc_queue_Lock Unexecuted instantiation: demux.c:vlc_queue_Lock Unexecuted instantiation: input.c:vlc_queue_Lock Unexecuted instantiation: timer.c:vlc_queue_Lock Unexecuted instantiation: track.c:vlc_queue_Lock Unexecuted instantiation: title.c:vlc_queue_Lock Unexecuted instantiation: aout.c:vlc_queue_Lock Unexecuted instantiation: vout.c:vlc_queue_Lock Unexecuted instantiation: osd.c:vlc_queue_Lock Unexecuted instantiation: medialib.c:vlc_queue_Lock Unexecuted instantiation: resource.c:vlc_queue_Lock Unexecuted instantiation: stats.c:vlc_queue_Lock Unexecuted instantiation: stream.c:vlc_queue_Lock Unexecuted instantiation: stream_extractor.c:vlc_queue_Lock Unexecuted instantiation: stream_filter.c:vlc_queue_Lock Unexecuted instantiation: stream_memory.c:vlc_queue_Lock Unexecuted instantiation: subtitles.c:vlc_queue_Lock Unexecuted instantiation: common.c:vlc_queue_Lock Unexecuted instantiation: dec.c:vlc_queue_Lock Unexecuted instantiation: filters.c:vlc_queue_Lock Unexecuted instantiation: meter.c:vlc_queue_Lock Unexecuted instantiation: output.c:vlc_queue_Lock Unexecuted instantiation: volume.c:vlc_queue_Lock Unexecuted instantiation: video_output.c:vlc_queue_Lock Unexecuted instantiation: video_widgets.c:vlc_queue_Lock Unexecuted instantiation: vout_subpictures.c:vlc_queue_Lock Unexecuted instantiation: vout_intf.c:vlc_queue_Lock Unexecuted instantiation: strings.c:vlc_queue_Lock Unexecuted instantiation: frame.c:vlc_queue_Lock Unexecuted instantiation: fifo.c:vlc_queue_Lock Unexecuted instantiation: picture.c:vlc_queue_Lock Unexecuted instantiation: image.c:vlc_queue_Lock Unexecuted instantiation: objects.c:vlc_queue_Lock Unexecuted instantiation: queue.c:vlc_queue_Lock Unexecuted instantiation: filter.c:vlc_queue_Lock Unexecuted instantiation: filter_chain.c:vlc_queue_Lock Unexecuted instantiation: subpicture.c:vlc_queue_Lock Unexecuted instantiation: stream_output.c:vlc_queue_Lock Unexecuted instantiation: vlm.c:vlc_queue_Lock Unexecuted instantiation: vlm_event.c:vlc_queue_Lock Unexecuted instantiation: vlmshell.c:vlc_queue_Lock Unexecuted instantiation: libvlc-module.c:vlc_queue_Lock Unexecuted instantiation: fetcher.c:vlc_queue_Lock Unexecuted instantiation: clock.c:vlc_queue_Lock Unexecuted instantiation: es_out.c:vlc_queue_Lock Unexecuted instantiation: es_out_source.c:vlc_queue_Lock Unexecuted instantiation: es_out_timeshift.c:vlc_queue_Lock Unexecuted instantiation: display.c:vlc_queue_Lock Unexecuted instantiation: snapshot.c:vlc_queue_Lock |
91 | | |
92 | | /** |
93 | | * Unlocks a queue. |
94 | | * |
95 | | * This releases the lock on a queue, allowing other threads to manipulate the |
96 | | * queue. The behaviour is undefined if the calling thread is not holding the |
97 | | * queue lock. |
98 | | */ |
99 | | static inline void vlc_queue_Unlock(vlc_queue_t *q) |
100 | 0 | { |
101 | 0 | vlc_mutex_unlock(&q->lock); |
102 | 0 | } Unexecuted instantiation: demux-run.c:vlc_queue_Unlock Unexecuted instantiation: var.c:vlc_queue_Unlock Unexecuted instantiation: decoder.c:vlc_queue_Unlock Unexecuted instantiation: aiff.c:vlc_queue_Unlock Unexecuted instantiation: asf.c:vlc_queue_Unlock Unexecuted instantiation: libasf.c:vlc_queue_Unlock Unexecuted instantiation: asfpacket.c:vlc_queue_Unlock Unexecuted instantiation: au.c:vlc_queue_Unlock Unexecuted instantiation: avi.c:vlc_queue_Unlock Unexecuted instantiation: libavi.c:vlc_queue_Unlock Unexecuted instantiation: caf.c:vlc_queue_Unlock Unexecuted instantiation: cdg.c:vlc_queue_Unlock Unexecuted instantiation: es.c:vlc_queue_Unlock Unexecuted instantiation: dts_header.c:vlc_queue_Unlock Unexecuted instantiation: flac.c:vlc_queue_Unlock Unexecuted instantiation: h26x.c:vlc_queue_Unlock Unexecuted instantiation: mjpeg.c:vlc_queue_Unlock Unexecuted instantiation: mp4.c:vlc_queue_Unlock Unexecuted instantiation: fragments.c:vlc_queue_Unlock Unexecuted instantiation: attachments.c:vlc_queue_Unlock Unexecuted instantiation: heif.c:vlc_queue_Unlock Unexecuted instantiation: essetup.c:vlc_queue_Unlock Unexecuted instantiation: meta.c:vlc_queue_Unlock Unexecuted instantiation: libmp4.c:vlc_queue_Unlock Unexecuted instantiation: nsv.c:vlc_queue_Unlock Unexecuted instantiation: ps.c:vlc_queue_Unlock Unexecuted instantiation: pva.c:vlc_queue_Unlock Unexecuted instantiation: sap.c:vlc_queue_Unlock Unexecuted instantiation: smf.c:vlc_queue_Unlock Unexecuted instantiation: subtitle.c:vlc_queue_Unlock Unexecuted instantiation: tta.c:vlc_queue_Unlock Unexecuted instantiation: encttml.c:vlc_queue_Unlock Unexecuted instantiation: substtml.c:vlc_queue_Unlock Unexecuted instantiation: ttml.c:vlc_queue_Unlock Unexecuted instantiation: ty.c:vlc_queue_Unlock Unexecuted instantiation: voc.c:vlc_queue_Unlock Unexecuted instantiation: wav.c:vlc_queue_Unlock Unexecuted instantiation: webvtt.c:vlc_queue_Unlock Unexecuted instantiation: encvtt.c:vlc_queue_Unlock Unexecuted instantiation: subsvtt.c:vlc_queue_Unlock Unexecuted instantiation: xa.c:vlc_queue_Unlock Unexecuted instantiation: a52.c:vlc_queue_Unlock Unexecuted instantiation: copy.c:vlc_queue_Unlock Unexecuted instantiation: dts.c:vlc_queue_Unlock Unexecuted instantiation: h264.c:vlc_queue_Unlock Unexecuted instantiation: hxxx_sei.c:vlc_queue_Unlock Unexecuted instantiation: hxxx_common.c:vlc_queue_Unlock Unexecuted instantiation: h264_nal.c:vlc_queue_Unlock Unexecuted instantiation: hevc.c:vlc_queue_Unlock Unexecuted instantiation: mlp.c:vlc_queue_Unlock Unexecuted instantiation: mpeg4audio.c:vlc_queue_Unlock Unexecuted instantiation: mpeg4video.c:vlc_queue_Unlock Unexecuted instantiation: mpegaudio.c:vlc_queue_Unlock Unexecuted instantiation: mpegvideo.c:vlc_queue_Unlock Unexecuted instantiation: vc1.c:vlc_queue_Unlock Unexecuted instantiation: rawaud.c:vlc_queue_Unlock Unexecuted instantiation: rawvid.c:vlc_queue_Unlock Unexecuted instantiation: file.c:vlc_queue_Unlock Unexecuted instantiation: directory.c:vlc_queue_Unlock Unexecuted instantiation: libxml.c:vlc_queue_Unlock Unexecuted instantiation: ogg.c:vlc_queue_Unlock Unexecuted instantiation: oggseek.c:vlc_queue_Unlock Unexecuted instantiation: mkv.cpp:vlc_queue_Unlock(vlc_queue*) Unexecuted instantiation: util.cpp:vlc_queue_Unlock(vlc_queue*) Unexecuted instantiation: virtual_segment.cpp:vlc_queue_Unlock(vlc_queue*) Unexecuted instantiation: matroska_segment.cpp:vlc_queue_Unlock(vlc_queue*) Unexecuted instantiation: matroska_segment_parse.cpp:vlc_queue_Unlock(vlc_queue*) Unexecuted instantiation: matroska_segment_seeker.cpp:vlc_queue_Unlock(vlc_queue*) Unexecuted instantiation: demux.cpp:vlc_queue_Unlock(vlc_queue*) Unexecuted instantiation: events.cpp:vlc_queue_Unlock(vlc_queue*) Unexecuted instantiation: Ebml_parser.cpp:vlc_queue_Unlock(vlc_queue*) Unexecuted instantiation: chapters.cpp:vlc_queue_Unlock(vlc_queue*) Unexecuted instantiation: chapter_command.cpp:vlc_queue_Unlock(vlc_queue*) Unexecuted instantiation: chapter_command_dvd.cpp:vlc_queue_Unlock(vlc_queue*) Unexecuted instantiation: chapter_command_script.cpp:vlc_queue_Unlock(vlc_queue*) Unexecuted instantiation: chapter_command_script_common.cpp:vlc_queue_Unlock(vlc_queue*) Unexecuted instantiation: stream_io_callback.cpp:vlc_queue_Unlock(vlc_queue*) Unexecuted instantiation: adpcm.c:vlc_queue_Unlock Unexecuted instantiation: aes3.c:vlc_queue_Unlock Unexecuted instantiation: araw.c:vlc_queue_Unlock Unexecuted instantiation: g711.c:vlc_queue_Unlock Unexecuted instantiation: lpcm.c:vlc_queue_Unlock Unexecuted instantiation: uleaddvaudio.c:vlc_queue_Unlock Unexecuted instantiation: rawvideo.c:vlc_queue_Unlock Unexecuted instantiation: cc.c:vlc_queue_Unlock Unexecuted instantiation: cea708.c:vlc_queue_Unlock Unexecuted instantiation: cvdsub.c:vlc_queue_Unlock Unexecuted instantiation: dvbsub.c:vlc_queue_Unlock Unexecuted instantiation: scte18.c:vlc_queue_Unlock Unexecuted instantiation: scte27.c:vlc_queue_Unlock Unexecuted instantiation: spudec.c:vlc_queue_Unlock Unexecuted instantiation: parse.c:vlc_queue_Unlock Unexecuted instantiation: stl.c:vlc_queue_Unlock Unexecuted instantiation: subsdec.c:vlc_queue_Unlock Unexecuted instantiation: subsusf.c:vlc_queue_Unlock Unexecuted instantiation: svcdsub.c:vlc_queue_Unlock Unexecuted instantiation: textst.c:vlc_queue_Unlock Unexecuted instantiation: substx3g.c:vlc_queue_Unlock Unexecuted instantiation: libvlc.c:vlc_queue_Unlock Unexecuted instantiation: bank.c:vlc_queue_Unlock Unexecuted instantiation: content.c:vlc_queue_Unlock Unexecuted instantiation: control.c:vlc_queue_Unlock Unexecuted instantiation: notify.c:vlc_queue_Unlock Unexecuted instantiation: player.c:vlc_queue_Unlock Unexecuted instantiation: playlist.c:vlc_queue_Unlock Unexecuted instantiation: preparse.c:vlc_queue_Unlock Unexecuted instantiation: preparser.c:vlc_queue_Unlock Unexecuted instantiation: item.c:vlc_queue_Unlock Unexecuted instantiation: access.c:vlc_queue_Unlock Unexecuted instantiation: decoder_device.c:vlc_queue_Unlock Unexecuted instantiation: decoder_helpers.c:vlc_queue_Unlock Unexecuted instantiation: demux.c:vlc_queue_Unlock Unexecuted instantiation: input.c:vlc_queue_Unlock Unexecuted instantiation: timer.c:vlc_queue_Unlock Unexecuted instantiation: track.c:vlc_queue_Unlock Unexecuted instantiation: title.c:vlc_queue_Unlock Unexecuted instantiation: aout.c:vlc_queue_Unlock Unexecuted instantiation: vout.c:vlc_queue_Unlock Unexecuted instantiation: osd.c:vlc_queue_Unlock Unexecuted instantiation: medialib.c:vlc_queue_Unlock Unexecuted instantiation: resource.c:vlc_queue_Unlock Unexecuted instantiation: stats.c:vlc_queue_Unlock Unexecuted instantiation: stream.c:vlc_queue_Unlock Unexecuted instantiation: stream_extractor.c:vlc_queue_Unlock Unexecuted instantiation: stream_filter.c:vlc_queue_Unlock Unexecuted instantiation: stream_memory.c:vlc_queue_Unlock Unexecuted instantiation: subtitles.c:vlc_queue_Unlock Unexecuted instantiation: common.c:vlc_queue_Unlock Unexecuted instantiation: dec.c:vlc_queue_Unlock Unexecuted instantiation: filters.c:vlc_queue_Unlock Unexecuted instantiation: meter.c:vlc_queue_Unlock Unexecuted instantiation: output.c:vlc_queue_Unlock Unexecuted instantiation: volume.c:vlc_queue_Unlock Unexecuted instantiation: video_output.c:vlc_queue_Unlock Unexecuted instantiation: video_widgets.c:vlc_queue_Unlock Unexecuted instantiation: vout_subpictures.c:vlc_queue_Unlock Unexecuted instantiation: vout_intf.c:vlc_queue_Unlock Unexecuted instantiation: strings.c:vlc_queue_Unlock Unexecuted instantiation: frame.c:vlc_queue_Unlock Unexecuted instantiation: fifo.c:vlc_queue_Unlock Unexecuted instantiation: picture.c:vlc_queue_Unlock Unexecuted instantiation: image.c:vlc_queue_Unlock Unexecuted instantiation: objects.c:vlc_queue_Unlock Unexecuted instantiation: queue.c:vlc_queue_Unlock Unexecuted instantiation: filter.c:vlc_queue_Unlock Unexecuted instantiation: filter_chain.c:vlc_queue_Unlock Unexecuted instantiation: subpicture.c:vlc_queue_Unlock Unexecuted instantiation: stream_output.c:vlc_queue_Unlock Unexecuted instantiation: vlm.c:vlc_queue_Unlock Unexecuted instantiation: vlm_event.c:vlc_queue_Unlock Unexecuted instantiation: vlmshell.c:vlc_queue_Unlock Unexecuted instantiation: libvlc-module.c:vlc_queue_Unlock Unexecuted instantiation: fetcher.c:vlc_queue_Unlock Unexecuted instantiation: clock.c:vlc_queue_Unlock Unexecuted instantiation: es_out.c:vlc_queue_Unlock Unexecuted instantiation: es_out_source.c:vlc_queue_Unlock Unexecuted instantiation: es_out_timeshift.c:vlc_queue_Unlock Unexecuted instantiation: display.c:vlc_queue_Unlock Unexecuted instantiation: snapshot.c:vlc_queue_Unlock |
103 | | |
104 | | /** |
105 | | * Wakes one thread waiting for a queue entry up. |
106 | | */ |
107 | | static inline void vlc_queue_Signal(vlc_queue_t *q) |
108 | 0 | { |
109 | 0 | vlc_cond_signal(&q->wait); |
110 | 0 | } Unexecuted instantiation: demux-run.c:vlc_queue_Signal Unexecuted instantiation: var.c:vlc_queue_Signal Unexecuted instantiation: decoder.c:vlc_queue_Signal Unexecuted instantiation: aiff.c:vlc_queue_Signal Unexecuted instantiation: asf.c:vlc_queue_Signal Unexecuted instantiation: libasf.c:vlc_queue_Signal Unexecuted instantiation: asfpacket.c:vlc_queue_Signal Unexecuted instantiation: au.c:vlc_queue_Signal Unexecuted instantiation: avi.c:vlc_queue_Signal Unexecuted instantiation: libavi.c:vlc_queue_Signal Unexecuted instantiation: caf.c:vlc_queue_Signal Unexecuted instantiation: cdg.c:vlc_queue_Signal Unexecuted instantiation: es.c:vlc_queue_Signal Unexecuted instantiation: dts_header.c:vlc_queue_Signal Unexecuted instantiation: flac.c:vlc_queue_Signal Unexecuted instantiation: h26x.c:vlc_queue_Signal Unexecuted instantiation: mjpeg.c:vlc_queue_Signal Unexecuted instantiation: mp4.c:vlc_queue_Signal Unexecuted instantiation: fragments.c:vlc_queue_Signal Unexecuted instantiation: attachments.c:vlc_queue_Signal Unexecuted instantiation: heif.c:vlc_queue_Signal Unexecuted instantiation: essetup.c:vlc_queue_Signal Unexecuted instantiation: meta.c:vlc_queue_Signal Unexecuted instantiation: libmp4.c:vlc_queue_Signal Unexecuted instantiation: nsv.c:vlc_queue_Signal Unexecuted instantiation: ps.c:vlc_queue_Signal Unexecuted instantiation: pva.c:vlc_queue_Signal Unexecuted instantiation: sap.c:vlc_queue_Signal Unexecuted instantiation: smf.c:vlc_queue_Signal Unexecuted instantiation: subtitle.c:vlc_queue_Signal Unexecuted instantiation: tta.c:vlc_queue_Signal Unexecuted instantiation: encttml.c:vlc_queue_Signal Unexecuted instantiation: substtml.c:vlc_queue_Signal Unexecuted instantiation: ttml.c:vlc_queue_Signal Unexecuted instantiation: ty.c:vlc_queue_Signal Unexecuted instantiation: voc.c:vlc_queue_Signal Unexecuted instantiation: wav.c:vlc_queue_Signal Unexecuted instantiation: webvtt.c:vlc_queue_Signal Unexecuted instantiation: encvtt.c:vlc_queue_Signal Unexecuted instantiation: subsvtt.c:vlc_queue_Signal Unexecuted instantiation: xa.c:vlc_queue_Signal Unexecuted instantiation: a52.c:vlc_queue_Signal Unexecuted instantiation: copy.c:vlc_queue_Signal Unexecuted instantiation: dts.c:vlc_queue_Signal Unexecuted instantiation: h264.c:vlc_queue_Signal Unexecuted instantiation: hxxx_sei.c:vlc_queue_Signal Unexecuted instantiation: hxxx_common.c:vlc_queue_Signal Unexecuted instantiation: h264_nal.c:vlc_queue_Signal Unexecuted instantiation: hevc.c:vlc_queue_Signal Unexecuted instantiation: mlp.c:vlc_queue_Signal Unexecuted instantiation: mpeg4audio.c:vlc_queue_Signal Unexecuted instantiation: mpeg4video.c:vlc_queue_Signal Unexecuted instantiation: mpegaudio.c:vlc_queue_Signal Unexecuted instantiation: mpegvideo.c:vlc_queue_Signal Unexecuted instantiation: vc1.c:vlc_queue_Signal Unexecuted instantiation: rawaud.c:vlc_queue_Signal Unexecuted instantiation: rawvid.c:vlc_queue_Signal Unexecuted instantiation: file.c:vlc_queue_Signal Unexecuted instantiation: directory.c:vlc_queue_Signal Unexecuted instantiation: libxml.c:vlc_queue_Signal Unexecuted instantiation: ogg.c:vlc_queue_Signal Unexecuted instantiation: oggseek.c:vlc_queue_Signal Unexecuted instantiation: mkv.cpp:vlc_queue_Signal(vlc_queue*) Unexecuted instantiation: util.cpp:vlc_queue_Signal(vlc_queue*) Unexecuted instantiation: virtual_segment.cpp:vlc_queue_Signal(vlc_queue*) Unexecuted instantiation: matroska_segment.cpp:vlc_queue_Signal(vlc_queue*) Unexecuted instantiation: matroska_segment_parse.cpp:vlc_queue_Signal(vlc_queue*) Unexecuted instantiation: matroska_segment_seeker.cpp:vlc_queue_Signal(vlc_queue*) Unexecuted instantiation: demux.cpp:vlc_queue_Signal(vlc_queue*) Unexecuted instantiation: events.cpp:vlc_queue_Signal(vlc_queue*) Unexecuted instantiation: Ebml_parser.cpp:vlc_queue_Signal(vlc_queue*) Unexecuted instantiation: chapters.cpp:vlc_queue_Signal(vlc_queue*) Unexecuted instantiation: chapter_command.cpp:vlc_queue_Signal(vlc_queue*) Unexecuted instantiation: chapter_command_dvd.cpp:vlc_queue_Signal(vlc_queue*) Unexecuted instantiation: chapter_command_script.cpp:vlc_queue_Signal(vlc_queue*) Unexecuted instantiation: chapter_command_script_common.cpp:vlc_queue_Signal(vlc_queue*) Unexecuted instantiation: stream_io_callback.cpp:vlc_queue_Signal(vlc_queue*) Unexecuted instantiation: adpcm.c:vlc_queue_Signal Unexecuted instantiation: aes3.c:vlc_queue_Signal Unexecuted instantiation: araw.c:vlc_queue_Signal Unexecuted instantiation: g711.c:vlc_queue_Signal Unexecuted instantiation: lpcm.c:vlc_queue_Signal Unexecuted instantiation: uleaddvaudio.c:vlc_queue_Signal Unexecuted instantiation: rawvideo.c:vlc_queue_Signal Unexecuted instantiation: cc.c:vlc_queue_Signal Unexecuted instantiation: cea708.c:vlc_queue_Signal Unexecuted instantiation: cvdsub.c:vlc_queue_Signal Unexecuted instantiation: dvbsub.c:vlc_queue_Signal Unexecuted instantiation: scte18.c:vlc_queue_Signal Unexecuted instantiation: scte27.c:vlc_queue_Signal Unexecuted instantiation: spudec.c:vlc_queue_Signal Unexecuted instantiation: parse.c:vlc_queue_Signal Unexecuted instantiation: stl.c:vlc_queue_Signal Unexecuted instantiation: subsdec.c:vlc_queue_Signal Unexecuted instantiation: subsusf.c:vlc_queue_Signal Unexecuted instantiation: svcdsub.c:vlc_queue_Signal Unexecuted instantiation: textst.c:vlc_queue_Signal Unexecuted instantiation: substx3g.c:vlc_queue_Signal Unexecuted instantiation: libvlc.c:vlc_queue_Signal Unexecuted instantiation: bank.c:vlc_queue_Signal Unexecuted instantiation: content.c:vlc_queue_Signal Unexecuted instantiation: control.c:vlc_queue_Signal Unexecuted instantiation: notify.c:vlc_queue_Signal Unexecuted instantiation: player.c:vlc_queue_Signal Unexecuted instantiation: playlist.c:vlc_queue_Signal Unexecuted instantiation: preparse.c:vlc_queue_Signal Unexecuted instantiation: preparser.c:vlc_queue_Signal Unexecuted instantiation: item.c:vlc_queue_Signal Unexecuted instantiation: access.c:vlc_queue_Signal Unexecuted instantiation: decoder_device.c:vlc_queue_Signal Unexecuted instantiation: decoder_helpers.c:vlc_queue_Signal Unexecuted instantiation: demux.c:vlc_queue_Signal Unexecuted instantiation: input.c:vlc_queue_Signal Unexecuted instantiation: timer.c:vlc_queue_Signal Unexecuted instantiation: track.c:vlc_queue_Signal Unexecuted instantiation: title.c:vlc_queue_Signal Unexecuted instantiation: aout.c:vlc_queue_Signal Unexecuted instantiation: vout.c:vlc_queue_Signal Unexecuted instantiation: osd.c:vlc_queue_Signal Unexecuted instantiation: medialib.c:vlc_queue_Signal Unexecuted instantiation: resource.c:vlc_queue_Signal Unexecuted instantiation: stats.c:vlc_queue_Signal Unexecuted instantiation: stream.c:vlc_queue_Signal Unexecuted instantiation: stream_extractor.c:vlc_queue_Signal Unexecuted instantiation: stream_filter.c:vlc_queue_Signal Unexecuted instantiation: stream_memory.c:vlc_queue_Signal Unexecuted instantiation: subtitles.c:vlc_queue_Signal Unexecuted instantiation: common.c:vlc_queue_Signal Unexecuted instantiation: dec.c:vlc_queue_Signal Unexecuted instantiation: filters.c:vlc_queue_Signal Unexecuted instantiation: meter.c:vlc_queue_Signal Unexecuted instantiation: output.c:vlc_queue_Signal Unexecuted instantiation: volume.c:vlc_queue_Signal Unexecuted instantiation: video_output.c:vlc_queue_Signal Unexecuted instantiation: video_widgets.c:vlc_queue_Signal Unexecuted instantiation: vout_subpictures.c:vlc_queue_Signal Unexecuted instantiation: vout_intf.c:vlc_queue_Signal Unexecuted instantiation: strings.c:vlc_queue_Signal Unexecuted instantiation: frame.c:vlc_queue_Signal Unexecuted instantiation: fifo.c:vlc_queue_Signal Unexecuted instantiation: picture.c:vlc_queue_Signal Unexecuted instantiation: image.c:vlc_queue_Signal Unexecuted instantiation: objects.c:vlc_queue_Signal Unexecuted instantiation: queue.c:vlc_queue_Signal Unexecuted instantiation: filter.c:vlc_queue_Signal Unexecuted instantiation: filter_chain.c:vlc_queue_Signal Unexecuted instantiation: subpicture.c:vlc_queue_Signal Unexecuted instantiation: stream_output.c:vlc_queue_Signal Unexecuted instantiation: vlm.c:vlc_queue_Signal Unexecuted instantiation: vlm_event.c:vlc_queue_Signal Unexecuted instantiation: vlmshell.c:vlc_queue_Signal Unexecuted instantiation: libvlc-module.c:vlc_queue_Signal Unexecuted instantiation: fetcher.c:vlc_queue_Signal Unexecuted instantiation: clock.c:vlc_queue_Signal Unexecuted instantiation: es_out.c:vlc_queue_Signal Unexecuted instantiation: es_out_source.c:vlc_queue_Signal Unexecuted instantiation: es_out_timeshift.c:vlc_queue_Signal Unexecuted instantiation: display.c:vlc_queue_Signal Unexecuted instantiation: snapshot.c:vlc_queue_Signal |
111 | | |
112 | | /** |
113 | | * Waits for a queue entry. |
114 | | * |
115 | | * @note This function is a cancellation point. |
116 | | * In case of cancellation, the queue will be locked, |
117 | | * as is consistent for condition variable semantics. |
118 | | * |
119 | | * @bug This function should probably not be aware of cancellation. |
120 | | */ |
121 | | static inline void vlc_queue_Wait(vlc_queue_t *q) |
122 | 0 | { |
123 | 0 | vlc_cond_wait(&q->wait, &q->lock); |
124 | 0 | } Unexecuted instantiation: demux-run.c:vlc_queue_Wait Unexecuted instantiation: var.c:vlc_queue_Wait Unexecuted instantiation: decoder.c:vlc_queue_Wait Unexecuted instantiation: aiff.c:vlc_queue_Wait Unexecuted instantiation: asf.c:vlc_queue_Wait Unexecuted instantiation: libasf.c:vlc_queue_Wait Unexecuted instantiation: asfpacket.c:vlc_queue_Wait Unexecuted instantiation: au.c:vlc_queue_Wait Unexecuted instantiation: avi.c:vlc_queue_Wait Unexecuted instantiation: libavi.c:vlc_queue_Wait Unexecuted instantiation: caf.c:vlc_queue_Wait Unexecuted instantiation: cdg.c:vlc_queue_Wait Unexecuted instantiation: es.c:vlc_queue_Wait Unexecuted instantiation: dts_header.c:vlc_queue_Wait Unexecuted instantiation: flac.c:vlc_queue_Wait Unexecuted instantiation: h26x.c:vlc_queue_Wait Unexecuted instantiation: mjpeg.c:vlc_queue_Wait Unexecuted instantiation: mp4.c:vlc_queue_Wait Unexecuted instantiation: fragments.c:vlc_queue_Wait Unexecuted instantiation: attachments.c:vlc_queue_Wait Unexecuted instantiation: heif.c:vlc_queue_Wait Unexecuted instantiation: essetup.c:vlc_queue_Wait Unexecuted instantiation: meta.c:vlc_queue_Wait Unexecuted instantiation: libmp4.c:vlc_queue_Wait Unexecuted instantiation: nsv.c:vlc_queue_Wait Unexecuted instantiation: ps.c:vlc_queue_Wait Unexecuted instantiation: pva.c:vlc_queue_Wait Unexecuted instantiation: sap.c:vlc_queue_Wait Unexecuted instantiation: smf.c:vlc_queue_Wait Unexecuted instantiation: subtitle.c:vlc_queue_Wait Unexecuted instantiation: tta.c:vlc_queue_Wait Unexecuted instantiation: encttml.c:vlc_queue_Wait Unexecuted instantiation: substtml.c:vlc_queue_Wait Unexecuted instantiation: ttml.c:vlc_queue_Wait Unexecuted instantiation: ty.c:vlc_queue_Wait Unexecuted instantiation: voc.c:vlc_queue_Wait Unexecuted instantiation: wav.c:vlc_queue_Wait Unexecuted instantiation: webvtt.c:vlc_queue_Wait Unexecuted instantiation: encvtt.c:vlc_queue_Wait Unexecuted instantiation: subsvtt.c:vlc_queue_Wait Unexecuted instantiation: xa.c:vlc_queue_Wait Unexecuted instantiation: a52.c:vlc_queue_Wait Unexecuted instantiation: copy.c:vlc_queue_Wait Unexecuted instantiation: dts.c:vlc_queue_Wait Unexecuted instantiation: h264.c:vlc_queue_Wait Unexecuted instantiation: hxxx_sei.c:vlc_queue_Wait Unexecuted instantiation: hxxx_common.c:vlc_queue_Wait Unexecuted instantiation: h264_nal.c:vlc_queue_Wait Unexecuted instantiation: hevc.c:vlc_queue_Wait Unexecuted instantiation: mlp.c:vlc_queue_Wait Unexecuted instantiation: mpeg4audio.c:vlc_queue_Wait Unexecuted instantiation: mpeg4video.c:vlc_queue_Wait Unexecuted instantiation: mpegaudio.c:vlc_queue_Wait Unexecuted instantiation: mpegvideo.c:vlc_queue_Wait Unexecuted instantiation: vc1.c:vlc_queue_Wait Unexecuted instantiation: rawaud.c:vlc_queue_Wait Unexecuted instantiation: rawvid.c:vlc_queue_Wait Unexecuted instantiation: file.c:vlc_queue_Wait Unexecuted instantiation: directory.c:vlc_queue_Wait Unexecuted instantiation: libxml.c:vlc_queue_Wait Unexecuted instantiation: ogg.c:vlc_queue_Wait Unexecuted instantiation: oggseek.c:vlc_queue_Wait Unexecuted instantiation: mkv.cpp:vlc_queue_Wait(vlc_queue*) Unexecuted instantiation: util.cpp:vlc_queue_Wait(vlc_queue*) Unexecuted instantiation: virtual_segment.cpp:vlc_queue_Wait(vlc_queue*) Unexecuted instantiation: matroska_segment.cpp:vlc_queue_Wait(vlc_queue*) Unexecuted instantiation: matroska_segment_parse.cpp:vlc_queue_Wait(vlc_queue*) Unexecuted instantiation: matroska_segment_seeker.cpp:vlc_queue_Wait(vlc_queue*) Unexecuted instantiation: demux.cpp:vlc_queue_Wait(vlc_queue*) Unexecuted instantiation: events.cpp:vlc_queue_Wait(vlc_queue*) Unexecuted instantiation: Ebml_parser.cpp:vlc_queue_Wait(vlc_queue*) Unexecuted instantiation: chapters.cpp:vlc_queue_Wait(vlc_queue*) Unexecuted instantiation: chapter_command.cpp:vlc_queue_Wait(vlc_queue*) Unexecuted instantiation: chapter_command_dvd.cpp:vlc_queue_Wait(vlc_queue*) Unexecuted instantiation: chapter_command_script.cpp:vlc_queue_Wait(vlc_queue*) Unexecuted instantiation: chapter_command_script_common.cpp:vlc_queue_Wait(vlc_queue*) Unexecuted instantiation: stream_io_callback.cpp:vlc_queue_Wait(vlc_queue*) Unexecuted instantiation: adpcm.c:vlc_queue_Wait Unexecuted instantiation: aes3.c:vlc_queue_Wait Unexecuted instantiation: araw.c:vlc_queue_Wait Unexecuted instantiation: g711.c:vlc_queue_Wait Unexecuted instantiation: lpcm.c:vlc_queue_Wait Unexecuted instantiation: uleaddvaudio.c:vlc_queue_Wait Unexecuted instantiation: rawvideo.c:vlc_queue_Wait Unexecuted instantiation: cc.c:vlc_queue_Wait Unexecuted instantiation: cea708.c:vlc_queue_Wait Unexecuted instantiation: cvdsub.c:vlc_queue_Wait Unexecuted instantiation: dvbsub.c:vlc_queue_Wait Unexecuted instantiation: scte18.c:vlc_queue_Wait Unexecuted instantiation: scte27.c:vlc_queue_Wait Unexecuted instantiation: spudec.c:vlc_queue_Wait Unexecuted instantiation: parse.c:vlc_queue_Wait Unexecuted instantiation: stl.c:vlc_queue_Wait Unexecuted instantiation: subsdec.c:vlc_queue_Wait Unexecuted instantiation: subsusf.c:vlc_queue_Wait Unexecuted instantiation: svcdsub.c:vlc_queue_Wait Unexecuted instantiation: textst.c:vlc_queue_Wait Unexecuted instantiation: substx3g.c:vlc_queue_Wait Unexecuted instantiation: libvlc.c:vlc_queue_Wait Unexecuted instantiation: bank.c:vlc_queue_Wait Unexecuted instantiation: content.c:vlc_queue_Wait Unexecuted instantiation: control.c:vlc_queue_Wait Unexecuted instantiation: notify.c:vlc_queue_Wait Unexecuted instantiation: player.c:vlc_queue_Wait Unexecuted instantiation: playlist.c:vlc_queue_Wait Unexecuted instantiation: preparse.c:vlc_queue_Wait Unexecuted instantiation: preparser.c:vlc_queue_Wait Unexecuted instantiation: item.c:vlc_queue_Wait Unexecuted instantiation: access.c:vlc_queue_Wait Unexecuted instantiation: decoder_device.c:vlc_queue_Wait Unexecuted instantiation: decoder_helpers.c:vlc_queue_Wait Unexecuted instantiation: demux.c:vlc_queue_Wait Unexecuted instantiation: input.c:vlc_queue_Wait Unexecuted instantiation: timer.c:vlc_queue_Wait Unexecuted instantiation: track.c:vlc_queue_Wait Unexecuted instantiation: title.c:vlc_queue_Wait Unexecuted instantiation: aout.c:vlc_queue_Wait Unexecuted instantiation: vout.c:vlc_queue_Wait Unexecuted instantiation: osd.c:vlc_queue_Wait Unexecuted instantiation: medialib.c:vlc_queue_Wait Unexecuted instantiation: resource.c:vlc_queue_Wait Unexecuted instantiation: stats.c:vlc_queue_Wait Unexecuted instantiation: stream.c:vlc_queue_Wait Unexecuted instantiation: stream_extractor.c:vlc_queue_Wait Unexecuted instantiation: stream_filter.c:vlc_queue_Wait Unexecuted instantiation: stream_memory.c:vlc_queue_Wait Unexecuted instantiation: subtitles.c:vlc_queue_Wait Unexecuted instantiation: common.c:vlc_queue_Wait Unexecuted instantiation: dec.c:vlc_queue_Wait Unexecuted instantiation: filters.c:vlc_queue_Wait Unexecuted instantiation: meter.c:vlc_queue_Wait Unexecuted instantiation: output.c:vlc_queue_Wait Unexecuted instantiation: volume.c:vlc_queue_Wait Unexecuted instantiation: video_output.c:vlc_queue_Wait Unexecuted instantiation: video_widgets.c:vlc_queue_Wait Unexecuted instantiation: vout_subpictures.c:vlc_queue_Wait Unexecuted instantiation: vout_intf.c:vlc_queue_Wait Unexecuted instantiation: strings.c:vlc_queue_Wait Unexecuted instantiation: frame.c:vlc_queue_Wait Unexecuted instantiation: fifo.c:vlc_queue_Wait Unexecuted instantiation: picture.c:vlc_queue_Wait Unexecuted instantiation: image.c:vlc_queue_Wait Unexecuted instantiation: objects.c:vlc_queue_Wait Unexecuted instantiation: queue.c:vlc_queue_Wait Unexecuted instantiation: filter.c:vlc_queue_Wait Unexecuted instantiation: filter_chain.c:vlc_queue_Wait Unexecuted instantiation: subpicture.c:vlc_queue_Wait Unexecuted instantiation: stream_output.c:vlc_queue_Wait Unexecuted instantiation: vlm.c:vlc_queue_Wait Unexecuted instantiation: vlm_event.c:vlc_queue_Wait Unexecuted instantiation: vlmshell.c:vlc_queue_Wait Unexecuted instantiation: libvlc-module.c:vlc_queue_Wait Unexecuted instantiation: fetcher.c:vlc_queue_Wait Unexecuted instantiation: clock.c:vlc_queue_Wait Unexecuted instantiation: es_out.c:vlc_queue_Wait Unexecuted instantiation: es_out_source.c:vlc_queue_Wait Unexecuted instantiation: es_out_timeshift.c:vlc_queue_Wait Unexecuted instantiation: display.c:vlc_queue_Wait Unexecuted instantiation: snapshot.c:vlc_queue_Wait |
125 | | |
126 | | /** |
127 | | * Queues an entry (without locking). |
128 | | * |
129 | | * This function enqueues an entry, or rather a linked-list of entries, in a |
130 | | * thread-safe queue, without taking the queue lock. |
131 | | * |
132 | | * @warning It is assumed that the caller already holds the queue lock; |
133 | | * otherwise the behaviour is undefined. |
134 | | * |
135 | | * @param q A queue locked with ::vlc_queue_Lock |
136 | | * @param entry NULL-terminated list of entries to queue |
137 | | * (if NULL, this function has no effects) |
138 | | */ |
139 | | VLC_API void vlc_queue_EnqueueUnlocked(vlc_queue_t *q, void *entry); |
140 | | |
141 | | /** |
142 | | * Dequeues the oldest entry (without locking). |
143 | | * |
144 | | * This function dequeues an entry from a thread-safe queue. It is assumed |
145 | | * that the caller already holds the queue lock; otherwise the behaviour is |
146 | | * undefined. |
147 | | * |
148 | | * @warning It is assumed that the caller already holds the queue lock; |
149 | | * otherwise the behaviour is undefined. |
150 | | * |
151 | | * @return the first entry in the queue, or NULL if the queue is empty |
152 | | */ |
153 | | VLC_API void *vlc_queue_DequeueUnlocked(vlc_queue_t *) VLC_USED; |
154 | | |
155 | | /** |
156 | | * Dequeues all entries (without locking). |
157 | | * |
158 | | * This is equivalent to calling vlc_queue_DequeueUnlocked() repeatedly until |
159 | | * the queue is emptied. However this function is much faster than that, as it |
160 | | * does not need to update the linked-list pointers. |
161 | | * |
162 | | * @warning It is assumed that the caller already holds the queue lock; |
163 | | * otherwise the behaviour is undefined. |
164 | | * |
165 | | * @return a linked-list of all entries (possibly NULL if none) |
166 | | */ |
167 | | VLC_API void *vlc_queue_DequeueAllUnlocked(vlc_queue_t *) VLC_USED; |
168 | | |
169 | | /** |
170 | | * Checks if a queue is empty (without locking). |
171 | | * |
172 | | * @warning It is assumed that the caller already holds the queue lock; |
173 | | * otherwise the behaviour is undefined. |
174 | | * |
175 | | * @retval false the queue contains one or more entries |
176 | | * @retval true the queue is empty |
177 | | */ |
178 | | VLC_USED static inline bool vlc_queue_IsEmpty(const vlc_queue_t *q) |
179 | 0 | { |
180 | 0 | return q->first == NULL; |
181 | 0 | } Unexecuted instantiation: demux-run.c:vlc_queue_IsEmpty Unexecuted instantiation: var.c:vlc_queue_IsEmpty Unexecuted instantiation: decoder.c:vlc_queue_IsEmpty Unexecuted instantiation: aiff.c:vlc_queue_IsEmpty Unexecuted instantiation: asf.c:vlc_queue_IsEmpty Unexecuted instantiation: libasf.c:vlc_queue_IsEmpty Unexecuted instantiation: asfpacket.c:vlc_queue_IsEmpty Unexecuted instantiation: au.c:vlc_queue_IsEmpty Unexecuted instantiation: avi.c:vlc_queue_IsEmpty Unexecuted instantiation: libavi.c:vlc_queue_IsEmpty Unexecuted instantiation: caf.c:vlc_queue_IsEmpty Unexecuted instantiation: cdg.c:vlc_queue_IsEmpty Unexecuted instantiation: es.c:vlc_queue_IsEmpty Unexecuted instantiation: dts_header.c:vlc_queue_IsEmpty Unexecuted instantiation: flac.c:vlc_queue_IsEmpty Unexecuted instantiation: h26x.c:vlc_queue_IsEmpty Unexecuted instantiation: mjpeg.c:vlc_queue_IsEmpty Unexecuted instantiation: mp4.c:vlc_queue_IsEmpty Unexecuted instantiation: fragments.c:vlc_queue_IsEmpty Unexecuted instantiation: attachments.c:vlc_queue_IsEmpty Unexecuted instantiation: heif.c:vlc_queue_IsEmpty Unexecuted instantiation: essetup.c:vlc_queue_IsEmpty Unexecuted instantiation: meta.c:vlc_queue_IsEmpty Unexecuted instantiation: libmp4.c:vlc_queue_IsEmpty Unexecuted instantiation: nsv.c:vlc_queue_IsEmpty Unexecuted instantiation: ps.c:vlc_queue_IsEmpty Unexecuted instantiation: pva.c:vlc_queue_IsEmpty Unexecuted instantiation: sap.c:vlc_queue_IsEmpty Unexecuted instantiation: smf.c:vlc_queue_IsEmpty Unexecuted instantiation: subtitle.c:vlc_queue_IsEmpty Unexecuted instantiation: tta.c:vlc_queue_IsEmpty Unexecuted instantiation: encttml.c:vlc_queue_IsEmpty Unexecuted instantiation: substtml.c:vlc_queue_IsEmpty Unexecuted instantiation: ttml.c:vlc_queue_IsEmpty Unexecuted instantiation: ty.c:vlc_queue_IsEmpty Unexecuted instantiation: voc.c:vlc_queue_IsEmpty Unexecuted instantiation: wav.c:vlc_queue_IsEmpty Unexecuted instantiation: webvtt.c:vlc_queue_IsEmpty Unexecuted instantiation: encvtt.c:vlc_queue_IsEmpty Unexecuted instantiation: subsvtt.c:vlc_queue_IsEmpty Unexecuted instantiation: xa.c:vlc_queue_IsEmpty Unexecuted instantiation: a52.c:vlc_queue_IsEmpty Unexecuted instantiation: copy.c:vlc_queue_IsEmpty Unexecuted instantiation: dts.c:vlc_queue_IsEmpty Unexecuted instantiation: h264.c:vlc_queue_IsEmpty Unexecuted instantiation: hxxx_sei.c:vlc_queue_IsEmpty Unexecuted instantiation: hxxx_common.c:vlc_queue_IsEmpty Unexecuted instantiation: h264_nal.c:vlc_queue_IsEmpty Unexecuted instantiation: hevc.c:vlc_queue_IsEmpty Unexecuted instantiation: mlp.c:vlc_queue_IsEmpty Unexecuted instantiation: mpeg4audio.c:vlc_queue_IsEmpty Unexecuted instantiation: mpeg4video.c:vlc_queue_IsEmpty Unexecuted instantiation: mpegaudio.c:vlc_queue_IsEmpty Unexecuted instantiation: mpegvideo.c:vlc_queue_IsEmpty Unexecuted instantiation: vc1.c:vlc_queue_IsEmpty Unexecuted instantiation: rawaud.c:vlc_queue_IsEmpty Unexecuted instantiation: rawvid.c:vlc_queue_IsEmpty Unexecuted instantiation: file.c:vlc_queue_IsEmpty Unexecuted instantiation: directory.c:vlc_queue_IsEmpty Unexecuted instantiation: libxml.c:vlc_queue_IsEmpty Unexecuted instantiation: ogg.c:vlc_queue_IsEmpty Unexecuted instantiation: oggseek.c:vlc_queue_IsEmpty Unexecuted instantiation: mkv.cpp:vlc_queue_IsEmpty(vlc_queue const*) Unexecuted instantiation: util.cpp:vlc_queue_IsEmpty(vlc_queue const*) Unexecuted instantiation: virtual_segment.cpp:vlc_queue_IsEmpty(vlc_queue const*) Unexecuted instantiation: matroska_segment.cpp:vlc_queue_IsEmpty(vlc_queue const*) Unexecuted instantiation: matroska_segment_parse.cpp:vlc_queue_IsEmpty(vlc_queue const*) Unexecuted instantiation: matroska_segment_seeker.cpp:vlc_queue_IsEmpty(vlc_queue const*) Unexecuted instantiation: demux.cpp:vlc_queue_IsEmpty(vlc_queue const*) Unexecuted instantiation: events.cpp:vlc_queue_IsEmpty(vlc_queue const*) Unexecuted instantiation: Ebml_parser.cpp:vlc_queue_IsEmpty(vlc_queue const*) Unexecuted instantiation: chapters.cpp:vlc_queue_IsEmpty(vlc_queue const*) Unexecuted instantiation: chapter_command.cpp:vlc_queue_IsEmpty(vlc_queue const*) Unexecuted instantiation: chapter_command_dvd.cpp:vlc_queue_IsEmpty(vlc_queue const*) Unexecuted instantiation: chapter_command_script.cpp:vlc_queue_IsEmpty(vlc_queue const*) Unexecuted instantiation: chapter_command_script_common.cpp:vlc_queue_IsEmpty(vlc_queue const*) Unexecuted instantiation: stream_io_callback.cpp:vlc_queue_IsEmpty(vlc_queue const*) Unexecuted instantiation: adpcm.c:vlc_queue_IsEmpty Unexecuted instantiation: aes3.c:vlc_queue_IsEmpty Unexecuted instantiation: araw.c:vlc_queue_IsEmpty Unexecuted instantiation: g711.c:vlc_queue_IsEmpty Unexecuted instantiation: lpcm.c:vlc_queue_IsEmpty Unexecuted instantiation: uleaddvaudio.c:vlc_queue_IsEmpty Unexecuted instantiation: rawvideo.c:vlc_queue_IsEmpty Unexecuted instantiation: cc.c:vlc_queue_IsEmpty Unexecuted instantiation: cea708.c:vlc_queue_IsEmpty Unexecuted instantiation: cvdsub.c:vlc_queue_IsEmpty Unexecuted instantiation: dvbsub.c:vlc_queue_IsEmpty Unexecuted instantiation: scte18.c:vlc_queue_IsEmpty Unexecuted instantiation: scte27.c:vlc_queue_IsEmpty Unexecuted instantiation: spudec.c:vlc_queue_IsEmpty Unexecuted instantiation: parse.c:vlc_queue_IsEmpty Unexecuted instantiation: stl.c:vlc_queue_IsEmpty Unexecuted instantiation: subsdec.c:vlc_queue_IsEmpty Unexecuted instantiation: subsusf.c:vlc_queue_IsEmpty Unexecuted instantiation: svcdsub.c:vlc_queue_IsEmpty Unexecuted instantiation: textst.c:vlc_queue_IsEmpty Unexecuted instantiation: substx3g.c:vlc_queue_IsEmpty Unexecuted instantiation: libvlc.c:vlc_queue_IsEmpty Unexecuted instantiation: bank.c:vlc_queue_IsEmpty Unexecuted instantiation: content.c:vlc_queue_IsEmpty Unexecuted instantiation: control.c:vlc_queue_IsEmpty Unexecuted instantiation: notify.c:vlc_queue_IsEmpty Unexecuted instantiation: player.c:vlc_queue_IsEmpty Unexecuted instantiation: playlist.c:vlc_queue_IsEmpty Unexecuted instantiation: preparse.c:vlc_queue_IsEmpty Unexecuted instantiation: preparser.c:vlc_queue_IsEmpty Unexecuted instantiation: item.c:vlc_queue_IsEmpty Unexecuted instantiation: access.c:vlc_queue_IsEmpty Unexecuted instantiation: decoder_device.c:vlc_queue_IsEmpty Unexecuted instantiation: decoder_helpers.c:vlc_queue_IsEmpty Unexecuted instantiation: demux.c:vlc_queue_IsEmpty Unexecuted instantiation: input.c:vlc_queue_IsEmpty Unexecuted instantiation: timer.c:vlc_queue_IsEmpty Unexecuted instantiation: track.c:vlc_queue_IsEmpty Unexecuted instantiation: title.c:vlc_queue_IsEmpty Unexecuted instantiation: aout.c:vlc_queue_IsEmpty Unexecuted instantiation: vout.c:vlc_queue_IsEmpty Unexecuted instantiation: osd.c:vlc_queue_IsEmpty Unexecuted instantiation: medialib.c:vlc_queue_IsEmpty Unexecuted instantiation: resource.c:vlc_queue_IsEmpty Unexecuted instantiation: stats.c:vlc_queue_IsEmpty Unexecuted instantiation: stream.c:vlc_queue_IsEmpty Unexecuted instantiation: stream_extractor.c:vlc_queue_IsEmpty Unexecuted instantiation: stream_filter.c:vlc_queue_IsEmpty Unexecuted instantiation: stream_memory.c:vlc_queue_IsEmpty Unexecuted instantiation: subtitles.c:vlc_queue_IsEmpty Unexecuted instantiation: common.c:vlc_queue_IsEmpty Unexecuted instantiation: dec.c:vlc_queue_IsEmpty Unexecuted instantiation: filters.c:vlc_queue_IsEmpty Unexecuted instantiation: meter.c:vlc_queue_IsEmpty Unexecuted instantiation: output.c:vlc_queue_IsEmpty Unexecuted instantiation: volume.c:vlc_queue_IsEmpty Unexecuted instantiation: video_output.c:vlc_queue_IsEmpty Unexecuted instantiation: video_widgets.c:vlc_queue_IsEmpty Unexecuted instantiation: vout_subpictures.c:vlc_queue_IsEmpty Unexecuted instantiation: vout_intf.c:vlc_queue_IsEmpty Unexecuted instantiation: strings.c:vlc_queue_IsEmpty Unexecuted instantiation: frame.c:vlc_queue_IsEmpty Unexecuted instantiation: fifo.c:vlc_queue_IsEmpty Unexecuted instantiation: picture.c:vlc_queue_IsEmpty Unexecuted instantiation: image.c:vlc_queue_IsEmpty Unexecuted instantiation: objects.c:vlc_queue_IsEmpty Unexecuted instantiation: queue.c:vlc_queue_IsEmpty Unexecuted instantiation: filter.c:vlc_queue_IsEmpty Unexecuted instantiation: filter_chain.c:vlc_queue_IsEmpty Unexecuted instantiation: subpicture.c:vlc_queue_IsEmpty Unexecuted instantiation: stream_output.c:vlc_queue_IsEmpty Unexecuted instantiation: vlm.c:vlc_queue_IsEmpty Unexecuted instantiation: vlm_event.c:vlc_queue_IsEmpty Unexecuted instantiation: vlmshell.c:vlc_queue_IsEmpty Unexecuted instantiation: libvlc-module.c:vlc_queue_IsEmpty Unexecuted instantiation: fetcher.c:vlc_queue_IsEmpty Unexecuted instantiation: clock.c:vlc_queue_IsEmpty Unexecuted instantiation: es_out.c:vlc_queue_IsEmpty Unexecuted instantiation: es_out_source.c:vlc_queue_IsEmpty Unexecuted instantiation: es_out_timeshift.c:vlc_queue_IsEmpty Unexecuted instantiation: display.c:vlc_queue_IsEmpty Unexecuted instantiation: snapshot.c:vlc_queue_IsEmpty |
182 | | |
183 | | /** @} */ |
184 | | |
185 | | /** |
186 | | * Queues an entry. |
187 | | * |
188 | | * This function enqueues an entry, or rather a linked-list of entries, in a |
189 | | * thread-safe queue. |
190 | | * |
191 | | * @param q A queue initialized with ::vlc_queue_Init |
192 | | * @param entry list of entries (if NULL, this function has no effects) |
193 | | */ |
194 | | VLC_API void vlc_queue_Enqueue(vlc_queue_t *q, void *entry); |
195 | | |
196 | | /** |
197 | | * Dequeues the oldest entry. |
198 | | * |
199 | | * This function dequeues an entry from a thread-safe queue. If the queue is |
200 | | * empty, it will wait until at least one entry is available. |
201 | | * |
202 | | * @param queue queue object to dequeue an entry from |
203 | | * |
204 | | * @return the first entry in the queue, or NULL if the queue is empty |
205 | | */ |
206 | | VLC_API void *vlc_queue_Dequeue(vlc_queue_t *queue) VLC_USED; |
207 | | |
208 | | /** |
209 | | * Dequeues all entries. |
210 | | * |
211 | | * This is equivalent to calling vlc_queue_Dequeue() repeatedly until the queue |
212 | | * is emptied. However this function is much faster than that, as it |
213 | | * does not need to update the linked-list pointers. |
214 | | * |
215 | | * @return a linked-list of all entries (possibly NULL if none) |
216 | | */ |
217 | | VLC_API void *vlc_queue_DequeueAll(vlc_queue_t *) VLC_USED; |
218 | | |
219 | | /** |
220 | | * @defgroup queue_killable Killable queues |
221 | | * |
222 | | * Thread-safe queues with an end flag. |
223 | | * |
224 | | * @{ |
225 | | */ |
226 | | |
227 | | /** |
228 | | * Marks a queue ended. |
229 | | */ |
230 | | static inline void vlc_queue_Kill(vlc_queue_t *q, |
231 | | bool *restrict tombstone) |
232 | 0 | { |
233 | 0 | vlc_queue_Lock(q); |
234 | 0 | *tombstone = true; |
235 | 0 | vlc_queue_Signal(q); |
236 | 0 | vlc_queue_Unlock(q); |
237 | 0 | } Unexecuted instantiation: demux-run.c:vlc_queue_Kill Unexecuted instantiation: var.c:vlc_queue_Kill Unexecuted instantiation: decoder.c:vlc_queue_Kill Unexecuted instantiation: aiff.c:vlc_queue_Kill Unexecuted instantiation: asf.c:vlc_queue_Kill Unexecuted instantiation: libasf.c:vlc_queue_Kill Unexecuted instantiation: asfpacket.c:vlc_queue_Kill Unexecuted instantiation: au.c:vlc_queue_Kill Unexecuted instantiation: avi.c:vlc_queue_Kill Unexecuted instantiation: libavi.c:vlc_queue_Kill Unexecuted instantiation: caf.c:vlc_queue_Kill Unexecuted instantiation: cdg.c:vlc_queue_Kill Unexecuted instantiation: es.c:vlc_queue_Kill Unexecuted instantiation: dts_header.c:vlc_queue_Kill Unexecuted instantiation: flac.c:vlc_queue_Kill Unexecuted instantiation: h26x.c:vlc_queue_Kill Unexecuted instantiation: mjpeg.c:vlc_queue_Kill Unexecuted instantiation: mp4.c:vlc_queue_Kill Unexecuted instantiation: fragments.c:vlc_queue_Kill Unexecuted instantiation: attachments.c:vlc_queue_Kill Unexecuted instantiation: heif.c:vlc_queue_Kill Unexecuted instantiation: essetup.c:vlc_queue_Kill Unexecuted instantiation: meta.c:vlc_queue_Kill Unexecuted instantiation: libmp4.c:vlc_queue_Kill Unexecuted instantiation: nsv.c:vlc_queue_Kill Unexecuted instantiation: ps.c:vlc_queue_Kill Unexecuted instantiation: pva.c:vlc_queue_Kill Unexecuted instantiation: sap.c:vlc_queue_Kill Unexecuted instantiation: smf.c:vlc_queue_Kill Unexecuted instantiation: subtitle.c:vlc_queue_Kill Unexecuted instantiation: tta.c:vlc_queue_Kill Unexecuted instantiation: encttml.c:vlc_queue_Kill Unexecuted instantiation: substtml.c:vlc_queue_Kill Unexecuted instantiation: ttml.c:vlc_queue_Kill Unexecuted instantiation: ty.c:vlc_queue_Kill Unexecuted instantiation: voc.c:vlc_queue_Kill Unexecuted instantiation: wav.c:vlc_queue_Kill Unexecuted instantiation: webvtt.c:vlc_queue_Kill Unexecuted instantiation: encvtt.c:vlc_queue_Kill Unexecuted instantiation: subsvtt.c:vlc_queue_Kill Unexecuted instantiation: xa.c:vlc_queue_Kill Unexecuted instantiation: a52.c:vlc_queue_Kill Unexecuted instantiation: copy.c:vlc_queue_Kill Unexecuted instantiation: dts.c:vlc_queue_Kill Unexecuted instantiation: h264.c:vlc_queue_Kill Unexecuted instantiation: hxxx_sei.c:vlc_queue_Kill Unexecuted instantiation: hxxx_common.c:vlc_queue_Kill Unexecuted instantiation: h264_nal.c:vlc_queue_Kill Unexecuted instantiation: hevc.c:vlc_queue_Kill Unexecuted instantiation: mlp.c:vlc_queue_Kill Unexecuted instantiation: mpeg4audio.c:vlc_queue_Kill Unexecuted instantiation: mpeg4video.c:vlc_queue_Kill Unexecuted instantiation: mpegaudio.c:vlc_queue_Kill Unexecuted instantiation: mpegvideo.c:vlc_queue_Kill Unexecuted instantiation: vc1.c:vlc_queue_Kill Unexecuted instantiation: rawaud.c:vlc_queue_Kill Unexecuted instantiation: rawvid.c:vlc_queue_Kill Unexecuted instantiation: file.c:vlc_queue_Kill Unexecuted instantiation: directory.c:vlc_queue_Kill Unexecuted instantiation: libxml.c:vlc_queue_Kill Unexecuted instantiation: ogg.c:vlc_queue_Kill Unexecuted instantiation: oggseek.c:vlc_queue_Kill Unexecuted instantiation: mkv.cpp:vlc_queue_Kill(vlc_queue*, bool*) Unexecuted instantiation: util.cpp:vlc_queue_Kill(vlc_queue*, bool*) Unexecuted instantiation: virtual_segment.cpp:vlc_queue_Kill(vlc_queue*, bool*) Unexecuted instantiation: matroska_segment.cpp:vlc_queue_Kill(vlc_queue*, bool*) Unexecuted instantiation: matroska_segment_parse.cpp:vlc_queue_Kill(vlc_queue*, bool*) Unexecuted instantiation: matroska_segment_seeker.cpp:vlc_queue_Kill(vlc_queue*, bool*) Unexecuted instantiation: demux.cpp:vlc_queue_Kill(vlc_queue*, bool*) Unexecuted instantiation: events.cpp:vlc_queue_Kill(vlc_queue*, bool*) Unexecuted instantiation: Ebml_parser.cpp:vlc_queue_Kill(vlc_queue*, bool*) Unexecuted instantiation: chapters.cpp:vlc_queue_Kill(vlc_queue*, bool*) Unexecuted instantiation: chapter_command.cpp:vlc_queue_Kill(vlc_queue*, bool*) Unexecuted instantiation: chapter_command_dvd.cpp:vlc_queue_Kill(vlc_queue*, bool*) Unexecuted instantiation: chapter_command_script.cpp:vlc_queue_Kill(vlc_queue*, bool*) Unexecuted instantiation: chapter_command_script_common.cpp:vlc_queue_Kill(vlc_queue*, bool*) Unexecuted instantiation: stream_io_callback.cpp:vlc_queue_Kill(vlc_queue*, bool*) Unexecuted instantiation: adpcm.c:vlc_queue_Kill Unexecuted instantiation: aes3.c:vlc_queue_Kill Unexecuted instantiation: araw.c:vlc_queue_Kill Unexecuted instantiation: g711.c:vlc_queue_Kill Unexecuted instantiation: lpcm.c:vlc_queue_Kill Unexecuted instantiation: uleaddvaudio.c:vlc_queue_Kill Unexecuted instantiation: rawvideo.c:vlc_queue_Kill Unexecuted instantiation: cc.c:vlc_queue_Kill Unexecuted instantiation: cea708.c:vlc_queue_Kill Unexecuted instantiation: cvdsub.c:vlc_queue_Kill Unexecuted instantiation: dvbsub.c:vlc_queue_Kill Unexecuted instantiation: scte18.c:vlc_queue_Kill Unexecuted instantiation: scte27.c:vlc_queue_Kill Unexecuted instantiation: spudec.c:vlc_queue_Kill Unexecuted instantiation: parse.c:vlc_queue_Kill Unexecuted instantiation: stl.c:vlc_queue_Kill Unexecuted instantiation: subsdec.c:vlc_queue_Kill Unexecuted instantiation: subsusf.c:vlc_queue_Kill Unexecuted instantiation: svcdsub.c:vlc_queue_Kill Unexecuted instantiation: textst.c:vlc_queue_Kill Unexecuted instantiation: substx3g.c:vlc_queue_Kill Unexecuted instantiation: libvlc.c:vlc_queue_Kill Unexecuted instantiation: bank.c:vlc_queue_Kill Unexecuted instantiation: content.c:vlc_queue_Kill Unexecuted instantiation: control.c:vlc_queue_Kill Unexecuted instantiation: notify.c:vlc_queue_Kill Unexecuted instantiation: player.c:vlc_queue_Kill Unexecuted instantiation: playlist.c:vlc_queue_Kill Unexecuted instantiation: preparse.c:vlc_queue_Kill Unexecuted instantiation: preparser.c:vlc_queue_Kill Unexecuted instantiation: item.c:vlc_queue_Kill Unexecuted instantiation: access.c:vlc_queue_Kill Unexecuted instantiation: decoder_device.c:vlc_queue_Kill Unexecuted instantiation: decoder_helpers.c:vlc_queue_Kill Unexecuted instantiation: demux.c:vlc_queue_Kill Unexecuted instantiation: input.c:vlc_queue_Kill Unexecuted instantiation: timer.c:vlc_queue_Kill Unexecuted instantiation: track.c:vlc_queue_Kill Unexecuted instantiation: title.c:vlc_queue_Kill Unexecuted instantiation: aout.c:vlc_queue_Kill Unexecuted instantiation: vout.c:vlc_queue_Kill Unexecuted instantiation: osd.c:vlc_queue_Kill Unexecuted instantiation: medialib.c:vlc_queue_Kill Unexecuted instantiation: resource.c:vlc_queue_Kill Unexecuted instantiation: stats.c:vlc_queue_Kill Unexecuted instantiation: stream.c:vlc_queue_Kill Unexecuted instantiation: stream_extractor.c:vlc_queue_Kill Unexecuted instantiation: stream_filter.c:vlc_queue_Kill Unexecuted instantiation: stream_memory.c:vlc_queue_Kill Unexecuted instantiation: subtitles.c:vlc_queue_Kill Unexecuted instantiation: common.c:vlc_queue_Kill Unexecuted instantiation: dec.c:vlc_queue_Kill Unexecuted instantiation: filters.c:vlc_queue_Kill Unexecuted instantiation: meter.c:vlc_queue_Kill Unexecuted instantiation: output.c:vlc_queue_Kill Unexecuted instantiation: volume.c:vlc_queue_Kill Unexecuted instantiation: video_output.c:vlc_queue_Kill Unexecuted instantiation: video_widgets.c:vlc_queue_Kill Unexecuted instantiation: vout_subpictures.c:vlc_queue_Kill Unexecuted instantiation: vout_intf.c:vlc_queue_Kill Unexecuted instantiation: strings.c:vlc_queue_Kill Unexecuted instantiation: frame.c:vlc_queue_Kill Unexecuted instantiation: fifo.c:vlc_queue_Kill Unexecuted instantiation: picture.c:vlc_queue_Kill Unexecuted instantiation: image.c:vlc_queue_Kill Unexecuted instantiation: objects.c:vlc_queue_Kill Unexecuted instantiation: queue.c:vlc_queue_Kill Unexecuted instantiation: filter.c:vlc_queue_Kill Unexecuted instantiation: filter_chain.c:vlc_queue_Kill Unexecuted instantiation: subpicture.c:vlc_queue_Kill Unexecuted instantiation: stream_output.c:vlc_queue_Kill Unexecuted instantiation: vlm.c:vlc_queue_Kill Unexecuted instantiation: vlm_event.c:vlc_queue_Kill Unexecuted instantiation: vlmshell.c:vlc_queue_Kill Unexecuted instantiation: libvlc-module.c:vlc_queue_Kill Unexecuted instantiation: fetcher.c:vlc_queue_Kill Unexecuted instantiation: clock.c:vlc_queue_Kill Unexecuted instantiation: es_out.c:vlc_queue_Kill Unexecuted instantiation: es_out_source.c:vlc_queue_Kill Unexecuted instantiation: es_out_timeshift.c:vlc_queue_Kill Unexecuted instantiation: display.c:vlc_queue_Kill Unexecuted instantiation: snapshot.c:vlc_queue_Kill |
238 | | |
239 | | /** |
240 | | * Dequeues one entry from a killable queue. |
241 | | * |
242 | | * @return an entry, or NULL if the queue is empty and has been ended. |
243 | | */ |
244 | | static inline void *vlc_queue_DequeueKillable(vlc_queue_t *q, |
245 | | const bool *tombstone) |
246 | 0 | { |
247 | 0 | void *entry; |
248 | 0 |
|
249 | 0 | vlc_queue_Lock(q); |
250 | 0 | while (vlc_queue_IsEmpty(q) && !*tombstone) |
251 | 0 | vlc_queue_Wait(q); |
252 | 0 |
|
253 | 0 | entry = vlc_queue_DequeueUnlocked(q); |
254 | 0 | vlc_queue_Unlock(q); |
255 | 0 | return entry; |
256 | 0 | } Unexecuted instantiation: demux-run.c:vlc_queue_DequeueKillable Unexecuted instantiation: var.c:vlc_queue_DequeueKillable Unexecuted instantiation: decoder.c:vlc_queue_DequeueKillable Unexecuted instantiation: aiff.c:vlc_queue_DequeueKillable Unexecuted instantiation: asf.c:vlc_queue_DequeueKillable Unexecuted instantiation: libasf.c:vlc_queue_DequeueKillable Unexecuted instantiation: asfpacket.c:vlc_queue_DequeueKillable Unexecuted instantiation: au.c:vlc_queue_DequeueKillable Unexecuted instantiation: avi.c:vlc_queue_DequeueKillable Unexecuted instantiation: libavi.c:vlc_queue_DequeueKillable Unexecuted instantiation: caf.c:vlc_queue_DequeueKillable Unexecuted instantiation: cdg.c:vlc_queue_DequeueKillable Unexecuted instantiation: es.c:vlc_queue_DequeueKillable Unexecuted instantiation: dts_header.c:vlc_queue_DequeueKillable Unexecuted instantiation: flac.c:vlc_queue_DequeueKillable Unexecuted instantiation: h26x.c:vlc_queue_DequeueKillable Unexecuted instantiation: mjpeg.c:vlc_queue_DequeueKillable Unexecuted instantiation: mp4.c:vlc_queue_DequeueKillable Unexecuted instantiation: fragments.c:vlc_queue_DequeueKillable Unexecuted instantiation: attachments.c:vlc_queue_DequeueKillable Unexecuted instantiation: heif.c:vlc_queue_DequeueKillable Unexecuted instantiation: essetup.c:vlc_queue_DequeueKillable Unexecuted instantiation: meta.c:vlc_queue_DequeueKillable Unexecuted instantiation: libmp4.c:vlc_queue_DequeueKillable Unexecuted instantiation: nsv.c:vlc_queue_DequeueKillable Unexecuted instantiation: ps.c:vlc_queue_DequeueKillable Unexecuted instantiation: pva.c:vlc_queue_DequeueKillable Unexecuted instantiation: sap.c:vlc_queue_DequeueKillable Unexecuted instantiation: smf.c:vlc_queue_DequeueKillable Unexecuted instantiation: subtitle.c:vlc_queue_DequeueKillable Unexecuted instantiation: tta.c:vlc_queue_DequeueKillable Unexecuted instantiation: encttml.c:vlc_queue_DequeueKillable Unexecuted instantiation: substtml.c:vlc_queue_DequeueKillable Unexecuted instantiation: ttml.c:vlc_queue_DequeueKillable Unexecuted instantiation: ty.c:vlc_queue_DequeueKillable Unexecuted instantiation: voc.c:vlc_queue_DequeueKillable Unexecuted instantiation: wav.c:vlc_queue_DequeueKillable Unexecuted instantiation: webvtt.c:vlc_queue_DequeueKillable Unexecuted instantiation: encvtt.c:vlc_queue_DequeueKillable Unexecuted instantiation: subsvtt.c:vlc_queue_DequeueKillable Unexecuted instantiation: xa.c:vlc_queue_DequeueKillable Unexecuted instantiation: a52.c:vlc_queue_DequeueKillable Unexecuted instantiation: copy.c:vlc_queue_DequeueKillable Unexecuted instantiation: dts.c:vlc_queue_DequeueKillable Unexecuted instantiation: h264.c:vlc_queue_DequeueKillable Unexecuted instantiation: hxxx_sei.c:vlc_queue_DequeueKillable Unexecuted instantiation: hxxx_common.c:vlc_queue_DequeueKillable Unexecuted instantiation: h264_nal.c:vlc_queue_DequeueKillable Unexecuted instantiation: hevc.c:vlc_queue_DequeueKillable Unexecuted instantiation: mlp.c:vlc_queue_DequeueKillable Unexecuted instantiation: mpeg4audio.c:vlc_queue_DequeueKillable Unexecuted instantiation: mpeg4video.c:vlc_queue_DequeueKillable Unexecuted instantiation: mpegaudio.c:vlc_queue_DequeueKillable Unexecuted instantiation: mpegvideo.c:vlc_queue_DequeueKillable Unexecuted instantiation: vc1.c:vlc_queue_DequeueKillable Unexecuted instantiation: rawaud.c:vlc_queue_DequeueKillable Unexecuted instantiation: rawvid.c:vlc_queue_DequeueKillable Unexecuted instantiation: file.c:vlc_queue_DequeueKillable Unexecuted instantiation: directory.c:vlc_queue_DequeueKillable Unexecuted instantiation: libxml.c:vlc_queue_DequeueKillable Unexecuted instantiation: ogg.c:vlc_queue_DequeueKillable Unexecuted instantiation: oggseek.c:vlc_queue_DequeueKillable Unexecuted instantiation: mkv.cpp:vlc_queue_DequeueKillable(vlc_queue*, bool const*) Unexecuted instantiation: util.cpp:vlc_queue_DequeueKillable(vlc_queue*, bool const*) Unexecuted instantiation: virtual_segment.cpp:vlc_queue_DequeueKillable(vlc_queue*, bool const*) Unexecuted instantiation: matroska_segment.cpp:vlc_queue_DequeueKillable(vlc_queue*, bool const*) Unexecuted instantiation: matroska_segment_parse.cpp:vlc_queue_DequeueKillable(vlc_queue*, bool const*) Unexecuted instantiation: matroska_segment_seeker.cpp:vlc_queue_DequeueKillable(vlc_queue*, bool const*) Unexecuted instantiation: demux.cpp:vlc_queue_DequeueKillable(vlc_queue*, bool const*) Unexecuted instantiation: events.cpp:vlc_queue_DequeueKillable(vlc_queue*, bool const*) Unexecuted instantiation: Ebml_parser.cpp:vlc_queue_DequeueKillable(vlc_queue*, bool const*) Unexecuted instantiation: chapters.cpp:vlc_queue_DequeueKillable(vlc_queue*, bool const*) Unexecuted instantiation: chapter_command.cpp:vlc_queue_DequeueKillable(vlc_queue*, bool const*) Unexecuted instantiation: chapter_command_dvd.cpp:vlc_queue_DequeueKillable(vlc_queue*, bool const*) Unexecuted instantiation: chapter_command_script.cpp:vlc_queue_DequeueKillable(vlc_queue*, bool const*) Unexecuted instantiation: chapter_command_script_common.cpp:vlc_queue_DequeueKillable(vlc_queue*, bool const*) Unexecuted instantiation: stream_io_callback.cpp:vlc_queue_DequeueKillable(vlc_queue*, bool const*) Unexecuted instantiation: adpcm.c:vlc_queue_DequeueKillable Unexecuted instantiation: aes3.c:vlc_queue_DequeueKillable Unexecuted instantiation: araw.c:vlc_queue_DequeueKillable Unexecuted instantiation: g711.c:vlc_queue_DequeueKillable Unexecuted instantiation: lpcm.c:vlc_queue_DequeueKillable Unexecuted instantiation: uleaddvaudio.c:vlc_queue_DequeueKillable Unexecuted instantiation: rawvideo.c:vlc_queue_DequeueKillable Unexecuted instantiation: cc.c:vlc_queue_DequeueKillable Unexecuted instantiation: cea708.c:vlc_queue_DequeueKillable Unexecuted instantiation: cvdsub.c:vlc_queue_DequeueKillable Unexecuted instantiation: dvbsub.c:vlc_queue_DequeueKillable Unexecuted instantiation: scte18.c:vlc_queue_DequeueKillable Unexecuted instantiation: scte27.c:vlc_queue_DequeueKillable Unexecuted instantiation: spudec.c:vlc_queue_DequeueKillable Unexecuted instantiation: parse.c:vlc_queue_DequeueKillable Unexecuted instantiation: stl.c:vlc_queue_DequeueKillable Unexecuted instantiation: subsdec.c:vlc_queue_DequeueKillable Unexecuted instantiation: subsusf.c:vlc_queue_DequeueKillable Unexecuted instantiation: svcdsub.c:vlc_queue_DequeueKillable Unexecuted instantiation: textst.c:vlc_queue_DequeueKillable Unexecuted instantiation: substx3g.c:vlc_queue_DequeueKillable Unexecuted instantiation: libvlc.c:vlc_queue_DequeueKillable Unexecuted instantiation: bank.c:vlc_queue_DequeueKillable Unexecuted instantiation: content.c:vlc_queue_DequeueKillable Unexecuted instantiation: control.c:vlc_queue_DequeueKillable Unexecuted instantiation: notify.c:vlc_queue_DequeueKillable Unexecuted instantiation: player.c:vlc_queue_DequeueKillable Unexecuted instantiation: playlist.c:vlc_queue_DequeueKillable Unexecuted instantiation: preparse.c:vlc_queue_DequeueKillable Unexecuted instantiation: preparser.c:vlc_queue_DequeueKillable Unexecuted instantiation: item.c:vlc_queue_DequeueKillable Unexecuted instantiation: access.c:vlc_queue_DequeueKillable Unexecuted instantiation: decoder_device.c:vlc_queue_DequeueKillable Unexecuted instantiation: decoder_helpers.c:vlc_queue_DequeueKillable Unexecuted instantiation: demux.c:vlc_queue_DequeueKillable Unexecuted instantiation: input.c:vlc_queue_DequeueKillable Unexecuted instantiation: timer.c:vlc_queue_DequeueKillable Unexecuted instantiation: track.c:vlc_queue_DequeueKillable Unexecuted instantiation: title.c:vlc_queue_DequeueKillable Unexecuted instantiation: aout.c:vlc_queue_DequeueKillable Unexecuted instantiation: vout.c:vlc_queue_DequeueKillable Unexecuted instantiation: osd.c:vlc_queue_DequeueKillable Unexecuted instantiation: medialib.c:vlc_queue_DequeueKillable Unexecuted instantiation: resource.c:vlc_queue_DequeueKillable Unexecuted instantiation: stats.c:vlc_queue_DequeueKillable Unexecuted instantiation: stream.c:vlc_queue_DequeueKillable Unexecuted instantiation: stream_extractor.c:vlc_queue_DequeueKillable Unexecuted instantiation: stream_filter.c:vlc_queue_DequeueKillable Unexecuted instantiation: stream_memory.c:vlc_queue_DequeueKillable Unexecuted instantiation: subtitles.c:vlc_queue_DequeueKillable Unexecuted instantiation: common.c:vlc_queue_DequeueKillable Unexecuted instantiation: dec.c:vlc_queue_DequeueKillable Unexecuted instantiation: filters.c:vlc_queue_DequeueKillable Unexecuted instantiation: meter.c:vlc_queue_DequeueKillable Unexecuted instantiation: output.c:vlc_queue_DequeueKillable Unexecuted instantiation: volume.c:vlc_queue_DequeueKillable Unexecuted instantiation: video_output.c:vlc_queue_DequeueKillable Unexecuted instantiation: video_widgets.c:vlc_queue_DequeueKillable Unexecuted instantiation: vout_subpictures.c:vlc_queue_DequeueKillable Unexecuted instantiation: vout_intf.c:vlc_queue_DequeueKillable Unexecuted instantiation: strings.c:vlc_queue_DequeueKillable Unexecuted instantiation: frame.c:vlc_queue_DequeueKillable Unexecuted instantiation: fifo.c:vlc_queue_DequeueKillable Unexecuted instantiation: picture.c:vlc_queue_DequeueKillable Unexecuted instantiation: image.c:vlc_queue_DequeueKillable Unexecuted instantiation: objects.c:vlc_queue_DequeueKillable Unexecuted instantiation: queue.c:vlc_queue_DequeueKillable Unexecuted instantiation: filter.c:vlc_queue_DequeueKillable Unexecuted instantiation: filter_chain.c:vlc_queue_DequeueKillable Unexecuted instantiation: subpicture.c:vlc_queue_DequeueKillable Unexecuted instantiation: stream_output.c:vlc_queue_DequeueKillable Unexecuted instantiation: vlm.c:vlc_queue_DequeueKillable Unexecuted instantiation: vlm_event.c:vlc_queue_DequeueKillable Unexecuted instantiation: vlmshell.c:vlc_queue_DequeueKillable Unexecuted instantiation: libvlc-module.c:vlc_queue_DequeueKillable Unexecuted instantiation: fetcher.c:vlc_queue_DequeueKillable Unexecuted instantiation: clock.c:vlc_queue_DequeueKillable Unexecuted instantiation: es_out.c:vlc_queue_DequeueKillable Unexecuted instantiation: es_out_source.c:vlc_queue_DequeueKillable Unexecuted instantiation: es_out_timeshift.c:vlc_queue_DequeueKillable Unexecuted instantiation: display.c:vlc_queue_DequeueKillable Unexecuted instantiation: snapshot.c:vlc_queue_DequeueKillable |
257 | | |
258 | | /** @} */ |
259 | | |
260 | | /** @} */ |
261 | | #endif |