Nikolay Sivov (@nsivov) commented about dlls/winegstreamer/media_source.c:
return MF_E_SHUTDOWN;
+ /* if starting for the first time, create the streams */ + if (source->stream_count && !source->streams[0]) + { + assert(source->state == SOURCE_STOPPED); + + for (i = 0; i < source->stream_count; ++i) + { + if (FAILED(hr = media_stream_create(&source->IMFMediaSource_iface, + source->descriptors[i], source->wg_streams[i], &source->streams[i]))) + return hr; + } + free(source->wg_streams); + source->wg_streams = NULL; + }
Some sample implementation create only selected streams here. -- https://gitlab.winehq.org/wine/wine/-/merge_requests/6783#note_110889