mfplat: Implement MFCreateMFByteStreamWrapper().

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
stable
Nikolay Sivov 2019-03-25 10:43:01 +03:00 committed by Alexandre Julliard
parent 65e369444d
commit 10338fc7e8
4 changed files with 1089 additions and 0 deletions

File diff suppressed because it is too large Load Diff

View File

@ -47,6 +47,7 @@
@ stub MFCreateLegacyMediaBufferOnMFMediaBuffer
@ stdcall MFCreateMFByteStreamOnStream(ptr ptr)
@ stdcall MFCreateMFByteStreamOnStreamEx(ptr ptr)
@ stdcall MFCreateMFByteStreamWrapper(ptr ptr)
@ stub MFCreateMFVideoFormatFromMFMediaType
@ stub MFCreateMediaBufferWrapper
@ stdcall MFCreateMediaEvent(long ptr long ptr ptr)

View File

@ -253,6 +253,24 @@ interface IMFByteStreamCacheControl : IUnknown
HRESULT StopBackgroundTransfer();
}
[
object,
uuid(64976bfa-fb61-4041-9069-8c9a5f659beb),
]
interface IMFByteStreamTimeSeek : IUnknown
{
HRESULT IsTimeSeekSupported(
[out] BOOL *is_supported);
HRESULT TimeSeek(
[in] QWORD position);
HRESULT GetTimeSeekResult(
[out] QWORD *start_time,
[out] QWORD *stop_time,
[out] QWORD *duration);
}
[
object,
uuid(6d4c7b74-52a0-4bb7-b0db-55f29f47a668),

View File

@ -644,6 +644,23 @@ typedef enum {
MF_FILEFLAGS_ALLOW_WRITE_SHARING = 0x00000002
} MF_FILE_FLAGS;
[
object,
uuid(8feed468-6f7e-440d-869a-49bdd283ad0d),
]
interface IMFSampleOutputStream : IUnknown
{
HRESULT BeginWriteSample(
[in] IMFSample *sample,
[in] IMFAsyncCallback *callback,
[in] IUnknown *state);
HRESULT EndWriteSample(
[in] IMFAsyncResult *result);
HRESULT Close();
}
[
object,
uuid(5bc8a76b-869a-46a3-9b03-fa218a66aebe)