[PATCH v2 15/17] winegstreamer: Implement ::Get(Input/Output)StreamInfo for color conversion transform.
Derek Lesho
dlesho at codeweavers.com
Fri Dec 4 10:11:56 CST 2020
Signed-off-by: Derek Lesho <dlesho at codeweavers.com>
---
v2:
- Set MFT_OUTPUT_STREAM_WHOLE_SAMPLES on output stream info.
- Set cbSize.
---
dlls/winegstreamer/colorconvert.c | 26 ++++++++++++++++++++++----
1 file changed, 22 insertions(+), 4 deletions(-)
diff --git a/dlls/winegstreamer/colorconvert.c b/dlls/winegstreamer/colorconvert.c
index 8272beaac83..a53cb8a099c 100644
--- a/dlls/winegstreamer/colorconvert.c
+++ b/dlls/winegstreamer/colorconvert.c
@@ -138,16 +138,34 @@ static HRESULT WINAPI color_converter_GetStreamIDs(IMFTransform *iface, DWORD in
static HRESULT WINAPI color_converter_GetInputStreamInfo(IMFTransform *iface, DWORD id, MFT_INPUT_STREAM_INFO *info)
{
- FIXME("%p %u %p.\n", iface, id, info);
+ TRACE("%p %u %p.\n", iface, id, info);
- return E_NOTIMPL;
+ if (id != 0)
+ return MF_E_INVALIDSTREAMNUMBER;
+
+ info->dwFlags = MFT_INPUT_STREAM_WHOLE_SAMPLES | MFT_INPUT_STREAM_DOES_NOT_ADDREF;
+ info->cbMaxLookahead = 0;
+ info->cbAlignment = 0;
+ info->hnsMaxLatency = 0;
+ /* TODO: this can be calculated using MFCalculateImageSize */
+ info->cbSize = 0;
+
+ return S_OK;
}
static HRESULT WINAPI color_converter_GetOutputStreamInfo(IMFTransform *iface, DWORD id, MFT_OUTPUT_STREAM_INFO *info)
{
- FIXME("%p %u %p.\n", iface, id, info);
+ TRACE("%p %u %p.\n", iface, id, info);
- return E_NOTIMPL;
+ if (id != 0)
+ return MF_E_INVALIDSTREAMNUMBER;
+
+ info->dwFlags = MFT_OUTPUT_STREAM_PROVIDES_SAMPLES | MFT_OUTPUT_STREAM_WHOLE_SAMPLES;
+ info->cbAlignment = 0;
+ /* TODO: this can be calculated using MFCalculateImageSize */
+ info->cbSize = 0;
+
+ return S_OK;
}
static HRESULT WINAPI color_converter_GetAttributes(IMFTransform *iface, IMFAttributes **attributes)
--
2.29.2
More information about the wine-devel
mailing list