summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorreimar <reimar@b3059339-0415-0410-9bf9-f77b7e298cf2>2010-11-10 22:10:30 +0000
committerUoti Urpala <uau@glyph.nonexistent.invalid>2010-11-14 12:31:10 +0200
commit94f543d114560dae933c102bd861e801fb37a280 (patch)
tree77a15a10b68a35c3bbab62fe97a48b551310e07a
parent0792847d4aeca71c0e61d47a9734d192506f1249 (diff)
downloadmpv-94f543d114560dae933c102bd861e801fb37a280.tar.bz2
mpv-94f543d114560dae933c102bd861e801fb37a280.tar.xz
libvo/w32_common.c: Move setting of pixel format from init to config
This allows it to depend on flags etc. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@32619 b3059339-0415-0410-9bf9-f77b7e298cf2
-rw-r--r--libvo/w32_common.c42
1 files changed, 21 insertions, 21 deletions
diff --git a/libvo/w32_common.c b/libvo/w32_common.c
index cfcc49d09f..c5ab27f0ac 100644
--- a/libvo/w32_common.c
+++ b/libvo/w32_common.c
@@ -392,6 +392,27 @@ static int createRenderingContext(void) {
* \return 1 - Success, 0 - Failure
*/
int vo_w32_config(uint32_t width, uint32_t height, uint32_t flags) {
+ PIXELFORMATDESCRIPTOR pfd;
+ int pf;
+ HDC vo_hdc = vo_w32_get_dc(vo_window);
+
+ memset(&pfd, 0, sizeof pfd);
+ pfd.nSize = sizeof pfd;
+ pfd.nVersion = 1;
+ pfd.dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER;
+ pfd.iPixelType = PFD_TYPE_RGBA;
+ pfd.cColorBits = 24;
+ pfd.iLayerType = PFD_MAIN_PLANE;
+ pf = ChoosePixelFormat(vo_hdc, &pfd);
+ if (!pf) {
+ mp_msg(MSGT_VO, MSGL_ERR, "vo: win32: unable to select a valid pixel format!\n");
+ vo_w32_release_dc(vo_window, vo_hdc);
+ return 0;
+ }
+
+ SetPixelFormat(vo_hdc, pf, &pfd);
+ vo_w32_release_dc(vo_window, vo_hdc);
+
// we already have a fully initialized window, so nothing needs to be done
if (flags & VOFLAG_HIDDEN)
return 1;
@@ -442,9 +463,6 @@ static char *get_display_name(void) {
* \return 1 = Success, 0 = Failure
*/
int vo_w32_init(void) {
- PIXELFORMATDESCRIPTOR pfd;
- HDC vo_hdc;
- int pf;
HICON mplayerIcon = 0;
char exedir[MAX_PATH];
HINSTANCE user32;
@@ -502,24 +520,6 @@ int vo_w32_init(void) {
free(dev);
updateScreenProperties();
- vo_hdc = vo_w32_get_dc(vo_window);
- memset(&pfd, 0, sizeof pfd);
- pfd.nSize = sizeof pfd;
- pfd.nVersion = 1;
- pfd.dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER;
- pfd.iPixelType = PFD_TYPE_RGBA;
- pfd.cColorBits = 24;
- pfd.iLayerType = PFD_MAIN_PLANE;
- pf = ChoosePixelFormat(vo_hdc, &pfd);
- if (!pf) {
- mp_msg(MSGT_VO, MSGL_ERR, "vo: win32: unable to select a valid pixel format!\n");
- vo_w32_release_dc(vo_window, vo_hdc);
- return 0;
- }
-
- SetPixelFormat(vo_hdc, pf, &pfd);
- vo_w32_release_dc(vo_window, vo_hdc);
-
mp_msg(MSGT_VO, MSGL_V, "vo: win32: running at %dx%d with depth %d\n", vo_screenwidth, vo_screenheight, depthonscreen);
return 1;