https://bugs.winehq.org/show_bug.cgi?id=48315
Bug ID: 48315 Summary: RPG Tkool (RPG Maker) 2k/2k3/XP: MP3 playback doesn't loop Product: Wine Version: 5.0-rc1 Hardware: x86-64 URL: https://www.vector.co.jp/soft/dl/win95/game/se509140.h tml OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: winegstreamer Assignee: wine-bugs@winehq.org Reporter: kakurasan@gmail.com Distribution: Ubuntu
Created attachment 66026 --> https://bugs.winehq.org/attachment.cgi?id=66026 A short (1 second) MP3 file for testing
Expected behavior: When it reaches end of file, it plays the same file again.
Actual behavior: When it reaches end of file, playback stops. * 2k/2k3: Crashes with OLE error dialog * XP: Playback stops but doesn't crash
Steps to reproduce (RPG2k game): 1. Download "Mystic Star" from https://www.vector.co.jp/soft/dl/win95/game/se509140.html 2. Set locale to "ja_JP.UTF-8" 3. unar MysticStar.zip 4. Run RPG_RT.exe 5. Press "Enter" (Start new game) 6. Wait until it reaches end of "MysticStar/Music/NR_brave2.mp3" file
https://bugs.winehq.org/show_bug.cgi?id=48315
--- Comment #1 from kakurasan@gmail.com --- Comment on attachment 66026 --> https://bugs.winehq.org/attachment.cgi?id=66026 A short (1 second) MP3 file for testing
Replace "MysticStar/Music/NR_brave2.mp3" with this file to reduce the time for "step 6".
https://bugs.winehq.org/show_bug.cgi?id=48315
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |z.figura12@gmail.com
--- Comment #2 from Zebediah Figura z.figura12@gmail.com --- When I run the program, I get an error stating "ファイル 透明 は開けません", which as far as I can tell means it can't find a file. I'm guessing just setting LC_ALL isn't enough? Do the files in the archive need to be extracted in a certain way?
https://bugs.winehq.org/show_bug.cgi?id=48315
--- Comment #3 from kakurasan@gmail.com ---
I'm guessing just setting LC_ALL isn't enough?
If "ja_JP.UTF-8" locale is not installed yet, it needs to be generated. (Execute "sudo dpkg-reconfigure locales" on Ubuntu)
Do the files in the archive need to be extracted in a certain way?
Yes. Unfortunately the archive contains some Japanese-named files, and "unar" (or "unar -e cp932") or patched unzip ("unzip -O cp932", Ubuntu package is already patched) is needed to extract them properly.
Here is another one (RPGXP): 1. Download "sound_tester.exe" from http://2d6.parasite.jp/game/sound_tester/ 2. Execute "cabextract sound_tester.exe" 3. Put MP3 file(s) into "Audio/BGM/" 4. Execute "winetricks fakejapanese_ipamona" (Needed to fix invisible text) 5. Run Game.exe 6. Choose MP3 file and press Enter to play 7. Wait until it reaches end of file Unrelated note: It cannot play MIDI files without "winetricks gmdls dmusic dmsynth dmime dmband dsound dsdmo".
When I use Wine 4.0.3 without winegstreamer, playback loops. But when winegstreamer is enabled, playback doesn't loop.
https://bugs.winehq.org/show_bug.cgi?id=48315
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Ever confirmed|0 |1
--- Comment #4 from Zebediah Figura z.figura12@gmail.com --- Thanks. The problem is that we don't have the stream duration by the time we query for it with gst_pad_query_duration(), so later IMediaSeeking::SetPositions() quietly fails.
We don't really have a reason to abort if there's no duration set by the time someone calls a seeking method, as long as that method isn't GetDuration() or GetStopPosition(). So this application would be happy with just removing that message. On the other hand, though, we may run into applications that expect a duration as soon as the filter is connected or running.
As far as I can tell GStreamer gives us no canonical way to wait for it—there's the "duration-changed" message, but not all elements send those. We might have to end up polling for it.
https://bugs.winehq.org/show_bug.cgi?id=48315
Zebediah Figura z.figura12@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Regression SHA1| |40a4c782b7f77534535dfa7bb2a | |97049026fef47 Keywords| |regression
https://bugs.winehq.org/show_bug.cgi?id=48315
Rafał Mużyło galtgendo@o2.pl changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |galtgendo@o2.pl
--- Comment #5 from Rafał Mużyło galtgendo@o2.pl --- For completion sake: it definitely also affects VXAce; most likely it affects VX too, but I don't have anything to test with - ogg files aren't affected.
https://bugs.winehq.org/show_bug.cgi?id=48315
kakurasan@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Summary|RPG Tkool (RPG Maker) |RPG Tkool (RPG Maker) |2k/2k3/XP: MP3 playback |2k/2k3/XP/VX/VX Ace: MP3 |doesn't loop |playback doesn't loop
--- Comment #6 from kakurasan@gmail.com --- (In reply to Rafał Mużyło from comment #5)
For completion sake: it definitely also affects VXAce; most likely it affects VX too, but I don't have anything to test with - ogg files aren't affected.
Tested. VX and VX Ace have the same issue: * VX: https://www.vector.co.jp/soft/dl/winnt/game/se467666.html * VX Ace: https://www.vector.co.jp/soft/dl/winnt/game/se501700.html
https://bugs.winehq.org/show_bug.cgi?id=48315
kakurasan@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Resolution|--- |FIXED Status|NEW |RESOLVED Fixed by SHA1| |7987e84229fbfc5397e6143c055 | |b5e97df6b43ae
--- Comment #7 from kakurasan@gmail.com --- Fixed by https://source.winehq.org/git/wine.git/commitdiff/7987e84229fbfc5397e6143c05...
https://bugs.winehq.org/show_bug.cgi?id=48315
--- Comment #8 from Rafał Mużyło galtgendo@o2.pl --- ...yet, before this bug gets closed, I'd like to point out something, that seems to be a systemic problem, not simply a hardware limitation.
It seems like just about every time the file is in the process of looping, 'fixme:quartz:DSoundRender_SendSampleData Sample dropped' gets hit...
Also, the sound seems to 'choke and stumble' (for a lack of a better description) at that point.
Is it possible, that either the last buffer submitted tends to be short because there's not enough samples or the the way the looping is implemented now adds a significant delay for going to the start of the loop ?
https://bugs.winehq.org/show_bug.cgi?id=48315
--- Comment #9 from Rafał Mużyło galtgendo@o2.pl --- ...so, 'choke and stumble' seems to be song dependent, probably some are simply bad picks for looping, but that fixme is consistent.
https://bugs.winehq.org/show_bug.cgi?id=48315
--- Comment #10 from Zebediah Figura z.figura12@gmail.com --- The DirectSound renderer has its own problems. I don't know exactly what's going wrong here, but suffice it to say that it could be one of many things; the filter is basically held together by spit and tape.
https://bugs.winehq.org/show_bug.cgi?id=48315
Alexandre Julliard julliard@winehq.org changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |CLOSED
--- Comment #11 from Alexandre Julliard julliard@winehq.org --- Closing bugs fixed in 5.4.