Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
e331a84f
Commit
e331a84f
authored
May 18, 2010
by
Maarten Lankhorst
Committed by
Alexandre Julliard
May 18, 2010
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mciqtz32: Implement MCI_STATUS_LENGTH.
parent
f65d4c5a
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
35 additions
and
7 deletions
+35
-7
mciqtz.c
dlls/mciqtz32/mciqtz.c
+35
-7
No files found.
dlls/mciqtz32/mciqtz.c
View file @
e331a84f
...
...
@@ -505,6 +505,7 @@ static DWORD MCIQTZ_mciSet(UINT wDevID, DWORD dwFlags, LPMCI_DGV_SET_PARMS lpPar
static
DWORD
MCIQTZ_mciStatus
(
UINT
wDevID
,
DWORD
dwFlags
,
LPMCI_DGV_STATUS_PARMSW
lpParms
)
{
WINE_MCIQTZ
*
wma
;
HRESULT
hr
;
TRACE
(
"(%04x, %08X, %p)
\n
"
,
wDevID
,
dwFlags
,
lpParms
);
...
...
@@ -521,14 +522,41 @@ static DWORD MCIQTZ_mciStatus(UINT wDevID, DWORD dwFlags, LPMCI_DGV_STATUS_PARMS
}
switch
(
lpParms
->
dwItem
)
{
case
MCI_STATUS_LENGTH
:
FIXME
(
"MCI_STATUS_LENGTH not implemented yet
\n
"
);
return
MCIERR_UNRECOGNIZED_COMMAND
;
case
MCI_STATUS_POSITION
:
{
HRESULT
hr
;
REFTIME
curpos
;
case
MCI_STATUS_LENGTH
:
{
IMediaSeeking
*
seek
;
LONGLONG
duration
=
-
1
;
GUID
format
;
switch
(
wma
->
time_format
)
{
case
MCI_FORMAT_MILLISECONDS
:
format
=
TIME_FORMAT_MEDIA_TIME
;
break
;
case
MCI_FORMAT_FRAMES
:
format
=
TIME_FORMAT_FRAME
;
break
;
default:
ERR
(
"Unhandled format %x
\n
"
,
wma
->
time_format
);
break
;
}
hr
=
IGraphBuilder_QueryInterface
(
wma
->
pgraph
,
&
IID_IMediaSeeking
,
(
void
**
)
&
seek
);
if
(
FAILED
(
hr
))
{
FIXME
(
"Cannot get IMediaPostion interface (hr = %x)
\n
"
,
hr
);
return
MCIERR_INTERNAL
;
}
hr
=
IMediaSeeking_SetTimeFormat
(
seek
,
&
format
);
if
(
FAILED
(
hr
))
{
IMediaSeeking_Release
(
seek
);
FIXME
(
"Cannot set time format (hr = %x)
\n
"
,
hr
);
lpParms
->
dwReturn
=
0
;
break
;
}
hr
=
IMediaSeeking_GetDuration
(
seek
,
&
duration
);
IMediaSeeking_Release
(
seek
);
if
(
FAILED
(
hr
)
||
duration
<
0
)
{
FIXME
(
"Cannot read duration (hr = %x)
\n
"
,
hr
);
lpParms
->
dwReturn
=
0
;
}
else
if
(
wma
->
time_format
!=
MCI_FORMAT_MILLISECONDS
)
lpParms
->
dwReturn
=
duration
;
else
lpParms
->
dwReturn
=
duration
/
10000
;
break
;
}
case
MCI_STATUS_POSITION
:
{
IMediaPosition
*
pmpos
;
REFTIME
curpos
;
hr
=
IGraphBuilder_QueryInterface
(
wma
->
pgraph
,
&
IID_IMediaPosition
,
(
LPVOID
*
)
&
pmpos
);
if
(
FAILED
(
hr
))
{
...
...
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