comparison libvo/vo_directx.c @ 33811:c1299d6cbc4e

Make NULL checks simpler/more consistent.
author reimar
date Sun, 24 Jul 2011 19:02:38 +0000
parents 9d6f166e7070
children a214da7104e2
comparison
equal deleted inserted replaced
33810:9d6f166e7070 33811:c1299d6cbc4e
306 return 0; 306 return 0;
307 } 307 }
308 308
309 static void uninit(void) 309 static void uninit(void)
310 { 310 {
311 if (g_cc != NULL) { 311 if (g_cc)
312 g_cc->lpVtbl->Release(g_cc); 312 g_cc->lpVtbl->Release(g_cc);
313 }
314 g_cc = NULL; 313 g_cc = NULL;
315 if (g_lpddclipper != NULL) 314 if (g_lpddclipper)
316 g_lpddclipper->lpVtbl->Release(g_lpddclipper); 315 g_lpddclipper->lpVtbl->Release(g_lpddclipper);
317 g_lpddclipper = NULL; 316 g_lpddclipper = NULL;
318 mp_msg(MSGT_VO, MSGL_DBG3, "<vo_directx><INFO>clipper released\n"); 317 mp_msg(MSGT_VO, MSGL_DBG3, "<vo_directx><INFO>clipper released\n");
319 if (g_lpddsBack != NULL) 318 if (g_lpddsBack)
320 g_lpddsBack->lpVtbl->Release(g_lpddsBack); 319 g_lpddsBack->lpVtbl->Release(g_lpddsBack);
321 g_lpddsBack = NULL; 320 g_lpddsBack = NULL;
322 mp_msg(MSGT_VO, MSGL_DBG3, "<vo_directx><INFO>back surface released\n"); 321 mp_msg(MSGT_VO, MSGL_DBG3, "<vo_directx><INFO>back surface released\n");
323 if (vo_doublebuffering && !nooverlay) { 322 if (vo_doublebuffering && !nooverlay) {
324 if (g_lpddsOverlay != NULL) 323 if (g_lpddsOverlay)
325 g_lpddsOverlay->lpVtbl->Release(g_lpddsOverlay); 324 g_lpddsOverlay->lpVtbl->Release(g_lpddsOverlay);
326 g_lpddsOverlay = NULL; 325 g_lpddsOverlay = NULL;
327 mp_msg(MSGT_VO, MSGL_DBG3, "<vo_directx><INFO>overlay surface released\n"); 326 mp_msg(MSGT_VO, MSGL_DBG3, "<vo_directx><INFO>overlay surface released\n");
328 } 327 }
329 if (g_lpddsPrimary != NULL) 328 if (g_lpddsPrimary)
330 g_lpddsPrimary->lpVtbl->Release(g_lpddsPrimary); 329 g_lpddsPrimary->lpVtbl->Release(g_lpddsPrimary);
331 g_lpddsPrimary = NULL; 330 g_lpddsPrimary = NULL;
332 mp_msg(MSGT_VO, MSGL_DBG3, "<vo_directx><INFO>primary released\n"); 331 mp_msg(MSGT_VO, MSGL_DBG3, "<vo_directx><INFO>primary released\n");
333 if (colorbrush) 332 if (colorbrush)
334 DeleteObject(colorbrush); 333 DeleteObject(colorbrush);
335 colorbrush = NULL; 334 colorbrush = NULL;
336 mp_msg(MSGT_VO, MSGL_DBG3, "<vo_directx><INFO>GDI resources deleted\n"); 335 mp_msg(MSGT_VO, MSGL_DBG3, "<vo_directx><INFO>GDI resources deleted\n");
337 if (g_lpdd != NULL) { 336 if (g_lpdd) {
338 if (vidmode) 337 if (vidmode)
339 g_lpdd->lpVtbl->RestoreDisplayMode(g_lpdd); 338 g_lpdd->lpVtbl->RestoreDisplayMode(g_lpdd);
340 g_lpdd->lpVtbl->Release(g_lpdd); 339 g_lpdd->lpVtbl->Release(g_lpdd);
341 } 340 }
342 mp_msg(MSGT_VO, MSGL_DBG3, "<vo_directx><INFO>directdrawobject released\n"); 341 mp_msg(MSGT_VO, MSGL_DBG3, "<vo_directx><INFO>directdrawobject released\n");
380 379
381 mp_msg(MSGT_VO, MSGL_DBG3, "<vo_directx><INFO>Initing DirectDraw\n"); 380 mp_msg(MSGT_VO, MSGL_DBG3, "<vo_directx><INFO>Initing DirectDraw\n");
382 381
383 //load direct draw DLL: based on videolans code 382 //load direct draw DLL: based on videolans code
384 hddraw_dll = LoadLibrary("DDRAW.DLL"); 383 hddraw_dll = LoadLibrary("DDRAW.DLL");
385 if (hddraw_dll == NULL) { 384 if (!hddraw_dll) {
386 mp_msg(MSGT_VO, MSGL_FATAL, "<vo_directx><FATAL ERROR>failed loading ddraw.dll\n"); 385 mp_msg(MSGT_VO, MSGL_FATAL, "<vo_directx><FATAL ERROR>failed loading ddraw.dll\n");
387 return 1; 386 return 1;
388 } 387 }
389 388
390 if (vo_adapter_num) { //display other than default 389 if (vo_adapter_num) { //display other than default
403 if (vo_adapter_num >= adapter_count) 402 if (vo_adapter_num >= adapter_count)
404 mp_msg(MSGT_VO, MSGL_ERR, "Selected adapter (%d) doesn't exist: Default Display Adapter selected\n", vo_adapter_num); 403 mp_msg(MSGT_VO, MSGL_ERR, "Selected adapter (%d) doesn't exist: Default Display Adapter selected\n", vo_adapter_num);
405 } 404 }
406 405
407 OurDirectDrawCreateEx = (void *)GetProcAddress(hddraw_dll, "DirectDrawCreateEx"); 406 OurDirectDrawCreateEx = (void *)GetProcAddress(hddraw_dll, "DirectDrawCreateEx");
408 if (OurDirectDrawCreateEx == NULL) { 407 if (!OurDirectDrawCreateEx) {
409 FreeLibrary(hddraw_dll); 408 FreeLibrary(hddraw_dll);
410 hddraw_dll = NULL; 409 hddraw_dll = NULL;
411 mp_msg(MSGT_VO, MSGL_FATAL, "<vo_directx><FATAL ERROR>failed geting proc address: DirectDrawCreateEx\n"); 410 mp_msg(MSGT_VO, MSGL_FATAL, "<vo_directx><FATAL ERROR>failed geting proc address: DirectDrawCreateEx\n");
412 return 1; 411 return 1;
413 } 412 }
700 mp_msg(MSGT_VO, MSGL_V, "<vo_directx><FORMAT OVERLAY>%i %s supported\n", i, g_ddpf[i].img_format_name); 699 mp_msg(MSGT_VO, MSGL_V, "<vo_directx><FORMAT OVERLAY>%i %s supported\n", i, g_ddpf[i].img_format_name);
701 g_ddpf[i].drv_caps = VFCAP_CSP_SUPPORTED | VFCAP_OSD | VFCAP_CSP_SUPPORTED_BY_HW | VFCAP_HWSCALE_UP; 700 g_ddpf[i].drv_caps = VFCAP_CSP_SUPPORTED | VFCAP_OSD | VFCAP_CSP_SUPPORTED_BY_HW | VFCAP_HWSCALE_UP;
702 formatcount++; 701 formatcount++;
703 } else 702 } else
704 mp_msg(MSGT_VO, MSGL_V, "<vo_directx><FORMAT OVERLAY>%i %s not supported\n", i, g_ddpf[i].img_format_name); 703 mp_msg(MSGT_VO, MSGL_V, "<vo_directx><FORMAT OVERLAY>%i %s not supported\n", i, g_ddpf[i].img_format_name);
705 if (g_lpddsOverlay != NULL) { 704 if (g_lpddsOverlay) {
706 g_lpddsOverlay->lpVtbl->Release(g_lpddsOverlay); 705 g_lpddsOverlay->lpVtbl->Release(g_lpddsOverlay);
707 g_lpddsOverlay = NULL; 706 g_lpddsOverlay = NULL;
708 } 707 }
709 } while (++i < NUM_FORMATS); 708 } while (++i < NUM_FORMATS);
710 mp_msg(MSGT_VO, MSGL_V, "<vo_directx><INFO>Your card supports %i of %i overlayformats\n", formatcount, NUM_FORMATS); 709 mp_msg(MSGT_VO, MSGL_V, "<vo_directx><INFO>Your card supports %i of %i overlayformats\n", formatcount, NUM_FORMATS);
986 image_height = height; 985 image_height = height;
987 if (format != primary_image_format) 986 if (format != primary_image_format)
988 nooverlay = 0; 987 nooverlay = 0;
989 988
990 /*release all directx objects*/ 989 /*release all directx objects*/
991 if (g_cc != NULL) 990 if (g_cc)
992 g_cc->lpVtbl->Release(g_cc); 991 g_cc->lpVtbl->Release(g_cc);
993 g_cc = NULL; 992 g_cc = NULL;
994 if (g_lpddclipper) 993 if (g_lpddclipper)
995 g_lpddclipper->lpVtbl->Release(g_lpddclipper); 994 g_lpddclipper->lpVtbl->Release(g_lpddclipper);
996 g_lpddclipper = NULL; 995 g_lpddclipper = NULL;
997 if (g_lpddsBack != NULL) 996 if (g_lpddsBack)
998 g_lpddsBack->lpVtbl->Release(g_lpddsBack); 997 g_lpddsBack->lpVtbl->Release(g_lpddsBack);
999 g_lpddsBack = NULL; 998 g_lpddsBack = NULL;
1000 if (vo_doublebuffering) 999 if (vo_doublebuffering)
1001 if (g_lpddsOverlay != NULL) 1000 if (g_lpddsOverlay)
1002 g_lpddsOverlay->lpVtbl->Release(g_lpddsOverlay); 1001 g_lpddsOverlay->lpVtbl->Release(g_lpddsOverlay);
1003 g_lpddsOverlay = NULL; 1002 g_lpddsOverlay = NULL;
1004 if (g_lpddsPrimary != NULL) 1003 if (g_lpddsPrimary)
1005 g_lpddsPrimary->lpVtbl->Release(g_lpddsPrimary); 1004 g_lpddsPrimary->lpVtbl->Release(g_lpddsPrimary);
1006 g_lpddsPrimary = NULL; 1005 g_lpddsPrimary = NULL;
1007 mp_msg(MSGT_VO, MSGL_DBG3, "<vo_directx><INFO>overlay surfaces released\n"); 1006 mp_msg(MSGT_VO, MSGL_DBG3, "<vo_directx><INFO>overlay surfaces released\n");
1008 1007
1009 if (!vo_w32_config(d_width, d_height, options)) 1008 if (!vo_w32_config(d_width, d_height, options))