Skip to content

gstreamer1.0-plugins-good: Add patches for pulsedirectsink - #2821

Open
bkosuri wants to merge 1 commit into
qualcomm-linux:masterfrom
bkosuri:master
Open

gstreamer1.0-plugins-good: Add patches for pulsedirectsink#2821
bkosuri wants to merge 1 commit into
qualcomm-linux:masterfrom
bkosuri:master

Conversation

@bkosuri

@bkosuri bkosuri commented Jul 28, 2026

Copy link
Copy Markdown

Add a new PulseAudio sink built directly on GstBaseSink rather than GstAudioBaseSink, using the PulseAudio extended-stream API (pa_stream_new_extended / pa_format_info). Unlike pulsesink, which is oriented around a PCM ringbuffer, pulsedirectsink writes encoded frames straight to the server, making it suitable for DSP offload where the sink, not the CPU, performs playout.

These patches have been submitted for upstream review.

  • pulse: NULL check before de-reference
  • pulse: add pulsedirectsink element

@github-actions

github-actions Bot commented Jul 28, 2026

Copy link
Copy Markdown

Test run workflow

Test jobs for commit 2872169

nodistro
Pass: 10 | Fail: 0 | Total: 10
qcom-distro
Pass: 287 | Fail: 25 | Total: 342
qcom-distro_linux-qcom-6.18
Pass: 224 | Fail: 9 | Total: 259

@test-reporting-app

test-reporting-app Bot commented Jul 28, 2026

Copy link
Copy Markdown

Test Results

  117 files    698 suites   9h 16m 51s ⏱️
  161 tests   117 ✅  2 💤 42 ❌
4 482 runs  4 358 ✅ 56 💤 68 ❌

For more details on these failures, see this check.

Results for commit 2872169.

♻️ This comment has been updated with latest results.

@qcomlnxci

Copy link
Copy Markdown

Test Coral run workflow

Test jobs for commit abc881b

  • qcomdistro: multimedia image-prop
    Pass: 47 | Fail: 1 | Total: 48
  • qcomdistro: multimedia image
    Pass: 8 | Fail: 1 | Total: 9

Date: Tue, 28 Jul 2026 14:42:05 +0530
Subject: [PATCH] pulse: NULL check before de-reference

Upstream-Status: Submitted [upstream ticket <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/12144>]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's not a ticket.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

since PulseAudio does not rate-limit an encoded passthrough stream via
writable-size flow control.

Upstream-Status: Submitted [upstream ticket <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/12144>]

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Neither is this

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

fixed

file://0007-v4l2-Drop-empty-bytesused-0-buffers.patch \
file://0008-v4l2-Handle-GAP-buffer-in-encoder.patch \
file://0010-v4l2-Add-support-for-V4L2_PIX_FMT_QC10C-format.patch \
file://0011-pulse-NULL-check-before-de-reference.patch \

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why are we importing the patches to this layer?

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The upstream review is pending and there is no timeline when or whether this is going to be merged in upstream.
We want to have this feature available in the mainline builds.

Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This plugin is used to expose a SOC capability which is compress offload (where audio decode + playback happens on the DSP). So it is related to the BSP.

Add a new PulseAudio sink built directly on GstBaseSink rather
than GstAudioBaseSink, using the PulseAudio extended-stream API
(pa_stream_new_extended / pa_format_info). Unlike pulsesink,
which is oriented around a PCM ringbuffer, pulsedirectsink writes
encoded frames straight to the server, making it suitable for DSP
offload where the sink, not the CPU, performs playout.

These patches have been submitted for upstream review.
- pulse: NULL check before de-reference
- pulse: add pulsedirectsink element

Signed-off-by: Bala Sai Kosuri <bkosuri@qti.qualcomm.com>
@qcomlnxci

Copy link
Copy Markdown

Test Coral run workflow

Test jobs for commit 2872169

  • qcomdistro: multimedia image-prop
    Pass: 31 | Fail: 0 | Total: 31
  • qcomdistro: multimedia image
    Pass: 9 | Fail: 0 | Total: 9

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants