Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • pipewire pipewire
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 585
    • Issues 585
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 21
    • Merge requests 21
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
    • Releases
  • Packages and registries
    • Packages and registries
    • Container Registry
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • PipeWirePipeWire
  • pipewirepipewire
  • Issues
  • #1391
Closed
Open
Issue created Jul 03, 2021 by Erik Reider@ErikReider

Pulseaudio Sink event subscription called when Source state changes

Version, Distribution, Desktop Environment:

  • Manjaro unstable repos
  • pipewire-git: 0.3.31.2.g5497d2d9-1
  • pipewire-jack: 1:0.3.30-2
  • pipewire-media-session-git: 0.3.31.2.g5497d2d9-1
  • pipewire-pulse-git: 0.3.31.2.g5497d2d9-1
  • sway-git: r6718.5cdce42d-1

Description of Problem:

When monitoring "PA_SUBSCRIPTION_MASK_SINK", the event callback gets fired when playing or resuming audio. The callback should only be called when the Sink state changes if I've understood correctly and not when the Source state changes.

Steps to Reproduce:

  1. Run the simple python script listed below with the pip package pulsectl installed
from pulsectl import Pulse

type = "sink"
pulseInfo = Pulse(type)

with Pulse(type) as pulse:
    def print_events(ev=None):
        print(ev)

    pulse.event_mask_set(type)
    pulse.event_callback_set(print_events)
    pulse.event_listen()

Actual Results:

Callback called when both Sink and Source state changes

Expected Results:

The callback should only be called when the Sink state changes

Additional Info:

file

Assignee
Assign to
Time tracking