two small fixes for streaming sinks #1

Closed
endigma wants to merge 2 commits from proposed/streaming-sinks into upstream
Owner

two small fixes for streaming sinks

aba and bdb

two small fixes for streaming sinks aba and bdb
Upstream now permits opus with mpegts (.ts). Extend the same allow-list
to .flv so opus survives publishing to a flv/rtmp sink. ffmpeg's flv
muxer (Enhanced RTMP) carries opus directly. Without this, anyone
publishing to a sink like MediaMTX over RTMP gets silently downgraded
to aac — which then can't be carried over WebRTC on the playback side
(WebRTC's standard payload set is opus/g711/pcm only, no aac).
`-c rtsp -o "rtsp://..."` previously failed with "Protocol not found"
because gsr unconditionally called avio_open() on the URL. avio_open
looks up "rtsp" as an avio protocol — but rtsp is a *format/muxer*,
not a protocol. The rtsp muxer (and friends like rtp/sap/sdp) sets
AVFMT_NOFILE and manages its own RTP-over-tcp/udp transport inside
avformat_write_header.

This is the standard ffmpeg pattern; see ffmpeg.c which gates
avio_open on `!(oformat->flags & AVFMT_NOFILE)`. Apply the same gate
to all four call sites in gsr (and the matching avio_close at three
cleanup sites), so URL muxers like rtsp work without a "Protocol not
found" error.

Verified with a live `-k hevc -ac opus -c rtsp -o rtsp://...` round-trip
into MediaMTX; tracks come up as H265+Opus over RTP/UDP.
forgejo-actions force-pushed proposed/streaming-sinks from 3e12e4f8da to 00d817ff9a
Some checks failed
Send proposal via email / send (pull_request) Failing after 7s
2026-05-10 11:04:20 +01:00
Compare
Re-add sudo to apt-get for cimg/base runner
Some checks failed
Send proposal via email / send (pull_request) Failing after 29s
676e4b74cf
Runner image switched to cimg/base which runs as the circleci user;
bare apt-get can't write /var/lib/apt/lists. cimg images ship password-
less sudo for circleci, so sudo apt-get works.
Author
Owner

!draft

!draft
Author
Owner

!draft

!draft
Comment-based ChatOps gives us two modes from one workflow:
  !draft - generate patches and dry-run send-email; no SMTP, no tag
  !send  - dry-run + real send + tag + reply

Replaces the labeled trigger entirely. Workflow now:
  - guards on author_association (OWNER/MEMBER/COLLABORATOR)
  - resolves PR head + body via the API (issue_comment events don't
    embed the PR object directly)
  - reacts 👀 to the trigger comment
  - replies with status (success/failure + run link) on completion

Side effect: the `send` and `sent v*` labels are obsolete; can be
deleted in repo settings.
Author
Owner

!draft

!draft
The earlier `author_association` check probably wasn't firing —
Forgejo may not populate that field the same way GitHub does. Drop
the gate (single-maintainer fork; SMTP secrets gate real sends).

Move command-matching out of the job-level if into a "Skip unless
command" step that emits an output. All subsequent steps gate on that.
This way the run always *appears* in the Actions tab when ANY PR
comment is created — even if it's not !send/!draft, you can see the
diagnostic output and confirm the trigger reached the runner.

Note: issue_comment runs don't show on the PR's Checks tab, only the
repo-wide Actions tab. That's by design — the run isn't tied to a PR
head SHA, so there's no commit status to attach.
Author
Owner

!draft

!draft

!draft failed. See workflow log.

❌ `!draft` failed. See [workflow log](https://forge.gitcat.ca/endigma/gpu-screen-recorder/actions/runs/12).
endigma force-pushed proposed/streaming-sinks from f62c4d0e16 to 35d21a8152 2026-05-10 11:38:20 +01:00 Compare
Author
Owner

!draft

!draft

📋 Draft preview generated for v1. See workflow log for the dry-run output. Comment !send to dispatch.

📋 Draft preview generated for v1. See [workflow log](https://forge.gitcat.ca/endigma/gpu-screen-recorder/actions/runs/13) for the dry-run output. Comment `!send` to dispatch.
Author
Owner

!draft

!draft

📋 Draft preview generated for v1. See workflow log for the dry-run output. Comment !send to dispatch.

📋 Draft preview generated for v1. See [workflow log](https://forge.gitcat.ca/endigma/gpu-screen-recorder/actions/runs/14) for the dry-run output. Comment `!send` to dispatch.
endigma changed title from proposed/streaming-sinks to two small fixes for streaming sinks 2026-05-10 12:04:09 +01:00
Author
Owner

!draft

!draft

📋 Draft preview generated for v1. See workflow log for the dry-run output. Comment !send to dispatch.

📋 Draft preview generated for v1. See [workflow log](https://forge.gitcat.ca/endigma/gpu-screen-recorder/actions/runs/15) for the dry-run output. Comment `!send` to dispatch.
Author
Owner

!draft

!draft

📋 Draft for PATCH

field value
Subject [PATCH] two small fixes for streaming sinks
To (unset — set PATCH_TO_ADDRESS variable)
From endigma <endigma@mailcat.ca>
Message-Id <177841157655.620.8036588589822816171@mailcat.ca>
Attachments 2 .patch file(s)
Cover letter body
two small fixes for streaming sinks

aba and bdb
Attached patches (2)
  • 0001-Allow-opus-audio-codec-with-rtmp-flv-container.patch
  • 0002-Skip-avio_open-for-AVFMT_NOFILE-muxers-rtsp-etc.patch

Comment !send to dispatch this draft via SMTP. Workflow run.

### 📋 Draft for `PATCH` | field | value | |---|---| | Subject | `[PATCH] two small fixes for streaming sinks` | | To | `(unset — set PATCH_TO_ADDRESS variable)` | | From | `endigma <endigma@mailcat.ca>` | | Message-Id | `<177841157655.620.8036588589822816171@mailcat.ca>` | | Attachments | 2 .patch file(s) | <details><summary>Cover letter body</summary> ``` two small fixes for streaming sinks aba and bdb ``` </details> <details><summary>Attached patches (2)</summary> - `0001-Allow-opus-audio-codec-with-rtmp-flv-container.patch` - `0002-Skip-avio_open-for-AVFMT_NOFILE-muxers-rtsp-etc.patch` </details> --- Comment `!send` to dispatch this draft via SMTP. [Workflow run](https://forge.gitcat.ca/endigma/gpu-screen-recorder/actions/runs/16).
Author
Owner

!draft

!draft

📋 Draft for PATCH

field value
Subject [PATCH] two small fixes for streaming sinks
To (unset — set PATCH_TO_ADDRESS variable)
From endigma <endigma@mailcat.ca>
Message-Id <177841209767.627.15434458790447127793@mailcat.ca>
Attachments 1 .patch file(s)
Cover letter body
two small fixes for streaming sinks

aba and bdb
Attached patches (1)
  • 0001-two-small-fixes-for-streaming-sinks.patch

Comment !send to dispatch this draft via SMTP. Workflow run.

### 📋 Draft for `PATCH` | field | value | |---|---| | Subject | `[PATCH] two small fixes for streaming sinks` | | To | `(unset — set PATCH_TO_ADDRESS variable)` | | From | `endigma <endigma@mailcat.ca>` | | Message-Id | `<177841209767.627.15434458790447127793@mailcat.ca>` | | Attachments | 1 .patch file(s) | <details><summary>Cover letter body</summary> ``` two small fixes for streaming sinks aba and bdb ``` </details> <details><summary>Attached patches (1)</summary> - `0001-two-small-fixes-for-streaming-sinks.patch` </details> --- Comment `!send` to dispatch this draft via SMTP. [Workflow run](https://forge.gitcat.ca/endigma/gpu-screen-recorder/actions/runs/17).
Author
Owner

!draft

!draft

📋 Draft for PATCH

field value
Subject [PATCH] two small fixes for streaming sinks
To (unset — set PATCH_TO_ADDRESS variable)
From endigma <endigma@mailcat.ca>
Message-Id <177841240067.627.10254330718154377567@mailcat.ca>
Attachments 1 .patch file(s)
Cover letter body
two small fixes for streaming sinks

aba and bdb
Attached patches (1)
  • 0001-two-small-fixes-for-streaming-sinks.patch

Comment !send to dispatch this draft via SMTP. Workflow run.

### 📋 Draft for `PATCH` | field | value | |---|---| | Subject | `[PATCH] two small fixes for streaming sinks` | | To | `(unset — set PATCH_TO_ADDRESS variable)` | | From | `endigma <endigma@mailcat.ca>` | | Message-Id | `<177841240067.627.10254330718154377567@mailcat.ca>` | | Attachments | 1 .patch file(s) | <details><summary>Cover letter body</summary> ``` two small fixes for streaming sinks aba and bdb ``` </details> <details><summary>Attached patches (1)</summary> - `0001-two-small-fixes-for-streaming-sinks.patch` </details> --- Comment `!send` to dispatch this draft via SMTP. [Workflow run](https://forge.gitcat.ca/endigma/gpu-screen-recorder/actions/runs/18).
endigma closed this pull request 2026-05-10 12:28:13 +01:00

Pull request closed

Sign in to join this conversation.
No reviewers
No labels
send
No milestone
No project
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
endigma/gpu-screen-recorder!1
No description provided.