Commit db080b0c authored by Nikolay Sivov's avatar Nikolay Sivov Committed by Alexandre Julliard

include: Add some more MF reader/writer API definitions.

parent 3e7a8047
......@@ -46,6 +46,13 @@ typedef [v1_enum] enum MF_SOURCE_READER_FLAG
MF_SOURCE_READERF_ALLEFFECTSREMOVED = 0x00000200,
} MF_SOURCE_READER_FLAG;
enum
{
MF_SINK_WRITER_INVALID_STREAM_INDEX = 0xffffffff,
MF_SINK_WRITER_ALL_STREAMS = 0xfffffffe,
MF_SINK_WRITER_MEDIASINK = 0xffffffff,
};
typedef struct _MF_SINK_WRITER_STATISTICS
{
DWORD cb;
......@@ -116,6 +123,20 @@ interface IMFSourceReaderCallback : IUnknown
[in] IMFMediaEvent *event);
}
[
object,
uuid(cf839fe6-8c2a-4dd2-b6ea-c22d6961af05),
local
]
interface IMFSourceReaderCallback2 : IMFSourceReaderCallback
{
HRESULT OnTransformChange();
HRESULT OnStreamError(
[in] DWORD stream_index,
[in] HRESULT status);
}
interface IMFMediaSource;
[
......@@ -140,6 +161,32 @@ interface IMFSourceReader : IUnknown
[
object,
uuid(7b981cf0-560e-4116-9875-b099895f23d7),
local
]
interface IMFSourceReaderEx : IMFSourceReader
{
HRESULT SetNativeMediaType(
[in] DWORD stream_index,
[in] IMFMediaType *media_type,
[out] DWORD *stream_flags);
HRESULT AddTransformForStream(
[in] DWORD stream_index,
[in] IUnknown *transform);
HRESULT RemoveAllTransformsForStream(
[in] DWORD stream_index);
HRESULT GetTransformForStream(
[in] DWORD stream_index,
[in] DWORD transform_index,
[out] GUID *category,
[out] IMFTransform **transform);
}
[
object,
uuid(3137f1cd-fe5e-4805-a5d8-fb477448cb3d),
local
]
......@@ -171,6 +218,52 @@ interface IMFSinkWriterEx : IMFSinkWriter
[
object,
uuid(17c3779e-3cde-4ede-8c60-3899f5f53ad6),
local
]
interface IMFSinkWriterEncoderConfig : IUnknown
{
HRESULT SetTargetMediaType(
[in] DWORD stream_index,
[in] IMFMediaType *media_type,
[in] IMFAttributes *encoding_parameters);
HRESULT PlaceEncodingParameters(
[in] DWORD stream_index,
[in] IMFAttributes *encoding_parameters);
}
[
object,
uuid(666f76de-33d2-41b9-a458-29ed0a972c58),
local
]
interface IMFSinkWriterCallback : IUnknown
{
HRESULT OnFinalize(
[in] HRESULT status);
HRESULT OnMarker(
[in] DWORD stream_index,
[in] void *context);
}
[
object,
uuid(2456bd58-c067-4513-84fe-8d0c88ffdc61),
local
]
interface IMFSinkWriterCallback2 : IMFSinkWriterCallback
{
HRESULT OnTransformChange();
HRESULT OnStreamError(
[in] DWORD stream_index,
[in] HRESULT status);
}
[
object,
uuid(e7fe2e12-661c-40da-92f9-4f002ab67627),
local
]
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment