Testicle Bypass 2.0.8.9
Not published. No latest.json was uploaded.

Game audio follows the current FiveM build. Apply writes FiveM App Audio as an application capture of FiveM_b*_GTAProcess.exe (the build that is installed or running, priority match executable, device timing on, track 1). A saved build number is replaced, so a FiveM update does not leave the capture pointed at a process that is gone. When that executable cannot be found, Desktop Audio (the default device) is put on track 1 instead. Desktop Audio stays out of the clip while the app capture is in use. Desktop Audio 2 is left alone. Mic/Aux stays OBS push-to-talk on the saved keys, including Mouse 4 and Mouse 3, with a 600 ms release. The app's own hot-mic mix stays off. The profile stays 48000 Hz stereo, track 1, AAC at 160 kbps.

The first launch after an update applies that audio when FiveM is not running and OBS is closed or can be restarted. Otherwise a note says: Update installed — press Apply to turn on game audio. setup.log records which path was taken.

The heartbeat adds game_audio_captured and game_audio_source (app, desktop, both, or none), and prev_version after an update. An NVIDIA encoder id such as obs_nvenc_h264_tex is reported as nvenc_h264. Error reports strip the PC name.

Folders and shortcuts named StreamProofed are moved and removed. The license, settings, and clips are kept. The clips staging folder stays .nvidia-trimmed. The window title is TesticleGaming. Windows startup is the Run value TesticleGaming.

Testicle Bypass 2.0.8.8
Not published. No latest.json was uploaded.

Desktop Audio is off in the clip. Apply sets Desktop Audio 1 and Desktop Audio 2 to mixers 0, so Discord on the desktop device is not recorded. The clip keeps FiveM App Audio and Mic/Aux.

An app restart of OBS, including a clip-length change that shows Refilling, writes OBS push-to-talk back onto Mic/Aux: the key, a 600 ms release, the mic unmuted, and tracks 1 and 2. Mouse 4 and Mouse 3 keep Alt, Ctrl, Shift, Shift+Alt, and Shift+Ctrl. Desktop Audio stays off. The deferred catch-first mic profile is not written.

The staging folder under the clips folder is .nvidia-trimmed. Leftover files in .testicle-staging and .streamproofed-staging move there, OBS RecFilePath follows, and the old folders are removed. New files in the clips folder are not named StreamProofed or Testicle.

Share-ready and Sharper stay H.264. High quality is not in the picker.

Testicle Bypass 2.0.8.7
Not published. No latest.json was uploaded.

The hot-mic mix was failing on the app's own ffmpeg command, so every clip stayed in staging. The open-mic fallback is an amix of both tracks, the same mix that finishes on the clip. Arguments are passed one at a time, so a path with spaces stays one path. A press window still turns the mic down outside the press. If that mix fails, the command, the exit code, and stderr are logged, and the clip is published with both tracks mixed for the whole clip. If that mix also fails, the open-mic recording is published. The file leaves staging, and the mix is not queued again.

New replay clips use the prefix Desktop. Publishing a clip into the gallery names it Desktop YYYY.MM.DD - HH.mm.ss.xx.DVR.mp4. Clips already in the gallery keep their names. The gallery still accepts Desktop and Replay.

Push-to-talk writes OBS push-to-talk on Mic/Aux only: the key, a 600 ms release, the mic unmuted, and tracks 1 and 2. The user's keys are stored with Alt, Ctrl, Shift, Shift+Alt, and Shift+Ctrl. Open mic turns that push-to-talk off and leaves the mic on tracks 1 and 2. Muted mutes the mic. The hot-mic mix does not run, so a clip is not left in staging for that mix.

Testicle Bypass 2.0.8.6
Not published. No latest.json was uploaded.

Each voice key opens the mic on its own. A Mouse 3 press keeps the audio even when Mouse 4 is the first key. Mouse buttons are read from the raw-input packet at the Windows flag offset.

Setup reads GTA's voice push-to-talk from Documents\Rockstar Games\GTA V\settings.xml when that file has it, or from the profile control file, or from FiveM's copy. Radio still comes from fivem.cfg. A saved key is left as it is.

Every press is logged, including keys after the first.

Voice keys are written only on the Mic/Aux libobs.push-to-talk slot. Game Capture, FiveM App Audio, and FiveM Voice lose that slot, including a voice key left in another slot. The log names the source, the slot, and the key. Catch first word records the Windows mic on track 2 and keeps it while Mouse 4 or Mouse 3 is held. That does not wait on FiveM.

Testicle Bypass 2.0.8.5
Not published. No latest.json was uploaded.

A 1080p canvas says Share-ready (1080p) and has no Change button. The setup picker shows the size line. The widget menu does not. Fits Streamable's free limit is shown only when the computed size is under 230 MB.

Closing OBS on purpose is not a buffer failure. Recovery does not move FilePath off .testicle-staging.

FiveM App Audio is refreshed after OBS reconnects when the FiveM window was missing.

The setup title says OBS found.

Testicle Bypass 2.0.8.4
Not published. No latest.json was uploaded.

A length change queued while the websocket is down is sent later through the same stop-wait and start as a live grow.

Testicle Bypass 2.0.8.3
Not published. No latest.json was uploaded.

A longer clip waits until the replay buffer has stopped, then starts it. Stopping counts as stopped. If that fails, Cadence says Clipping is off and offers Start replay buffer.

A mic change that could not be written stays pending until the file write succeeds.

Testicle Bypass 2.0.8.2
Not published. No latest.json was uploaded.

A longer clip while OBS is open sends RecRBTime and RecRBSize, confirms the replay buffer has stopped, then starts it again. Start is not sent while the buffer is still stopping.

Open mic and push-to-talk while OBS is open use SetInputMute and SetInputAudioTracks. The profile write is remembered if this app quits. The notice says Mute and tracks applied now. The rest applies next time OBS starts.

The updater reads latest.json from streamproofed.com, then from https://streamproofed-dl.cubic-reaction-b47.workers.dev/latest.json if that request fails.

Testicle Bypass 2.0.8.1
Not published. No latest.json was uploaded.

A longer clip while OBS is open sends RecRBTime and RecRBSize with SetProfileParameter, stops and starts the replay buffer, and shows Refilling…. A shorter clip leaves the buffer alone.

Open mic and push-to-talk while OBS is open use SetInputMute and SetInputAudioTracks. basic.ini and the scene file are written after OBS closes. The notice says applies next time OBS starts.

The constqp head adds -i_qfactor 1 -i_qoffset 0 -b_qfactor 1 -b_qoffset 0 so the PPS matches OBS CQP.

RecRBTime uses a 1 second GOP only when Advanced output has keyint_sec=1. Otherwise it uses 4.17 seconds.

The Cadence notice button says Start replay buffer.

Old gallery clips are not scanned when OBS starts. A clip is trimmed when OBS saves it.

The updater reads latest.json from streamproofed.com, then from the workers.dev copy if that request fails.

Testicle Bypass 2.0.8
Not published. No latest.json was uploaded.

One release for the work queued after 2.0.7.6.

The music widget gear opens quick settings. Clip length is 15s, 30s, 1m, 2m, 3m, or 5m. A length change does not restart OBS. RecRBTime is the saved length plus the GOP plus 2 seconds, and RecRBSize matches that length and quality. A leftover 30-second budget does not replace a saved 2:00. Quality is 1080p60 Share-ready. 1440p60 Sharper stays hidden unless that flag is on and the canvas is at least 2560x1440. A quality change is the only change that restarts OBS and refills the buffer.

Renaming a folder rewrites OBS output paths and scene paths while OBS is closed. That covers AdvOut RecFilePath, SimpleOutput FilePath, and script or source paths such as the clip chime. The old folder name is left as a junction. Missing output folders are created before OBS starts.

Mic is Push-to-talk, Open mic, or Muted. Push-to-talk records with the hot mic and trims to the push-to-talk windows. Open mic keeps the microphone in the whole clip. Muted records no mic. None of those restart OBS.

HEVC with no B-frames stays behind a flag. Find OBS reports found or not found. Apply ends on a Done state. Errors wrap and can be copied. An update shows a toast. Settings persist. Telemetry can post the v2.1 fields, with the worker as primary and the website as fallback. The screenshot chip is Scroll Lock. Settings live in the TesticleGaming folder.

The tray waits on launch signals instead of a 300 ms poll. It does not offer Restart OBS, and it does not relaunch OBS when OBS exits. One obs-websocket owns the session.
