Skip to content

GitLab

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
gst-plugins-rs
gst-plugins-rs
  • Project overview
    • Project overview
    • Details
    • Activity
    • Releases
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Issues 46
    • Issues 46
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
  • Merge Requests 10
    • Merge Requests 10
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Operations
    • Operations
    • Incidents
    • Environments
  • Packages & Registries
    • Packages & Registries
    • Container Registry
  • Analytics
    • Analytics
    • CI/CD
    • Repository
    • Value Stream
  • Snippets
    • Snippets
  • Members
    • Members
  • Activity
  • Graph
  • Create a new issue
  • Jobs
  • Commits
  • Issue Boards
Collapse sidebar
  • GStreamer
  • gst-plugins-rsgst-plugins-rs
  • Issues
  • #93

Closed
Open
Created Jan 17, 2020 by Mathieu Duponchelle@meh🐸Maintainer

threadshare: block_on panics because it is running in a Context

I have been trying to fix this on my end but my brain isn't working anymore :(

Consider the following pipeline:

gst-launch-1.0 audiotestsrc ! alawenc ! rtppcmapay ! ts-jitterbuffer ! rtppcmadepay ! alawdec ! fakesink

This is a simplified scenario, my actual use case has a sender and receiver pipeline, but it can be reproduced with this single pipeline too.

stack.txt

Here, audiodecoder (from its streaming thread) constructs and sends a latency query upstream (frame 30). The jitterbuffer receives it and attempts to block_on in its src_query handler, which panics as it is indeed running in its own context (see the pop_and_push at frame 55).

I don't know how to fix this :)

Edited Jan 17, 2020 by Mathieu Duponchelle
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information
Assignee
Assign to
None
Milestone
None
Assign milestone
Time tracking
None
Due date
None