Nikolay Sivov (@nsivov) commented about dlls/mfreadwrite/writer.c:
hr = sink_writer_get_service(writer->sink, service, riid, object); else if ((stream = sink_writer_get_stream(writer, index))) {
if (stream->encoder)
hr = sink_writer_get_service(stream->encoder, service, riid, object);
if ((list_entry = list_head(&stream->transforms)))
{
/* FIXME: Which transform should we use here if there are more than one? */
hr = sink_writer_get_service(LIST_ENTRY(list_entry, struct transform_entry, entry)->transform,
service, riid, object);
}
We should use encoder.