Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-fonts
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
Aleksandr Isakov
wine-fonts
Commits
e82f73bf
Commit
e82f73bf
authored
Feb 27, 2015
by
Mark Harmstone
Committed by
Alexandre Julliard
Feb 27, 2015
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
include: Add IMediaObject interfaces.
parent
e9cab9b3
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
176 additions
and
3 deletions
+176
-3
mediaobj.idl
include/mediaobj.idl
+176
-3
No files found.
include/mediaobj.idl
View file @
e82f73bf
...
...
@@ -19,12 +19,10 @@
import
"unknwn.idl"
;
import
"objidl.idl"
;
import
"strmif.idl"
;
interface
IDMOQualityControl
;
interface
IDMOVideoOutputOptimizations
;
interface
IMediaBuffer
;
interface
IMediaObject
;
interface
IMediaObjectInPlace
;
typedef
struct
_DMOMediaType
{
...
...
@@ -67,3 +65,178 @@ interface IEnumDMO : IUnknown
[
out
]
IEnumDMO
**
ppEnum
)
;
}
/*****************************************************************************
*
IMediaBuffer
interface
*/
[
object
,
uuid
(
59
eff8b9
-
938
c
-
4
a26
-
82
f2
-
95
cb84cdc837
),
local
]
interface
IMediaBuffer
:
IUnknown
{
HRESULT
SetLength
(
DWORD
cbLength
)
;
HRESULT
GetMaxLength
(
[
out
]
DWORD
*
pcbMaxLength
)
;
HRESULT
GetBufferAndLength
(
[
out
]
BYTE
**
ppBuffer
,
[
out
]
DWORD
*
pcbLength
)
;
}
typedef
struct
_DMO_OUTPUT_DATA_BUFFER
{
IMediaBuffer
*
pBuffer
;
DWORD
dwStatus
;
REFERENCE_TIME
rtTimestamp
;
REFERENCE_TIME
rtTimelength
;
}
DMO_OUTPUT_DATA_BUFFER
,
*
PDMO_OUTPUT_DATA_BUFFER
;
enum
_DMO_INPLACE_PROCESS_FLAGS
{
DMO_INPLACE_NORMAL
=
0
x00000000
,
DMO_INPLACE_ZERO
=
0
x00000001
}
;
/*****************************************************************************
*
IMediaObject
interface
*/
[
object
,
uuid
(
d8ad0f58
-
5494
-
4102
-
97
c5
-
ec798e59bcf4
),
local
]
interface
IMediaObject
:
IUnknown
{
HRESULT
GetStreamCount
(
[
out
]
DWORD
*
pcInputStreams
,
[
out
]
DWORD
*
pcOutputStreams
)
;
HRESULT
GetInputStreamInfo
(
DWORD
dwInputStreamIndex
,
[
out
]
DWORD
*
pdwFlags
)
;
HRESULT
GetOutputStreamInfo
(
DWORD
dwOutputStreamIndex
,
[
out
]
DWORD
*
pdwFlags
)
;
HRESULT
GetInputType
(
DWORD
dwInputStreamIndex
,
DWORD
dwTypeIndex
,
[
out
]
DMO_MEDIA_TYPE
*
pmt
)
;
HRESULT
GetOutputType
(
DWORD
dwOutputStreamIndex
,
DWORD
dwTypeIndex
,
[
out
]
DMO_MEDIA_TYPE
*
pmt
)
;
HRESULT
SetInputType
(
DWORD
dwInputStreamIndex
,
[
in
]
const
DMO_MEDIA_TYPE
*
pmt
,
DWORD
dwFlags
)
;
HRESULT
SetOutputType
(
DWORD
dwOutputStreamIndex
,
[
in
]
const
DMO_MEDIA_TYPE
*
pmt
,
DWORD
dwFlags
)
;
HRESULT
GetInputCurrentType
(
DWORD
dwInputStreamIndex
,
[
out
]
DMO_MEDIA_TYPE
*
pmt
)
;
HRESULT
GetOutputCurrentType
(
DWORD
dwOutputStreamIndex
,
[
out
]
DMO_MEDIA_TYPE
*
pmt
)
;
HRESULT
GetInputSizeInfo
(
DWORD
dwInputStreamIndex
,
[
out
]
DWORD
*
pcbSize
,
[
out
]
DWORD
*
pcbMaxLookahead
,
[
out
]
DWORD
*
pcbAlignment
)
;
HRESULT
GetOutputSizeInfo
(
DWORD
dwOutputStreamIndex
,
[
out
]
DWORD
*
pcbSize
,
[
out
]
DWORD
*
pcbAlignment
)
;
HRESULT
GetInputMaxLatency
(
DWORD
dwInputStreamIndex
,
[
out
]
REFERENCE_TIME
*
prtMaxLatency
)
;
HRESULT
SetInputMaxLatency
(
DWORD
dwInputStreamIndex
,
REFERENCE_TIME
rtMaxLatency
)
;
HRESULT
Flush
()
;
HRESULT
Discontinuity
(
DWORD
dwInputStreamIndex
)
;
HRESULT
AllocateStreamingResources
()
;
HRESULT
FreeStreamingResources
()
;
HRESULT
GetInputStatus
(
DWORD
dwInputStreamIndex
,
[
out
]
DWORD
*
dwFlags
)
;
HRESULT
ProcessInput
(
DWORD
dwInputStreamIndex
,
IMediaBuffer
*
pBuffer
,
DWORD
dwFlags
,
REFERENCE_TIME
rtTimestamp
,
REFERENCE_TIME
rtTimelength
)
;
HRESULT
ProcessOutput
(
DWORD
dwFlags
,
DWORD
cOutputBufferCount
,
[
in
,
out
]
DMO_OUTPUT_DATA_BUFFER
*
pOutputBuffers
,
[
out
]
DWORD
*
pdwStatus
)
;
HRESULT
Lock
(
LONG
bLock
)
;
}
;
/*****************************************************************************
*
IMediaObjectInPlace
interface
*/
[
object
,
uuid
(
651b9
ad0
-
0
fc7
-
4
aa9
-
9538
-
d89931010741
),
local
]
interface
IMediaObjectInPlace
:
IUnknown
{
HRESULT
Process
(
[
in
]
ULONG
ulSize
,
[
in
,
out
]
BYTE
*
pData
,
[
in
]
REFERENCE_TIME
refTimeStart
,
[
in
]
DWORD
dwFlags
)
;
HRESULT
Clone
(
[
out
]
IMediaObjectInPlace
**
ppMediaObject
)
;
HRESULT
GetLatency
(
[
out
]
REFERENCE_TIME
*
pLatencyTime
)
;
}
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