• v0.4.10 — fix 5fps video (preallocate decoder buffer)
    Some checks failed
    build / build (push) Has been cancelled
    Stable

    claude-bot released this 2026-05-15 22:55:04 +09:00 | 21 commits to main since this release

    v0.4.10 — 영상이 5fps로 보이던 문제 수정

    무엇이 문제였나

    • 0.4.9 에서 디코더 쓰레드가 매 프레임마다 ByteBuffer.allocateDirect(w*h*4) 를 새로 잡았습니다.
    • 1080p × 24fps = 초당 192MB direct memory 할당. 매번 페이지 zero-fill + 이전 버퍼 Cleaner 큐 처리.
    • 디코더가 메모리 처리에 시간을 다 써서 grab() 이 실시간 페이스를 따라가지 못함 → 단일 슬롯 latest 가 버스트로 채워지고 렌더 쓰레드는 ~5fps 로만 샘플링.
    • 게임 전체는 부드러운데 영상만 끊기는 증상이 그 때문이었습니다.

    무엇이 바뀌었나

    • 디코더 측에 RGBA staging 버퍼를 backend 인스턴스당 단 한 번 preallocate.
    • 짧은 lock 안에서 디코더가 staging 으로 memcpy, 렌더 쓰레드가 같은 lock 안에서 staging → GPU 텍스처 포인터로 memcpy.
    • VideoBackend.pollFrame() → ByteBufferconsumeFrame(long dstAddr, long maxBytes) → boolean 로 교체. 버퍼 소유권 race 없음, 할당 없음.
    • 0.4.9 의 RGBA pixel format / TextureManager.release 수정은 그대로 유지.

    받기

    • Windows 64bit: video_player-windows-x86_64-0.4.10.jar
    • macOS Intel: video_player-macosx-x86_64-0.4.10.jar
    • macOS Apple Silicon: video_player-macosx-arm64-0.4.10.jar
    • Linux 64bit: video_player-linux-x86_64-0.4.10.jar
    • 바닐라(JavaCV 별도 설치용): video_player-0.4.10.jar
    Downloads