Closed DerGitRob closed 1 year ago
do you have a native (non-flatpak) USDX somewhere and do they work there? It's fine if you just use a Windows portable for this. if they work there, it has to be something specifc to the flatpak (which I know nothing about).
if they also don't work there, I'll need the actual video files. If you can't link them here, either PM or link them on Discord, or send me an email to my github commit email.
This issue consists of two parts. We have FFmpeg inside the Flatpak environment rejecting the video and we have USDX crashing when FFmpeg rejects a video.
$000000000050B3AB is here. I guess fCurrentVideo is nil.
The -1094995529 error code is AVERROR_INVALIDDATA.
What does ffprobe say about All 4 One - I Swear [VD#0].mpg?
Duration: 00:04:19.86, start: 0.188411, bitrate: 1262 kb/s Stream #0:0[0x1c0]: Audio: mp3, 44100 Hz, stereo, fltp, 128 kb/s Stream #0:1[0x1e0]: Video: mpeg1video, yuv420p(tv), 352x240 [SAR 200:219 DAR 880:657], 1120 kb/s, 29.97 fps, 29.97 tbr, 90k tbn
ein weiteres Beispiel ist Duration: 00:03:45.88, start: 0.000000, bitrate: 707 kb/s Stream #0:0: Video: h264 (Main), yuv420p(progressive), 854x480 [SAR 1:1 DAR 427:240], 617 kb/s, 25 fps, 25 tbr, 1k tbn Stream #0:1: Audio: aac (LC), 44100 Hz, stereo, fltp, 98 kb/s
I also installed "flatpak install org.freedesktop.Platform.ffmpeg-full" but the problem remains
ffmpeg-full in runtime version 22.08 does not contain the mpegps demuxer and the mpeg1video decoder. The one in 23.08 does. I'll switch to the newer runtime with the 2023.11.0 release.
I installed that version separately, but i guessed already that this cannot be used by USDX flatpak in that way. So it's really great that you will switch to the newer runtime in the upcoming release :)
Actual behaviour
Ultrastar Deluxe crashes when opening songs that contain a video with MPG or FLV ending
Expected behaviour
Song should be played with the video
Details
terminal output $ flatpak run --branch=stable --arch=x86_64 --command=ultrastardx eu.usdx.UltraStarDeluxe Sorry, an error ocurred! Please report this error to the game-developers. Also check the Error.log file in the game folder. Stacktrace: Exception class: EAccessViolation Message: Access violation $000000000050B3AB
USDX error.log (last entries) INFO: VideoStreamIndex : 0 [TVideoPlayback_ffmpeg.Open] INFO: Using h264 codec [TVideoPlayback_ffmpeg.Open] INFO: Framerate: 30fps [TVideoPlayback_ffmpeg.Open] INFO: Using decoder FFmpeg_Decoder for "/home/.ultrastardx/songs/Ultrastar 90s (Radio Pop)/All 4 One - I Swear [VIDEO]/All 4 One - I Swear.mp3" [TAudioPlaybackBase.OpenDecodeStream] ERROR: Failed to open file "/home/.ultrastardx/songs/Ultrastar 90s (Radio Pop)/All 4 One - I Swear [VIDEO]/All 4 One - I Swear [VD#0].mpg" (::-1094995529) STATUS: Begin [OnShow] ERROR: Failed to open file "/home/.ultrastardx/songs/Ultrastar 90s (Radio Pop)/All 4 One - I Swear [VIDEO]/All 4 One - I Swear [VD#0].mpg" (::-1094995529) STATUS: Closing DB file [Finalization] INFO: TDataBaseSystem.Free [TDataBaseSystem.Destroy] STATUS: Finalize Media [Finalization] STATUS: Uninitialize 3D [Finalization] STATUS: Kill Fonts [UnloadFontTextures] STATUS: Finalize SDL [Finalization] STATUS: Finalize Log [Finalization]
The video is being played outside USDX with no problems.