VLC 4.0.0-dev
control.h
Go to the documentation of this file.
1/*****************************************************************************
2 * control.h : vout internal control
3 *****************************************************************************
4 * Copyright (C) 2009-2010 Laurent Aimar
5 *
6 * Authors: Laurent Aimar <fenrir _AT_ videolan _DOT_ org>
7 *
8 * This program is free software; you can redistribute it and/or modify it
9 * under the terms of the GNU Lesser General Public License as published by
10 * the Free Software Foundation; either version 2.1 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU Lesser General Public License for more details.
17 *
18 * You should have received a copy of the GNU Lesser General Public License
19 * along with this program; if not, write to the Free Software Foundation,
20 * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
21 *****************************************************************************/
22
23#ifndef LIBVLC_VOUT_INTERNAL_CONTROL_H
24#define LIBVLC_VOUT_INTERNAL_CONTROL_H
25
26#include <vlc_viewpoint.h>
27#include <vlc_threads.h>
28
29/* */
30typedef struct {
33 vlc_cond_t wait_available; /* available: yielding && !is_held */
34
35 /* */
38 bool is_held;
39 unsigned pending_count;
41
42/* */
44
45/* controls outside of the vout thread */
50
51/* control inside of the vout thread */
53
54#endif
Condition variable.
Definition: vlc_threads.h:322
Mutex.
Definition: vlc_threads.h:195
Definition: control.h:30
unsigned pending_count
Definition: control.h:39
vlc_cond_t wait_request
Definition: control.h:32
vlc_mutex_t lock
Definition: control.h:31
bool is_held
Definition: control.h:38
bool yielding
Definition: control.h:37
vlc_cond_t wait_available
Definition: control.h:33
bool forced_awake
Definition: control.h:36
void vout_control_Release(vout_control_t *)
Definition: control.c:74
void vout_control_ReleaseAndWake(vout_control_t *)
Definition: control.c:81
void vout_control_Init(vout_control_t *)
Definition: control.c:33
void vout_control_Wake(vout_control_t *)
Definition: control.c:45
void vout_control_Wait(vout_control_t *, vlc_tick_t deadline)
Definition: control.c:90
void vout_control_Hold(vout_control_t *)
Definition: control.c:53
Thread primitive declarations.
int64_t vlc_tick_t
High precision date or time interval.
Definition: vlc_tick.h:45
Video and audio viewpoint struct and helpers.