annotate libvo/vo_corevideo.h @ 35394:7bad316da87a

stream ftp: Pass full buffer size to snprintf Previously the buffer size was always passed as one less than the underlying buffer's size. This is not using the underlying buffer to its full potential according to the C99 standard. The last byte of the buffers were never used. No vulnerabilities should have been caused by this mistake because the strings stored in the buffers were zero terminated at all times. Neither were out-of-array writes nor reads possible.
author al
date Mon, 26 Nov 2012 23:36:00 +0000
parents 8848682f4035
children f51965824a2b
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
15289
e985d786c5f1 macosx core video module
nplourde
parents:
diff changeset
1 /*
29210
779281d8cd80 Rename macosx video output driver to corevideo.
diego
parents: 29207
diff changeset
2 * CoreVideo video output driver
28446
7681eab10aea Add standard license headers, unify header formatting.
diego
parents: 28010
diff changeset
3 *
7681eab10aea Add standard license headers, unify header formatting.
diego
parents: 28010
diff changeset
4 * Copyright (c) 2005 Nicolas Plourde <nicolasplourde@gmail.com>
7681eab10aea Add standard license headers, unify header formatting.
diego
parents: 28010
diff changeset
5 *
7681eab10aea Add standard license headers, unify header formatting.
diego
parents: 28010
diff changeset
6 * This file is part of MPlayer.
7681eab10aea Add standard license headers, unify header formatting.
diego
parents: 28010
diff changeset
7 *
7681eab10aea Add standard license headers, unify header formatting.
diego
parents: 28010
diff changeset
8 * MPlayer is free software; you can redistribute it and/or modify
7681eab10aea Add standard license headers, unify header formatting.
diego
parents: 28010
diff changeset
9 * it under the terms of the GNU General Public License as published by
7681eab10aea Add standard license headers, unify header formatting.
diego
parents: 28010
diff changeset
10 * the Free Software Foundation; either version 2 of the License, or
7681eab10aea Add standard license headers, unify header formatting.
diego
parents: 28010
diff changeset
11 * (at your option) any later version.
7681eab10aea Add standard license headers, unify header formatting.
diego
parents: 28010
diff changeset
12 *
7681eab10aea Add standard license headers, unify header formatting.
diego
parents: 28010
diff changeset
13 * MPlayer is distributed in the hope that it will be useful,
7681eab10aea Add standard license headers, unify header formatting.
diego
parents: 28010
diff changeset
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
7681eab10aea Add standard license headers, unify header formatting.
diego
parents: 28010
diff changeset
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
7681eab10aea Add standard license headers, unify header formatting.
diego
parents: 28010
diff changeset
16 * GNU General Public License for more details.
7681eab10aea Add standard license headers, unify header formatting.
diego
parents: 28010
diff changeset
17 *
7681eab10aea Add standard license headers, unify header formatting.
diego
parents: 28010
diff changeset
18 * You should have received a copy of the GNU General Public License along
7681eab10aea Add standard license headers, unify header formatting.
diego
parents: 28010
diff changeset
19 * with MPlayer; if not, write to the Free Software Foundation, Inc.,
7681eab10aea Add standard license headers, unify header formatting.
diego
parents: 28010
diff changeset
20 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
7681eab10aea Add standard license headers, unify header formatting.
diego
parents: 28010
diff changeset
21 */
15289
e985d786c5f1 macosx core video module
nplourde
parents:
diff changeset
22
32126
98f341e62270 Add standard multiple inclusion guards.
diego
parents: 31760
diff changeset
23 #ifndef MPLAYER_VO_COREVIDEO_H
98f341e62270 Add standard multiple inclusion guards.
diego
parents: 31760
diff changeset
24 #define MPLAYER_VO_COREVIDEO_H
98f341e62270 Add standard multiple inclusion guards.
diego
parents: 31760
diff changeset
25
15289
e985d786c5f1 macosx core video module
nplourde
parents:
diff changeset
26 #import <Cocoa/Cocoa.h>
e985d786c5f1 macosx core video module
nplourde
parents:
diff changeset
27 #import <QuartzCore/QuartzCore.h>
29207
5044f4496791 Replace QuickTime.h #include with Carbon.h, which is really needed.
diego
parents: 28446
diff changeset
28 #import <Carbon/Carbon.h>
35086
8848682f4035 Split out an objective-C common OS X layer, to be reused by -vo gl.
reimar
parents: 35080
diff changeset
29 #import "osx_objc_common.h"
15289
e985d786c5f1 macosx core video module
nplourde
parents:
diff changeset
30
25157
cf3b6015735d Set protocol for the vo proxy used in shared-buffer mode.
ulion
parents: 24077
diff changeset
31 // MPlayer OS X VO Protocol
cf3b6015735d Set protocol for the vo proxy used in shared-buffer mode.
ulion
parents: 24077
diff changeset
32 @protocol MPlayerOSXVOProto
cf3b6015735d Set protocol for the vo proxy used in shared-buffer mode.
ulion
parents: 24077
diff changeset
33 - (int) startWithWidth: (bycopy int)width
cf3b6015735d Set protocol for the vo proxy used in shared-buffer mode.
ulion
parents: 24077
diff changeset
34 withHeight: (bycopy int)height
cf3b6015735d Set protocol for the vo proxy used in shared-buffer mode.
ulion
parents: 24077
diff changeset
35 withBytes: (bycopy int)bytes
cf3b6015735d Set protocol for the vo proxy used in shared-buffer mode.
ulion
parents: 24077
diff changeset
36 withAspect: (bycopy int)aspect;
cf3b6015735d Set protocol for the vo proxy used in shared-buffer mode.
ulion
parents: 24077
diff changeset
37 - (void) stop;
cf3b6015735d Set protocol for the vo proxy used in shared-buffer mode.
ulion
parents: 24077
diff changeset
38 - (void) render;
cf3b6015735d Set protocol for the vo proxy used in shared-buffer mode.
ulion
parents: 24077
diff changeset
39 - (void) toggleFullscreen;
cf3b6015735d Set protocol for the vo proxy used in shared-buffer mode.
ulion
parents: 24077
diff changeset
40 - (void) ontop;
cf3b6015735d Set protocol for the vo proxy used in shared-buffer mode.
ulion
parents: 24077
diff changeset
41 @end
cf3b6015735d Set protocol for the vo proxy used in shared-buffer mode.
ulion
parents: 24077
diff changeset
42
35086
8848682f4035 Split out an objective-C common OS X layer, to be reused by -vo gl.
reimar
parents: 35080
diff changeset
43 @interface MPlayerOpenGLView : MPCommonOpenGLView
15289
e985d786c5f1 macosx core video module
nplourde
parents:
diff changeset
44 {
e985d786c5f1 macosx core video module
nplourde
parents:
diff changeset
45 //CoreVideo
25180
48fe4b6e3bab Support double buffering, fix osd flicker.
ulion
parents: 25157
diff changeset
46 CVPixelBufferRef frameBuffers[2];
15289
e985d786c5f1 macosx core video module
nplourde
parents:
diff changeset
47 CVOpenGLTextureCacheRef textureCache;
e985d786c5f1 macosx core video module
nplourde
parents:
diff changeset
48 CVOpenGLTextureRef texture;
15729
55aaeb7b6aae new texture frame
nplourde
parents: 15726
diff changeset
49 NSRect textureFrame;
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 29210
diff changeset
50
31744
e87d7a5949b1 Fix indentation.
reimar
parents: 29575
diff changeset
51 GLfloat lowerLeft[2];
e87d7a5949b1 Fix indentation.
reimar
parents: 29575
diff changeset
52 GLfloat lowerRight[2];
e87d7a5949b1 Fix indentation.
reimar
parents: 29575
diff changeset
53 GLfloat upperRight[2];
e87d7a5949b1 Fix indentation.
reimar
parents: 29575
diff changeset
54 GLfloat upperLeft[2];
15289
e985d786c5f1 macosx core video module
nplourde
parents:
diff changeset
55 }
e985d786c5f1 macosx core video module
nplourde
parents:
diff changeset
56
e985d786c5f1 macosx core video module
nplourde
parents:
diff changeset
57 //window & rendering
24076
7ac48ed8c394 Functions that do not return a value must be void
reimar
parents: 24075
diff changeset
58 - (void) preinit;
35080
a10c7a7a9232 Move some code around to make splitting into vo-specific and generic code easier.
reimar
parents: 35069
diff changeset
59 - (void) config:(uint32_t)width:(uint32_t)height:(uint32_t)flags;
15289
e985d786c5f1 macosx core video module
nplourde
parents:
diff changeset
60 - (void) prepareOpenGL;
e985d786c5f1 macosx core video module
nplourde
parents:
diff changeset
61 - (void) render;
e985d786c5f1 macosx core video module
nplourde
parents:
diff changeset
62 - (void) reshape;
e985d786c5f1 macosx core video module
nplourde
parents:
diff changeset
63 - (void) setCurrentTexture;
e985d786c5f1 macosx core video module
nplourde
parents:
diff changeset
64 - (void) drawRect: (NSRect *) bounds;
15611
2f77a2da1d82 Function name cleanup
nplourde
parents: 15570
diff changeset
65
24075
8595d6dbd0ed Text files must end with a newline
reimar
parents: 15855
diff changeset
66 @end
32126
98f341e62270 Add standard multiple inclusion guards.
diego
parents: 31760
diff changeset
67
98f341e62270 Add standard multiple inclusion guards.
diego
parents: 31760
diff changeset
68 #endif /* MPLAYER_VO_COREVIDEO_H */