question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Allow same track to be sent N times

See original GitHub issue

In rtcpeerconnection.py:

    def __assertTrackHasNoSender(self, track: MediaStreamTrack) -> None:
        for sender in self.getSenders():
            if sender.track == track:
                raise InvalidAccessError("Track already has a sender")

May I know why this constraint? is it artificial? Nothing in the spec prevents a PC from sending the same track N times in different transceivers (may be with different encoding settings).

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Comments:5

github_iconTop GitHub Comments

1reaction
ibccommented, Feb 26, 2020

I’ve looked a bit at the code. Unfortunately zero expertise with Python here. Anyway:

It comes to my mind that when the "media-player" thread in PlayerStreamTrack (src/contrib/media.py) adds frames to self._queue, and then PlayerStreamTrack.recv() gets a frame, instead of returning such a frame it could emit a “frame” event. This way, multiple “track representations” (or whatever) could get frames from the source.

Does it sound super crazy?

0reactions
ibccommented, Feb 26, 2020

Users may still implement such a recv method as today. However aiortc would call track.recv() and “emit” each frame so N media sinks would receive such a “frame” event. Yeah, I understand it’s not as easy as that 😃

Read more comments on GitHub >

github_iconTop Results From Across the Web

n-Track for iOS User Guide | n-Track Studio
This allows you to send different tracks to the same effect in different amounts, controlled by the send amount knob. To add a...
Read more >
Multitrack recording - Wikipedia
A multitrack recorder allows one or more sound sources to different tracks to be simultaneously recorded, which may subsequently be processed and mixed ......
Read more >
What is Family Sharing? - Apple Support
One adult in your household — the family organizer — invites your family ... With Apple Cash Family, your child or teen can...
Read more >
Introduction to the Outlook Calendar - Microsoft Support
If you, as the meeting organizer, allow this, invitees can propose an alternative meeting time. As the organizer, you can track who accepts...
Read more >
Renewal Processing Times - California DMV
All processing times are estimated. Vehicle Registration. DMV Kiosk: Instantly if all renewal requirements are met; Online: Averages 3-4 days; Phone: Up ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found