Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com>
--
v3: d3d10/effect: Add support for 'dot' instruction.
d3d10/effect: Add support for 'floor' instruction.
d3d10/effect: Add support for 'ceil' instruction.
d3d10/tests: Compact returned arrays checks.
d3d10/effect: Add support for 'buge'/'bult' instructions.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3987
On Mon Oct 2 19:06:41 2023 +0000, YuriK7 wrote:
> We tried to add the codec by adding
> --enable-decoder=mpegvideo,--enable-decoder=mpeg1video,--enable-decoder=mpeg2video
> and it still show the color bars... does it also need flags for the
> demuxer and parser in order to work ?
> In your gstkrkr code you say that "in GStreamer, decoding a mpeg video
> requires three elements: mpegpsdemux ! mpegvideoparse !
> avdec_mpeg2video" are those enabled by default if the ffmpeg flags are
> good ? We should enable them inside the GST_BAD_MESON_ARGS ?
> avdec_mpeg2video seems to be in the libav plugin.
> We made those changes to https://github.com/GloriousEggroll/proton-ge-custom/blob/master/Makefile.in
mpegpsdemux is part of libgstmpegpsdemux.so. It's unrelated to ffmpeg, and it's present in Glorious-Eggroll already, nothing to do here. (However, it's absent from upstream Proton.)
mpegvideoparse is in libgstvideoparsersbad.so. Likewise, this is part of GE but not Proton, and is not part of ffmpeg.
avdec_mpeg2video is in libgstlibav.so, which is part of Proton - but the exact set of decoders it offers depends on which ffmpeg you have installed, and how it's configured.
Did you rebuild ffmpeg and copy that into an existing Wine or Proton installation, without changing anything else? If yes, GStreamer probably didn't notice the update. `touch` libgstlibav.so, or delete your GStreamer plugin cache (probably at ~/.cache/gstreamer-1.0/registry.x86_64.bin or ~/steam/steamapps/compatdata/1234560/gstreamer-1.0/registry.x86_64.bin). You can also grep that registry file for avdec_mpeg2video: if that string is absent, then there's something wrong with your GStreamer or your ffmpeg, but if it does exist, the problem is on Wine's side (probably in this MR). (The cache is binary, but grep telling you whether the binary file matches is good enough.)
Alternatively, I may simply be wrong; I've never compiled Proton, GE, or ffmpeg. Good call on trying mpeg2video; if it exists, it's probably better than plain mpegvideo.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3938#note_47409
On Sun Oct 1 23:56:05 2023 +0000, Alfred Agrell wrote:
> Yes, that is consistent with my experience. I tried Azumanga (everything
> looks good to me with this patch) and Touhou (crashes on Wine 8.17, Wine
> 8.17 with this patch, and Debian's Wine 8.0; different output before the
> crash, but they all segfault in
> SampleGrabber_ISampleGrabber_GetCurrentBuffer). Sounds like a different
> bug to me.
> The color bars are not a Wine bug; they're protonmediaconverter. It does
> that if it can't find a converted version of the media, which it can't
> if you're running it outside Steam. gstkrkr fills that exact hole.
> (gstkrkr also does a little trick to ensure ffmpeg's WMA audio decoder
> is selected instead of mediaconverter.)
We tried to add the codec by adding --enable-decoder=mpegvideo,--enable-decoder=mpeg1video,--enable-decoder=mpeg2video and it still show the color bars... does it also need flags for the demuxer and parser in order to work ?
In your gstkrkr code you say that "in GStreamer, decoding a mpeg video requires three elements: mpegpsdemux ! mpegvideoparse ! avdec_mpeg2video" are those enabled by default if the ffmpeg flags are good ? We should enable them inside the GST_BAD_MESON_ARGS ? avdec_mpeg2video seems to be in the libav plugin.
We made those changes to https://github.com/GloriousEggroll/proton-ge-custom/blob/master/Makefile.in
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3938#note_47406
--
v2: dmime: Introduce a new segment_state_create constructor.
dmime: Redirect IDirectMusicPerformance_PlaySegment to PlaySegmentEx.
dmime: Implement some segment state default values.
dmime: Get rid of the IDirectMusicSegmentState8Impl typedef.
dmime: Rename DirectMusicSegmentState8 method prefix to segment_state.
https://gitlab.winehq.org/wine/wine/-/merge_requests/3995
On Mon Oct 2 18:16:53 2023 +0000, David McFarland wrote:
> comment fixed.
> > It would be nice if at least the lower bound could be read from the
> native audio system, though I don't know how to do that
> I like this idea, but I'm not sure how to pull it off either. I guess
> the biggest downside to this implementation would be unnecessarily high latency?
> My preference would be to leave that for a separate MR.
I'm going to resolve this. Feel free to reopen if it's blocking.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/3554#note_47399