Re: [PATCH v2 0/3] MR10298: mfreadwrite: Implement sample encoding.
Nikolay Sivov (@nsivov) commented about dlls/mfreadwrite/writer.c:
+ HRESULT hr = S_OK; + DWORD status; + + while (SUCCEEDED(hr)) + { + memset(&output_buffer, 0, sizeof(output_buffer)); + if (FAILED(hr = allocate_transform_output(transform, &output_buffer.pSample))) + break; + + if (SUCCEEDED(hr = IMFTransform_ProcessOutput(transform, 0, 1, &output_buffer, &status))) + { + if (next_transform) + hr = stream_encode_sample(stream, output_buffer.pSample, next_transform, NULL); + else + hr = stream_queue_sample(stream, output_buffer.pSample); + } This one is confusing. Why would be do encode_sample() more than once? Is it possible to have multiple encoders one after another? Or is the helper name simply misleading and it means "process" in general, instead of "encode"?
What is the idea behind next_transform? It looks like this code allows two transforms at maximum, is there a limit to this chain on Windows? -- https://gitlab.winehq.org/wine/wine/-/merge_requests/10298#note_135654
participants (1)
-
Nikolay Sivov (@nsivov)