diff options
author | Stefano Pigozzi <stefano.pigozzi@gmail.com> | 2012-03-23 19:14:32 +0100 |
---|---|---|
committer | Uoti Urpala <uau@mplayer2.org> | 2012-04-26 21:03:10 +0300 |
commit | 9646208cc671721fce2253a3c5d40b1961810a87 (patch) | |
tree | 7d9333c1d131acc08162e5f9bab8fb7b8f1a7fdf /libvo/vo_sharedbuffer.h | |
parent | 768e06b0ac3d11e5383b2e6e90f7b99719ba5876 (diff) | |
download | mpv-9646208cc671721fce2253a3c5d40b1961810a87.tar.bz2 mpv-9646208cc671721fce2253a3c5d40b1961810a87.tar.xz |
vo_sharedbuffer: add this video output
This OSX video output is replaces the previous shared_buffer mode of
vo_corevideo. It manages a shared buffer and a Cocoa distributed
object to communicate with GUIs.
Splitting this code into a separate VO allows to get rid of harmful
code coupling, performance inefficiencies (useless image memory
copies) and ugly code (big if-else conditionals).
Diffstat (limited to 'libvo/vo_sharedbuffer.h')
-rw-r--r-- | libvo/vo_sharedbuffer.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/libvo/vo_sharedbuffer.h b/libvo/vo_sharedbuffer.h new file mode 100644 index 0000000000..c25463aa0a --- /dev/null +++ b/libvo/vo_sharedbuffer.h @@ -0,0 +1,37 @@ +/* + * OSX Shared Buffer Video Output (extracted from mplayer's corevideo) + * + * This file is part of mplayer2. + * + * mplayer2 is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * mplayer2 is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with mplayer2. If not, see <http://www.gnu.org/licenses/>. + */ + +#ifndef MPLAYER_VO_OSX_SHAREDBUFFER_H +#define MPLAYER_VO_OSX_SHAREDBUFFER_H + +#import <Cocoa/Cocoa.h> + +// Protocol to communicate with the GUI +@protocol MPlayerOSXVOProto +- (int) startWithWidth: (bycopy int)width + withHeight: (bycopy int)height + withBytes: (bycopy int)bytes + withAspect: (bycopy int)aspect; +- (void) stop; +- (void) render; +- (void) toggleFullscreen; +- (void) ontop; +@end + +#endif /* MPLAYER_VO_OSX_SHAREDBUFFER_H */ |