Some checks failed
build / build (push) Failing after 1m41s
swscale aligns the RGBA linesize to a SIMD boundary, so any video whose width*4 isn't a multiple of the alignment (e.g. 1674-wide → 6720 B/row vs 6696) yields a padded plane larger than width*height*4. The old copy path tripped a `need > expected → skip` guard and dropped every video frame, leaving a black screen while audio (independent path) still played. Read Frame.imageStride and strip the row padding with a row-by-row memCopy into a tightly-packed slot (width*height*4), matching the texture's expected size. Falls back to deriving the stride from buffer size when the field is absent. Single-shot memCopy retained when stride == rowBytes (aligned widths). Co-Authored-By: Claude Opus 4 <noreply@anthropic.com>
17 lines
457 B
Properties
17 lines
457 B
Properties
org.gradle.jvmargs=-Xmx2G
|
|
org.gradle.parallel=true
|
|
# Config cache disabled — new loom + IntelliJ aren't fully compatible yet
|
|
org.gradle.configuration-cache=false
|
|
|
|
# Mod
|
|
mod_id=video_player
|
|
mod_version=0.4.33
|
|
maven_group=com.ejclaw.videoplayer
|
|
archives_base_name=video_player
|
|
|
|
# Minecraft / Fabric (26.1.2 — single target, intermediary/Yarn retired)
|
|
minecraft_version=26.1.2
|
|
loader_version=0.19.2
|
|
loom_version=1.16-SNAPSHOT
|
|
fabric_version=0.149.0+26.1.2
|