Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
V
vlc
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
videolan
vlc
Commits
4b482440
Commit
4b482440
authored
Dec 06, 2006
by
Damien Fouilleul
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
- backporting from 0.8.6
parent
3b44fa8c
Changes
4
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
201 additions
and
94 deletions
+201
-94
modules/video_output/directx/direct3d.c
modules/video_output/directx/direct3d.c
+176
-72
modules/video_output/directx/directx.c
modules/video_output/directx/directx.c
+2
-0
modules/video_output/directx/events.c
modules/video_output/directx/events.c
+20
-21
modules/video_output/directx/vout.h
modules/video_output/directx/vout.h
+3
-1
No files found.
modules/video_output/directx/direct3d.c
View file @
4b482440
This diff is collapsed.
Click to expand it.
modules/video_output/directx/directx.c
View file @
4b482440
...
...
@@ -77,6 +77,8 @@ struct picture_sys_t
* the linking stage.
*****************************************************************************/
#include <initguid.h>
#undef GUID_EXT
#define GUID_EXT
DEFINE_GUID
(
IID_IDirectDraw2
,
0xB3A6F3E0
,
0x2B43
,
0x11CF
,
0xA2
,
0xDE
,
0x00
,
0xAA
,
0x00
,
0xB9
,
0x33
,
0x56
);
DEFINE_GUID
(
IID_IDirectDrawSurface2
,
0x57805885
,
0x6eec
,
0x11cf
,
0x94
,
0x41
,
0xa8
,
0x23
,
0x03
,
0xc1
,
0x0e
,
0x27
);
...
...
modules/video_output/directx/events.c
View file @
4b482440
...
...
@@ -433,7 +433,7 @@ static int DirectXCreateWindow( vout_thread_t *p_vout )
* then fine, otherwise return with an error. */
if
(
!
GetClassInfo
(
hInstance
,
_T
(
"VLC DirectX"
),
&
wndclass
)
)
{
msg_Err
(
p_vout
,
"DirectXCreateWindow RegisterClass FAILED
"
);
msg_Err
(
p_vout
,
"DirectXCreateWindow RegisterClass FAILED
(err=%lu)"
,
GetLastError
()
);
return
VLC_EGENERIC
;
}
}
...
...
@@ -448,7 +448,7 @@ static int DirectXCreateWindow( vout_thread_t *p_vout )
* then fine, otherwise return with an error. */
if
(
!
GetClassInfo
(
hInstance
,
_T
(
"VLC DirectX video"
),
&
wndclass
)
)
{
msg_Err
(
p_vout
,
"DirectXCreateWindow RegisterClass FAILED
"
);
msg_Err
(
p_vout
,
"DirectXCreateWindow RegisterClass FAILED
(err=%lu)"
,
GetLastError
()
);
return
VLC_EGENERIC
;
}
}
...
...
@@ -505,7 +505,7 @@ static int DirectXCreateWindow( vout_thread_t *p_vout )
if
(
!
p_vout
->
p_sys
->
hwnd
)
{
msg_Warn
(
p_vout
,
"DirectXCreateWindow create window FAILED
"
);
msg_Warn
(
p_vout
,
"DirectXCreateWindow create window FAILED
(err=%lu)"
,
GetLastError
()
);
return
VLC_EGENERIC
;
}
...
...
@@ -541,19 +541,19 @@ static int DirectXCreateWindow( vout_thread_t *p_vout )
* the size of the video, which allows us to use crazy overlay colorkeys
* without having them shown outside of the video area. */
p_vout
->
p_sys
->
hvideownd
=
CreateWindow
(
_T
(
"VLC DirectX video"
),
_T
(
""
),
/* window class */
WS_CHILD
|
WS_VISIBLE
,
/* window style */
0
,
0
,
p_vout
->
render
.
i_width
,
/* default width */
p_vout
->
render
.
i_height
,
/* default height */
p_vout
->
p_sys
->
hwnd
,
/* parent window */
NULL
,
hInstance
,
(
LPVOID
)
p_vout
);
/* send p_vout to WM_CREATE */
CreateWindow
(
_T
(
"VLC DirectX video"
),
_T
(
""
),
/* window class */
WS_CHILD
|
WS_VISIBLE
,
/* window style */
0
,
0
,
p_vout
->
render
.
i_width
,
/* default width */
p_vout
->
render
.
i_height
,
/* default height */
p_vout
->
p_sys
->
hwnd
,
/* parent window */
NULL
,
hInstance
,
(
LPVOID
)
p_vout
);
/* send p_vout to WM_CREATE */
if
(
!
p_vout
->
p_sys
->
hvideownd
)
msg_Warn
(
p_vout
,
"can't create video sub-window"
);
msg_Warn
(
p_vout
,
"can't create video sub-window"
);
else
msg_Dbg
(
p_vout
,
"created video sub-window"
);
msg_Dbg
(
p_vout
,
"created video sub-window"
);
/* Now display the window */
ShowWindow
(
p_vout
->
p_sys
->
hwnd
,
SW_SHOW
);
...
...
@@ -768,10 +768,17 @@ static long FAR PASCAL DirectXEventProc( HWND hwnd, UINT message,
/* Store p_vout for future use */
p_vout
=
(
vout_thread_t
*
)((
CREATESTRUCT
*
)
lParam
)
->
lpCreateParams
;
SetWindowLongPtr
(
hwnd
,
GWLP_USERDATA
,
(
LONG_PTR
)
p_vout
);
return
TRUE
;
}
else
{
p_vout
=
(
vout_thread_t
*
)
GetWindowLongPtr
(
hwnd
,
GWLP_USERDATA
);
if
(
!
p_vout
)
{
/* Hmmm mozilla does manage somehow to save the pointer to our
* windowproc and still calls it after the vout has been closed. */
return
DefWindowProc
(
hwnd
,
message
,
wParam
,
lParam
);
}
}
/* Catch the screensaver and the monitor turn-off */
...
...
@@ -782,13 +789,6 @@ static long FAR PASCAL DirectXEventProc( HWND hwnd, UINT message,
return
0
;
/* this stops them from happening */
}
if
(
!
p_vout
)
{
/* Hmmm mozilla does manage somehow to save the pointer to our
* windowproc and still calls it after the vout has been closed. */
return
DefWindowProc
(
hwnd
,
message
,
wParam
,
lParam
);
}
if
(
hwnd
==
p_vout
->
p_sys
->
hvideownd
)
return
DefWindowProc
(
hwnd
,
message
,
wParam
,
lParam
);
...
...
@@ -845,7 +845,6 @@ static long FAR PASCAL DirectXEventProc( HWND hwnd, UINT message,
/* We do not want to relay these messages to the parent window
* because we rely on the background color for the overlay. */
return
DefWindowProc
(
hwnd
,
message
,
wParam
,
lParam
);
break
;
default:
//msg_Dbg( p_vout, "WinProc WM Default %i", message );
...
...
modules/video_output/directx/vout.h
View file @
4b482440
...
...
@@ -88,6 +88,8 @@ struct vout_sys_t
RECT
rect_dest
;
RECT
rect_dest_clipped
;
vlc_bool_t
b_hw_yuv
;
/* Should we use hardware YUV->RGB conversions */
#ifdef MODULE_NAME_IS_vout_directx
/* Overlay alignment restrictions */
int
i_align_src_boundary
;
...
...
@@ -97,7 +99,6 @@ struct vout_sys_t
vlc_bool_t
b_using_overlay
;
/* Are we using an overlay surface */
vlc_bool_t
b_use_sysmem
;
/* Should we use system memory for surfaces */
vlc_bool_t
b_hw_yuv
;
/* Should we use hardware YUV->RGB conversions */
vlc_bool_t
b_3buf_overlay
;
/* Should we use triple buffered overlays */
/* DDraw capabilities */
...
...
@@ -123,6 +124,7 @@ struct vout_sys_t
#ifdef MODULE_NAME_IS_direct3d
// core objects
HINSTANCE
hd3d9_dll
;
/* handle of the opened d3d9 dll */
LPDIRECT3D9
p_d3dobj
;
LPDIRECT3DDEVICE9
p_d3ddev
;
D3DPRESENT_PARAMETERS
d3dpp
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment