<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent changes to Home</title><link>https://sourceforge.net/p/blackvideo-mini-player/wiki/Home/</link><description>Recent changes to Home</description><atom:link href="https://sourceforge.net/p/blackvideo-mini-player/wiki/Home/feed" rel="self"/><language>en</language><lastBuildDate>Wed, 18 Mar 2026 13:33:02 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/blackvideo-mini-player/wiki/Home/feed" rel="self" type="application/rss+xml"/><item><title>Discussion for Home page</title><link>https://sourceforge.net/p/blackvideo-mini-player/wiki/Home/?limit=25#be19</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="h-blackvideo-mini-player-v240"&gt;BlackVideo Mini Player v2.4.0&lt;/h1&gt;
&lt;p&gt;Lightweight video player built with Ada, SDL2, and FFmpeg. Works standalone,&lt;br/&gt;
via drag-and-drop, or as a right-click context menu handler on Windows.&lt;/p&gt;
&lt;p&gt;Download: &lt;a href="https://sourceforge.net/projects/blackvideo-mini-player/files/latest/download"&gt;https://sourceforge.net/projects/blackvideo-mini-player/files/latest/download&lt;/a&gt;&lt;br/&gt;
Source:   &lt;a href="https://github.com/BlackBlazent/blackvideo-mini-player" rel="nofollow"&gt;https://github.com/BlackBlazent/blackvideo-mini-player&lt;/a&gt;&lt;br/&gt;
Changes:  &lt;a href="https://github.com/BlackBlazent/blackvideo-mini-player/compare/v2.3.0...v2.4.0" rel="nofollow"&gt;https://github.com/BlackBlazent/blackvideo-mini-player/compare/v2.3.0...v2.4.0&lt;/a&gt;&lt;/p&gt;
&lt;hr/&gt;
&lt;h2 id="h-whats-new-in-v240"&gt;What's New in v2.4.0&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Welcome / Standalone mode&lt;/strong&gt;&lt;br/&gt;
Launch the player with no argument. Drag and drop a video onto the window&lt;br/&gt;
or click anywhere to open a file dialog.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Cloud LLM caption generation&lt;/strong&gt;&lt;br/&gt;
Generate timed SRT subtitles via five cloud AI providers directly from the&lt;br/&gt;
right-click menu. API keys are entered once via a secure dialog and saved&lt;br/&gt;
locally — use Ctrl+V to paste your key.&lt;/p&gt;
&lt;p&gt;Supported providers and their key sources:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Anthropic Claude   — console.anthropic.com&lt;/li&gt;
&lt;li&gt;OpenAI             — platform.openai.com&lt;/li&gt;
&lt;li&gt;Google Gemini      — aistudio.google.com&lt;/li&gt;
&lt;li&gt;DeepSeek           — platform.deepseek.com&lt;/li&gt;
&lt;li&gt;xAI Grok           — console.x.ai&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Sprite thumbnail preview&lt;/strong&gt;&lt;br/&gt;
Hover over the seek bar to see a frame popup at that position. Thumbnails&lt;br/&gt;
are extracted in the background by ffmpeg and cached between sessions.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Auto-updater&lt;/strong&gt;&lt;br/&gt;
Checks for new releases from the GitHub repository at startup. Shows an&lt;br/&gt;
update badge and download link when a newer version is available.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Whisper progress percentage&lt;/strong&gt;&lt;br/&gt;
Live progress bar and percentage shown in the control bar while caption&lt;br/&gt;
generation is running.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Hot-load video&lt;/strong&gt;&lt;br/&gt;
Open or drop a new video while another is already playing — no restart&lt;br/&gt;
required, audio re-initialises automatically.&lt;/p&gt;
&lt;hr/&gt;
&lt;h2 id="h-sample-files"&gt;Sample Files&lt;/h2&gt;
&lt;p&gt;The following SRT files were generated using the offline Whisper caption&lt;br/&gt;
feature included in this release (ggml-base model, English).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Test videos and results&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Elon Musk's Work Ethics Will Give You Goosebumps.mp4&lt;br/&gt;
    Language: English — SRT generated successfully&lt;br/&gt;
    File: samples/Elon Musk's Work Ethics Will Give You Goosebumps.mp4.srt&lt;/p&gt;
&lt;p&gt;AURORA - Cure For Me (1080p).mp4&lt;br/&gt;
    Language: English — SRT generated successfully&lt;br/&gt;
    File: samples/AURORA-Cure-For-Me_Media_K17df81RL9Y_001_1080p.mp4.srt&lt;/p&gt;
&lt;p&gt;BTS - Boy With Luv (feat. Halsey) Official MV.mp4&lt;br/&gt;
    Language: Korean — SRT not generated&lt;br/&gt;
    Reason: The ggml-base model does not reliably transcribe Korean or&lt;br/&gt;
    other non-Latin-script languages. Use ggml-large-v3 for Korean,&lt;br/&gt;
    Japanese, Arabic, and similar languages. See WHISPER_SETUP.md.&lt;/p&gt;
&lt;hr/&gt;
&lt;h2 id="h-installation"&gt;Installation&lt;/h2&gt;
&lt;ol&gt;
&lt;li&gt;Extract blackvideo-mini-player-v2.4.0.win.zip&lt;/li&gt;
&lt;li&gt;Open the build\ folder&lt;/li&gt;
&lt;li&gt;Run blackvideo-player.exe&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;To add a right-click "Open with BlackVideo Player" entry for video files,&lt;br/&gt;
run the following as Administrator:&lt;/p&gt;
&lt;p&gt;tools\context_menu\install_context_menu.bat&lt;/p&gt;
&lt;p&gt;Supported file types: .mp4 .mkv .avi .mov .wmv .webm .flv .m4v .mpg .mpeg .ts&lt;/p&gt;
&lt;p&gt;To remove the context menu entry:&lt;/p&gt;
&lt;p&gt;tools\context_menu\uninstall_context_menu.bat&lt;/p&gt;
&lt;hr/&gt;
&lt;h2 id="h-requirements"&gt;Requirements&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Windows 10 or 11 (64-bit)&lt;/li&gt;
&lt;li&gt;All DLLs in build\ must remain beside blackvideo-player.exe&lt;/li&gt;
&lt;li&gt;ffmpeg.exe on PATH or in build\ for thumbnail generation and Whisper&lt;br/&gt;
  audio extraction&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;For offline captions (Whisper):&lt;/strong&gt;&lt;br/&gt;
Place whisper-cli.exe, ggml.dll, ggml-base.dll, ggml-cpu.dll,&lt;br/&gt;
whisper.dll, and ggml-base.bin inside build\ as described in&lt;br/&gt;
WHISPER_SETUP.md.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;For cloud LLM captions:&lt;/strong&gt;&lt;br/&gt;
An API key from any supported provider. Keys are stored locally in&lt;br/&gt;
%APPDATA%\BlackVideo\keys.cfg and sent only to the provider's own&lt;br/&gt;
API endpoint.&lt;/p&gt;
&lt;hr/&gt;
&lt;h2 id="h-files-in-this-release"&gt;Files in This Release&lt;/h2&gt;
&lt;p&gt;blackvideo-mini-player-v2.4.0.win.zip   Player binary, DLLs, context menu tools&lt;br/&gt;
  prerequisites-setup.zip                  Pre-assembled lib\ and build\ for source builds&lt;br/&gt;
  RELEASE_NOTES.md                         This file&lt;br/&gt;
  WHISPER_SETUP.md                         Whisper setup and model upgrade guide&lt;br/&gt;
  samples/                                 Example SRT files generated by Whisper&lt;/p&gt;
&lt;hr/&gt;
&lt;h2 id="h-known-limitations"&gt;Known Limitations&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Subtitle rendering supports SRT only. ASS, SSA, and VTT files load but&lt;br/&gt;
  display without styling.&lt;/li&gt;
&lt;li&gt;Playback speed control cycles through values (0.5x, 1.0x, 1.5x, 2.0x)&lt;br/&gt;
  but speed change is not yet applied to the decoder pipeline.&lt;/li&gt;
&lt;li&gt;Whisper translation always outputs English regardless of source language.&lt;/li&gt;
&lt;li&gt;The ggml-base model produces unreliable results for Korean, Japanese,&lt;br/&gt;
  Arabic, and other non-Latin-script languages. Use ggml-large-v3 for&lt;br/&gt;
  those languages.&lt;/li&gt;
&lt;/ul&gt;
&lt;hr/&gt;
&lt;h2 id="h-license"&gt;License&lt;/h2&gt;
&lt;p&gt;MIT — &lt;a href="https://github.com/BlackBlazent/blackvideo-mini-player/blob/main/LICENSE" rel="nofollow"&gt;https://github.com/BlackBlazent/blackvideo-mini-player/blob/main/LICENSE&lt;/a&gt;&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jedna Lonestamp</dc:creator><pubDate>Wed, 18 Mar 2026 13:33:02 -0000</pubDate><guid>https://sourceforge.net7a661034d7ffccb70969dfbda8f757f946cc546d</guid></item><item><title>Discussion for Home page</title><link>https://sourceforge.net/p/blackvideo-mini-player/wiki/Home/?limit=25#ce74</link><description>&lt;div class="markdown_content"&gt;&lt;h1 id="h-blackvideo-mini-player"&gt;BlackVideo Mini Player&lt;/h1&gt;
&lt;p&gt;Lightweight cross-platform video player built in &lt;strong&gt;Ada + SDL2 + FFmpeg&lt;/strong&gt;. Works standalone from the command line or via right-click on any video file. Support player for the &lt;a href="https://github.com/BlackBlazent/BlackVideo" rel="nofollow"&gt;BlackVideo&lt;/a&gt; Tauri v2 app.&lt;/p&gt;
&lt;hr/&gt;
&lt;h2 id="h-features"&gt;Features&lt;/h2&gt;
&lt;h3 id="h-video-playback"&gt;🎬 Video Playback&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Plays MP4, MKV, AVI, MOV, WMV, WebM, FLV, M4V, MPEG, TS and more&lt;/li&gt;
&lt;li&gt;Hardware-accelerated SDL2 rendering with letterbox scaling — preserves aspect ratio at any window size or fullscreen&lt;/li&gt;
&lt;li&gt;Correct frame pacing at any FPS (24, 30, 60 fps) using real elapsed-time budgeting&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-audio"&gt;🔊 Audio&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Full audio playback with volume control, mute, and seek flush&lt;/li&gt;
&lt;li&gt;Supports AAC, MP3, AC3, and other common codecs via FFmpeg&lt;/li&gt;
&lt;li&gt;2 MB ring buffer with SDL audio lock — stable for multi-hour playback without corruption or drift&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-on-screen-controls-ui-bar"&gt;🖥️ On-Screen Controls (UI Bar)&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Seek bar with scrubber — click or drag to jump anywhere&lt;/li&gt;
&lt;li&gt;Play / Pause, Previous (seek to start), Next (jump to end)&lt;/li&gt;
&lt;li&gt;Loop toggle, Mute / Unmute, Speed selector (0.5× / 1.0× / 1.5× / 2.0×)&lt;/li&gt;
&lt;li&gt;Fullscreen toggle, context menu button&lt;/li&gt;
&lt;li&gt;Auto-hides after 3 seconds of mouse inactivity; reappears on any mouse movement&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-context-menu-right-click"&gt;🗂️ Context Menu (Right-click)&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Open Video File&lt;/li&gt;
&lt;li&gt;Subtitle track selector (3 slots — load any &lt;code&gt;.srt&lt;/code&gt;, &lt;code&gt;.ass&lt;/code&gt;, &lt;code&gt;.ssa&lt;/code&gt;, or &lt;code&gt;.vtt&lt;/code&gt; file per slot)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Generate Captions (Whisper)&lt;/strong&gt; — offline AI transcription&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Translate to English (Whisper)&lt;/strong&gt; — offline AI translation&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-subtitles"&gt;📝 Subtitles&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Load up to 3 subtitle tracks from external files&lt;/li&gt;
&lt;li&gt;Active track renders on-screen above the control bar with a shadow box for readability&lt;/li&gt;
&lt;li&gt;Context menu always shows the active track name — no guessing whether subtitles are on or off&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-offline-caption-generation-whispercpp"&gt;🎙️ Offline Caption Generation — Whisper.cpp&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Generate subtitles for any video &lt;strong&gt;without internet or API keys&lt;/strong&gt; using &lt;a href="https://github.com/ggerganov/whisper.cpp" rel="nofollow"&gt;whisper.cpp&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Transcribes in the video's original language, or translates to English&lt;/li&gt;
&lt;li&gt;Runs in the background — player stays responsive while Whisper works&lt;/li&gt;
&lt;li&gt;Progress banner shown in the control bar; result auto-loads into Track 1 when done&lt;/li&gt;
&lt;li&gt;Hot-swappable models: drop in &lt;code&gt;ggml-base.bin&lt;/code&gt;, &lt;code&gt;ggml-small.bin&lt;/code&gt;, &lt;code&gt;ggml-medium.bin&lt;/code&gt;, or &lt;code&gt;ggml-large.bin&lt;/code&gt; — no rebuild needed&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Translation currently outputs English only.&lt;/strong&gt; Multi-language translation target support is planned for a future version.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-keyboard-shortcuts"&gt;⌨️ Keyboard Shortcuts&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Key&lt;/th&gt;
&lt;th&gt;Action&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;SPACE&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Play / Pause&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;←&lt;/code&gt; / &lt;code&gt;→&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Seek −5 / +5 seconds&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;↑&lt;/code&gt; / &lt;code&gt;↓&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Volume +10 / −10&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;M&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Mute / Unmute&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;L&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Loop toggle&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;F&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Fullscreen toggle&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;ESC&lt;/code&gt; / &lt;code&gt;Q&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Quit&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="h-windows-shell-integration"&gt;🪟 Windows Shell Integration&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Right-click installer registers "Open with BlackVideo Player" for all common video extensions&lt;/li&gt;
&lt;li&gt;Supports: &lt;code&gt;.mp4 .mkv .avi .mov .wmv .webm .flv .m4v .mpg .mpeg .ts&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;hr/&gt;
&lt;h2 id="h-usage"&gt;Usage&lt;/h2&gt;
&lt;h3 id="h-method-1-command-line"&gt;Method 1 — Command Line&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Step 1.&lt;/strong&gt; Unzip &lt;code&gt;blackvideo-mini-player-v2.3.0.win.zip&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 2.&lt;/strong&gt; Open the &lt;code&gt;build\&lt;/code&gt; folder, then type &lt;code&gt;cmd&lt;/code&gt; directly in the address bar and press &lt;strong&gt;Enter&lt;/strong&gt; — this opens a terminal already in that folder.&lt;/p&gt;
&lt;p&gt;Alternatively: open Command Prompt anywhere and use &lt;code&gt;cd&lt;/code&gt; with the copied path:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="k"&gt;cd&lt;/span&gt; &lt;span class="s2"&gt;"C:\path\to\blackvideo-mini-player\build"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;Step 3.&lt;/strong&gt; Run the player:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;blackvideo-player.exe &lt;span class="s2"&gt;"C:\Users\You\Videos\movie.mp4"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;hr/&gt;
&lt;h3 id="h-method-2-right-click-recommended"&gt;Method 2 — Right-Click (Recommended)&lt;/h3&gt;
&lt;p&gt;&lt;strong&gt;Step 1.&lt;/strong&gt; Unzip &lt;code&gt;blackvideo-mini-player-v2.3.0.win.zip&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Step 2.&lt;/strong&gt; Right-click &lt;code&gt;tools\context_menu\install_context_menu.bat&lt;/code&gt; → &lt;strong&gt;Run as administrator&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;That's it. Now:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Right-click any video file in Explorer&lt;/li&gt;
&lt;li&gt;Click &lt;strong&gt;Open with BlackVideo Player&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;The video plays immediately&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;To remove the right-click entry:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;&lt;span class="n"&gt;tools&lt;/span&gt;\&lt;span class="n"&gt;context_menu&lt;/span&gt;\&lt;span class="n"&gt;uninstall_context_menu&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;bat&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;hr/&gt;
&lt;h3 id="h-optional-whisper-captions-setup"&gt;Optional: Whisper Captions Setup&lt;/h3&gt;
&lt;p&gt;To use offline caption generation, place these files in &lt;code&gt;build\&lt;/code&gt; beside &lt;code&gt;blackvideo-player.exe&lt;/code&gt;:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;code&gt;build\
├── whisper-cli.exe
├── whisper.dll
├── ggml.dll
├── ggml-base.dll
├── ggml-cpu.dll
└── models\
    └── ggml-base.bin
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;Also make sure &lt;code&gt;ffmpeg.exe&lt;/code&gt; is on your PATH (or placed in &lt;code&gt;build\&lt;/code&gt;).&lt;br/&gt;
Then right-click any video → &lt;strong&gt;Generate Captions (Whisper)&lt;/strong&gt;.&lt;/p&gt;
&lt;hr/&gt;
&lt;h2 id="h-release-history"&gt;Release History&lt;/h2&gt;
&lt;h3 id="h-v230-offline-captions-subtitle-rendering-track-fix"&gt;v2.3.0 — Offline Captions, Subtitle Rendering &amp;amp; Track Fix&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;NEW&lt;/strong&gt; Offline caption generation via whisper.cpp (&lt;code&gt;Generate Captions&lt;/code&gt;, &lt;code&gt;Translate to English&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;NEW&lt;/strong&gt; Real subtitle text rendered on-screen from loaded &lt;code&gt;.srt&lt;/code&gt; files&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;NEW&lt;/strong&gt; &lt;code&gt;srt_parser&lt;/code&gt; — full SRT parser (BOM, CRLF, multi-line, up to 4 096 cues)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;NEW&lt;/strong&gt; &lt;code&gt;.env&lt;/code&gt; file support for dev-mode Whisper path overrides (silently skipped in production)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FIXED&lt;/strong&gt; Subtitle track resetting to Off after file dialog — caused by SDL queued mouse events during PowerShell dialog blocking; fixed with a 250 ms post-close guard&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FIXED&lt;/strong&gt; Context menu "Subtitle: Off" label now updates to "Subtitle: Track N" when a track is active&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FIXED&lt;/strong&gt; &lt;code&gt;srt_parser&lt;/code&gt;: renamed &lt;code&gt;Digits&lt;/code&gt; (Ada reserved word) to &lt;code&gt;Parse_Int&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FIXED&lt;/strong&gt; &lt;code&gt;whisper_bridge&lt;/code&gt;: renamed &lt;code&gt;system&lt;/code&gt; import to &lt;code&gt;C_System&lt;/code&gt; to avoid shadowing the &lt;code&gt;System&lt;/code&gt; package&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FIXED&lt;/strong&gt; &lt;code&gt;System.Address&lt;/code&gt; comparisons — added &lt;code&gt;System.Storage_Elements&lt;/code&gt; to expose the &lt;code&gt;=&lt;/code&gt; operator in GNAT 2021&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-v220-playback-controls-fix-audio-stability"&gt;v2.2.0 — Playback Controls Fix &amp;amp; Audio Stability&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;FIXED&lt;/strong&gt; All on-screen buttons now respond to clicks — &lt;code&gt;SDL_MouseButtonEvent.button&lt;/code&gt; was read from byte offset 13 instead of the correct offset 16&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FIXED&lt;/strong&gt; Right-click context menu now opens correctly&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FIXED&lt;/strong&gt; Audio corruption after ~50 minutes — ring buffer race condition resolved with &lt;code&gt;SDL_LockAudioDevice&lt;/code&gt; / &lt;code&gt;SDL_UnlockAudioDevice&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FIXED&lt;/strong&gt; Ring buffer increased 256 KB → 2 MB (~12 seconds) to absorb H.264 decode bursts&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FIXED&lt;/strong&gt; Overflow strategy changed to drop-incoming (was drop-oldest, causing audible clicks)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FIXED&lt;/strong&gt; &lt;code&gt;Audio.Flush&lt;/code&gt; now called on all 7 seek paths — stale pre-seek audio no longer bleeds through&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FIXED&lt;/strong&gt; &lt;code&gt;SDL_AUDIO_ALLOW_FREQUENCY_CHANGE&lt;/code&gt; removed — eliminates pitch drift on long files&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FIXED&lt;/strong&gt; &lt;code&gt;ui_overlay.c&lt;/code&gt; moved from &lt;code&gt;src/&lt;/code&gt; to &lt;code&gt;csrc/&lt;/code&gt; — was causing duplicate symbol linker errors&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FIXED&lt;/strong&gt; GPR linker flags: &lt;code&gt;-lgdi32&lt;/code&gt;, &lt;code&gt;-lusp10&lt;/code&gt;, &lt;code&gt;-lrpcrt4&lt;/code&gt; added for SDL2_ttf HarfBuzz dependencies&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FIXED&lt;/strong&gt; &lt;code&gt;build.bat&lt;/code&gt; uses &lt;code&gt;%ROOT%&lt;/code&gt; (quoted absolute path) — fixes silent gcc failures on paths with spaces (e.g. &lt;code&gt;Vilma E. Agripo&lt;/code&gt;)&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-v110-audio-video-timing-stability-icon"&gt;v1.1.0 — Audio, Video Timing, Stability &amp;amp; Icon&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;FIXED&lt;/strong&gt; Audio now plays for all common formats — planar audio (&lt;code&gt;AV_SAMPLE_FMT_FLTP&lt;/code&gt; / AAC) was silent; fixed by passing all planes to &lt;code&gt;swr_convert&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FIXED&lt;/strong&gt; &lt;code&gt;SDL_MixAudioFormat&lt;/code&gt; self-mix bug — stream was mixed into itself, doubling amplitude and causing clipping every callback&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FIXED&lt;/strong&gt; Video timing — frame pacing now uses elapsed-time budgeting; 24/30/60 fps plays at correct speed&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FIXED&lt;/strong&gt; Heap exhaustion crash (&lt;code&gt;STORAGE_ERROR&lt;/code&gt;) — pre-allocated single RGB frame buffer; was leaking ~6.5 MB per frame (~390 MB/s at 60 fps)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FIXED&lt;/strong&gt; H.264 NAL unit spam — &lt;code&gt;AVPacket.stream_index&lt;/code&gt; offset was hardcoded wrong for FFmpeg 8.x; audio packets were misidentified as video&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;FIXED&lt;/strong&gt; GNAT 2021 linker &lt;code&gt;archive has no index&lt;/code&gt; error — C helpers compiled separately and passed as explicit &lt;code&gt;.o&lt;/code&gt; to the linker&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;NEW&lt;/strong&gt; Custom application icon — visible in Explorer, taskbar, and title bar&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="h-v100-initial-release"&gt;v1.0.0 — Initial Release&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;Basic video + audio playback (Ada + SDL2 + FFmpeg)&lt;/li&gt;
&lt;li&gt;Keyboard controls: play/pause, seek, volume, mute, fullscreen, quit&lt;/li&gt;
&lt;li&gt;CLI usage and right-click shell integration&lt;/li&gt;
&lt;li&gt;Windows x64, Linux, macOS&lt;/li&gt;
&lt;/ul&gt;
&lt;hr/&gt;
&lt;h2 id="h-requirements-windows"&gt;Requirements (Windows)&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Windows 10 / 11 x64&lt;/li&gt;
&lt;li&gt;All required DLLs are included in the release zip&lt;/li&gt;
&lt;/ul&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;DLL&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;SDL2.dll&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;SDL2 runtime&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;SDL2_ttf.dll&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;UI font rendering&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;libfreetype-6.dll&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Required by SDL2_ttf&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;zlib1.dll&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Required by SDL2_ttf&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;avcodec-62.dll&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;FFmpeg&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;avformat-62.dll&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;FFmpeg&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;avutil-60.dll&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;FFmpeg&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;swscale-9.dll&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;FFmpeg&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;swresample-6.dll&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;FFmpeg&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;Optional (Whisper captions only):&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;File&lt;/th&gt;
&lt;th&gt;Notes&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;whisper-cli.exe&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;From whisper-bin-x64.zip&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;whisper.dll&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Whisper runtime&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;ggml.dll&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;GGML runtime&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;ggml-base.dll&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;GGML base&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;ggml-cpu.dll&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;GGML CPU backend&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;models\ggml-base.bin&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Speech model (~142 MB)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;hr/&gt;
&lt;p&gt;&lt;em&gt;Built with Ada 2012 · FFmpeg 8.x · SDL2 · SDL2_ttf · whisper.cpp · GNAT Community 2021&lt;/em&gt;&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jedna Lonestamp</dc:creator><pubDate>Sat, 07 Mar 2026 03:12:26 -0000</pubDate><guid>https://sourceforge.netfc9112bc6987da8b6b05e37e6029bdb1b5862456</guid></item><item><title>Home modified by Jedna Lonestamp</title><link>https://sourceforge.net/p/blackvideo-mini-player/wiki/Home/</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Welcome to your wiki!&lt;/p&gt;
&lt;p&gt;This is the default page, edit it as you see fit. To add a new page simply reference it within brackets, e.g.: &lt;span&gt;[SamplePage]&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;The wiki uses &lt;a href="/nf/markdown_syntax" rel="nofollow"&gt;Markdown&lt;/a&gt; syntax.&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;h6&gt;Project Members:&lt;/h6&gt;
    &lt;ul class="md-users-list"&gt;
        &lt;li&gt;&lt;a href="/u/lonestamp99/"&gt;Jedna Lonestamp&lt;/a&gt; (admin)&lt;/li&gt;
        
    &lt;/ul&gt;&lt;br/&gt;
&lt;p&gt;&lt;span class="download-button-69a3d72139e2b67b900514ce" style="margin-bottom: 1em; display: block;"&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Jedna Lonestamp</dc:creator><pubDate>Sat, 07 Mar 2026 03:11:33 -0000</pubDate><guid>https://sourceforge.net169e0baa1bee37bde7b47e5ccad9fc0d8faecdef</guid></item></channel></rss>