Repository navigation
Conversation
|
Hello, Is this done using LLM? in what percentage? |
|
Yes, the implementation was written with an LLM; I tested the resulting build on macOS. I don’t have a measured percentage to give you. The mutex was added to protect the ring buffer and its counters shared between the playback thread and the audio callback, including reads that previously happened outside SDL_LockAudio(). I haven’t benchmarked this on low-spec hardware, so I can’t claim the locking has no playback impact. The choice of synchronization needs a closer look before merging. The extra texture padding clear was added while investigating a bright strip at the edge of a movie. I later checked the original game on Windows and found the same strip in the source video. That leaves this addition without a demonstrated rendering bug to fix; I’ll remove it and retain the original right-edge clearing. Playback was tested on macOS with the base game and Emperor’s Testament, including intro, pre-mission and exit movies. I haven’t tested this modified player on Windows or Linux; the Windows comparison above used the original game. |
|
The extra bottom-row clearing and opaque padding fill have been removed from this update; the original right-edge clearing is retained. I tested the updated build on macOS and Windows with native D3D9 on Windows. Movie playback worked correctly in the videos I checked after the removal. Low-spec performance and Linux playback are still untested. The mutex implementation is unchanged. |
|
The fork’s Linux build failed while cloning FFmpeg: I applied the same URL-only change as #200 to this branch, using the FFmpeg GitHub mirror for the Linux, macOS and Windows MSYS downloads. The |
|
I tested Perimeter and Emperor's Testament on macOS with the original decoder and player, without #202 or #203. All tested movies play correctly. I also tested windowed mode and switched between applications several times without problems. These changes were added while investigating the playback issue, but I hadn't tested the build without them before opening the PR. I haven't demonstrated that they are needed to fix the reported problem, so I'll close this PR too. Sorry for taking up your review time. |
The movie audio buffer could mistake a full buffer for an empty one, and playback paused on focus loss without automatically resuming. Buffer access is now synchronized, occupancy is tracked explicitly, and playback resumes when focus returns.
CI downloads FFmpeg from its GitHub mirror after git.ffmpeg.org failed to resolve in a fork build. This repeats the URL-only change from #200; the n8.0 tag and build options are unchanged.