Mercurial > mplayer.hg
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 |
rev | line source |
---|---|
15289 | 1 /* |
29210 | 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 | 22 |
32126 | 23 #ifndef MPLAYER_VO_COREVIDEO_H |
24 #define MPLAYER_VO_COREVIDEO_H | |
25 | |
15289 | 26 #import <Cocoa/Cocoa.h> |
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 | 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 | 44 { |
45 //CoreVideo | |
25180 | 46 CVPixelBufferRef frameBuffers[2]; |
15289 | 47 CVOpenGLTextureCacheRef textureCache; |
48 CVOpenGLTextureRef texture; | |
15729 | 49 NSRect textureFrame; |
29263
0f1b5b68af32
whitespace cosmetics: Remove all trailing whitespace.
diego
parents:
29210
diff
changeset
|
50 |
31744 | 51 GLfloat lowerLeft[2]; |
52 GLfloat lowerRight[2]; | |
53 GLfloat upperRight[2]; | |
54 GLfloat upperLeft[2]; | |
15289 | 55 } |
56 | |
57 //window & rendering | |
24076 | 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 | 60 - (void) prepareOpenGL; |
61 - (void) render; | |
62 - (void) reshape; | |
63 - (void) setCurrentTexture; | |
64 - (void) drawRect: (NSRect *) bounds; | |
15611 | 65 |
24075 | 66 @end |
32126 | 67 |
68 #endif /* MPLAYER_VO_COREVIDEO_H */ |