VLC  3.0.15
vlc_vout_wrapper.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * vlc_vout_wrapper.h: definitions for vout wrappers (temporary)
3  *****************************************************************************
4  * Copyright (C) 2009 Laurent Aimar
5  * $Id: 7c115473f8500ec32e487006ac68c26424886eaf $
6  *
7  * Authors: Laurent Aimar <fenrir _AT_ videolan _DOT_ org>
8  *
9  * This program is free software; you can redistribute it and/or modify it
10  * under the terms of the GNU Lesser General Public License as published by
11  * the Free Software Foundation; either version 2.1 of the License, or
12  * (at your option) any later version.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  * GNU Lesser General Public License for more details.
18  *
19  * You should have received a copy of the GNU Lesser General Public License
20  * along with this program; if not, write to the Free Software Foundation,
21  * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
22  *****************************************************************************/
23 
24 #ifndef VLC_VOUT_WRAPPER_H
25 #define VLC_VOUT_WRAPPER_H 1
26 
27 #include <vlc_vout_display.h>
28 
29 /* XXX DO NOT use it outside the vout module wrapper XXX */
30 
31 /**
32  * It retreives a picture pool from the display
33  */
35 {
36  return vd->pool(vd, count);
37 }
38 
39 /**
40  * It preparse a picture for display.
41  */
42 static inline void vout_display_Prepare(vout_display_t *vd,
43  picture_t *picture,
44  subpicture_t *subpicture)
45 {
46  if (vd->prepare )
47  vd->prepare(vd, picture, subpicture);
48 }
49 
50 /**
51  * It display a picture.
52  */
53 static inline void vout_display_Display(vout_display_t *vd,
54  picture_t *picture,
55  subpicture_t *subpicture)
56 {
57  vd->display(vd, picture, subpicture);
58 }
59 
60 /**
61  * It holds a state for a vout display.
62  */
63 typedef struct {
65 #if defined(_WIN32) || defined(__OS2__)
66  unsigned wm_state;
67 #endif
70 
71 /**
72  * It creates a vout managed display.
73  */
75  const vout_display_state_t *, const char *module,
76  mtime_t double_click_timeout, mtime_t hide_timeout );
77 /**
78  * It destroy a vout managed display.
79  */
85 
86 bool vout_ManageDisplay(vout_display_t *, bool allow_reset_pictures);
87 
88 void vout_SetDisplayFilled(vout_display_t *, bool is_filled);
89 void vout_SetDisplayZoom(vout_display_t *, unsigned num, unsigned den);
90 void vout_SetDisplayAspect(vout_display_t *, unsigned num, unsigned den);
91 void vout_SetDisplayCrop(vout_display_t *, unsigned num, unsigned den,
92  unsigned left, unsigned top, int right, int bottom);
94 
95 #endif /* VLC_VOUT_WRAPPER_H */
96 
vout_NewDisplay
vout_display_t * vout_NewDisplay(vout_thread_t *, const video_format_t *, const vout_display_state_t *, const char *module, mtime_t double_click_timeout, mtime_t hide_timeout)
It creates a vout managed display.
Definition: display.c:1245
count
size_t count
Definition: core.c:461
vlc_common.h
vout_display_t::pool
picture_pool_t *(* pool)(vout_display_t *, unsigned count)
Definition: vlc_vout_display.h:303
vout_FilterFlush
void vout_FilterFlush(vout_display_t *)
Definition: display.c:993
vout_display_state_t
It holds a state for a vout display.
Definition: vlc_vout_wrapper.h:63
vout_SetDisplayCrop
void vout_SetDisplayCrop(vout_display_t *, unsigned num, unsigned den, unsigned left, unsigned top, int right, int bottom)
Definition: display.c:1085
video_format_t
video format description
Definition: vlc_es.h:325
vlc_viewpoint_t
Viewpoints.
Definition: vlc_viewpoint.h:44
vout_SetDisplayViewpoint
void vout_SetDisplayViewpoint(vout_display_t *, const vlc_viewpoint_t *)
Definition: display.c:1107
vout_display_Pool
static picture_pool_t * vout_display_Pool(vout_display_t *vd, unsigned count)
It retreives a picture pool from the display.
Definition: vlc_vout_wrapper.h:34
picture_t
Video picture.
Definition: vlc_picture.h:68
picture_pool_t
Definition: picture_pool.c:41
vout_SetDisplayFilled
void vout_SetDisplayFilled(vout_display_t *, bool is_filled)
Definition: display.c:1031
subpicture_t
Video subtitle.
Definition: vlc_subpicture.h:153
vout_DeleteDisplay
void vout_DeleteDisplay(vout_display_t *, vout_display_state_t *)
It destroy a vout managed display.
Definition: display.c:1222
vlc_vout_display.h
vout_IsDisplayFiltered
bool vout_IsDisplayFiltered(vout_display_t *)
Definition: display.c:974
vout_display_Display
static void vout_display_Display(vout_display_t *vd, picture_t *picture, subpicture_t *subpicture)
It display a picture.
Definition: vlc_vout_wrapper.h:53
vlc_rational_t
Definition: fourcc_gen.c:33
vout_SetDisplayAspect
void vout_SetDisplayAspect(vout_display_t *, unsigned num, unsigned den)
Definition: display.c:1065
vout_ManageDisplay
bool vout_ManageDisplay(vout_display_t *, bool allow_reset_pictures)
Definition: display.c:727
vout_display_state_t::sar
vlc_rational_t sar
Definition: vlc_vout_wrapper.h:68
vout_display_cfg_t
Initial/Current configuration for a vout_display_t.
Definition: vlc_vout_display.h:83
vout_AreDisplayPicturesInvalid
bool vout_AreDisplayPicturesInvalid(vout_display_t *)
Definition: display.c:963
vout_display_t::display
void(* display)(vout_display_t *, picture_t *, subpicture_t *)
Definition: vlc_vout_display.h:327
mtime_t
int64_t mtime_t
High precision date or time interval.
Definition: vlc_common.h:150
vout_display_state_t::cfg
vout_display_cfg_t cfg
Definition: vlc_vout_wrapper.h:64
vout_thread_t
Video output thread descriptor.
Definition: vlc_vout.h:70
vout_display_t
Definition: vlc_vout_display.h:256
vout_display_Prepare
static void vout_display_Prepare(vout_display_t *vd, picture_t *picture, subpicture_t *subpicture)
It preparse a picture for display.
Definition: vlc_vout_wrapper.h:42
vout_SetDisplayZoom
void vout_SetDisplayZoom(vout_display_t *, unsigned num, unsigned den)
Definition: display.c:1038
vout_FilterDisplay
picture_t * vout_FilterDisplay(vout_display_t *, picture_t *)
Definition: display.c:981
vout_display_t::prepare
void(* prepare)(vout_display_t *, picture_t *, subpicture_t *)
Definition: vlc_vout_display.h:315