[PATCH v3 1/5] winegstreamer: Implement H264 decoder GetInputStreamInfo.
Rémi Bernon
rbernon at codeweavers.com
Wed Mar 23 10:46:05 CDT 2022
On 3/23/22 06:10, Nikolay Sivov wrote:
>
>
> On 3/21/22 23:11, Rémi Bernon wrote:
>> static HRESULT WINAPI transform_GetInputStreamInfo(IMFTransform
>> *iface, DWORD id, MFT_INPUT_STREAM_INFO *info)
>> {
>> - FIXME("iface %p, id %#lx, info %p stub!\n", iface, id, info);
>> - return E_NOTIMPL;
>> + struct h264_decoder *decoder = impl_from_IMFTransform(iface);
>> +
>> + TRACE("iface %p, id %#lx, info %p.\n", iface, id, info);
>> +
>> + if (!decoder->input_type)
>> + return MF_E_TRANSFORM_TYPE_NOT_SET;
>> +
>> + info->hnsMaxLatency = 0;
>> + info->dwFlags = MFT_INPUT_STREAM_WHOLE_SAMPLES |
>> MFT_INPUT_STREAM_SINGLE_SAMPLE_PER_BUFFER |
>> MFT_INPUT_STREAM_FIXED_SAMPLE_SIZE;
>> + info->cbSize = 0x1000;
>> + info->cbMaxLookahead = 0;
>> + info->cbAlignment = 0;
>> +
>> + return S_OK;
>> }
>> static HRESULT WINAPI transform_GetOutputStreamInfo(IMFTransform
>> *iface, DWORD id, MFT_OUTPUT_STREAM_INFO *info)
>
> Is it really using static size here, regardless of input stream
> parameters? Like frame size for example? Not sure how useful this field
> is in a first place for decoder input, maybe they set it to be non-zero.
>
Yeah I don't think it's really useful, and I'm not even sure it's
actually required. Input stream parameters is really just the codec
subtype, I believe H264 streams have their metadata embedded in the
first packets.
--
Rémi Bernon <rbernon at codeweavers.com>
More information about the wine-devel
mailing list