Repository navigation
Add talkback receiver factory hook - #564
Open
Naka-Masa19 wants to merge 1 commit into
Open
Naka-Masa19 wants to merge 1 commit into
Naka-Masa19 wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem
Camera talkback is not extensible in the same way as the outgoing streaming path.
Outgoing streams can already be customized via
start_stream/stop_stream. Incoming talkback cannot:set_endpointsalways constructs the built-inTalkbackReceiver, which owns the UDP socket, SRTP unprotect, and RTP parse. There is no supported way to plug in a different receive path end-to-end (for example, handing the receive path to an external media pipeline).Solution
TalkbackReceiverProtocol(local_port,start,stop) as the receiver contract.Camera.create_talkback_receiver(...), which returns the defaultTalkbackReceiver.set_endpointsthrough that factory instead of hard-codingTalkbackReceiver(...).Default behavior is unchanged. Subclasses can replace the whole receiver by overriding the factory.
AI assistance
AI-assisted (design discussion / PR text). Code authored and verified by me.