Description
Video playback seems to be broken when a video not fitting "standard" dimensions is played. It results in a diagonally stretched/wrapping picture with misaligned YUV channels.
This might only be an issue on Linux/with YUV videos, as I'm unable to test on another platform at the moment, however, any video that had non-standard dimensions would end up broken the same way.
For instance, a 16:9 video with dimensions 480x270 will get displayed in a corrupted fashion.
As an aside, videos without audio tracks would refuse to start playing. I assume this is the expected behaviour (even if unspecified in the documentation), so I haven't created a ticket for it.
Steps To Reproduce
note regarding command arguments : "-f lavfi -i anullsrc [...] -shortest" inserts an empty audio track in the video file to allow playback in GMS. "-loop 1" is necessary for the image to get displayed.
- load and draw the video by adding it to the included files folder and building the game
if done correctly, the image will be stretched diagonally and the YUV channels will be misaligned. The 638x378 resolution was chosen as it's very close to a common aspect ratio (4:3 480p), which makes it easier to see the display corruption.
Which version of GameMaker are you reporting this issue for?
IDE v2026.0.0.16 Runtime v2026.0.0.23
Which operating system(s) are you seeing the problem on?
Linux Debian GNU/Linux 13 (trixie) kernel 6.12.107.13
Which platform(s) are you seeing the problem on?
Ubuntu
Attached Files
34ecc455-1130-4455-8bcf-511440bad935
Description
Video playback seems to be broken when a video not fitting "standard" dimensions is played. It results in a diagonally stretched/wrapping picture with misaligned YUV channels.
This might only be an issue on Linux/with YUV videos, as I'm unable to test on another platform at the moment, however, any video that had non-standard dimensions would end up broken the same way.
For instance, a 16:9 video with dimensions 480x270 will get displayed in a corrupted fashion.
As an aside, videos without audio tracks would refuse to start playing. I assume this is the expected behaviour (even if unspecified in the documentation), so I haven't created a ticket for it.
Steps To Reproduce
create a new GMS project with one room, one shader and one object.
use the "video playback" tutorials from the official documentation to display a YUV video with a Create and Draw event as well as the YUV shader ( https://manual.gamemaker.io/lts/en/#t=GameMaker_Language%2FGML_Reference%2FDrawing%2FVideos%2FYUV_Videos.htm )
create a video with a non-standard definition. For this, I'll use FFMPEG.
-> download an image of any size, for instance : https://assets.gamemaker.io/testimonial_characters_95115a6a77.png
-> turn it into a short video with the following ffmpeg command :
ffmpeg -y -f lavfi -i anullsrc -loop 1 -i myimage.png -vf "scale=638:378" -t 5s -c:a aac -c:v h264 video.mp4
note regarding command arguments : "-f lavfi -i anullsrc [...] -shortest" inserts an empty audio track in the video file to allow playback in GMS. "-loop 1" is necessary for the image to get displayed.
if done correctly, the image will be stretched diagonally and the YUV channels will be misaligned. The 638x378 resolution was chosen as it's very close to a common aspect ratio (4:3 480p), which makes it easier to see the display corruption.
Which version of GameMaker are you reporting this issue for?
IDE v2026.0.0.16 Runtime v2026.0.0.23
Which operating system(s) are you seeing the problem on?
Linux Debian GNU/Linux 13 (trixie) kernel 6.12.107.13
Which platform(s) are you seeing the problem on?
Ubuntu
Attached Files
34ecc455-1130-4455-8bcf-511440bad935