-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Codec negotiation #606
base: develop
Are you sure you want to change the base?
Codec negotiation #606
Conversation
Generated by 🚫 Danger |
SDK Size
|
06adf99
to
0a4645c
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great so far 👍 Added a bunch of questions, mostly to understand the parts that are not clear from the spec. Also, would be good to cleanup the commented out code, it's not clear whether we temporary disable it or should be removed.
Also, I would do some testing.
} | ||
|
||
init( | ||
id: Int = -1, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what does this mean, why -1?
for trackType: TrackType, | ||
codec: VideoCodec | ||
) -> [VideoLayer] { | ||
[] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
why do we need this?
public enum VideoCodec: String, Sendable { | ||
case h264, vp8, vp9, av1 | ||
public enum VideoCodec: String, Sendable, Hashable, CustomStringConvertible { | ||
case none, h264, vp8, vp9, av1 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
isn't unknown more appropriate than none?
) | ||
) | ||
|
||
// bufferDimensions = BroadcastUtils.adjust( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this is going to be deleted, right?
) | ||
} | ||
} | ||
// let outputFormat = VideoCapturingUtils.outputFormat( |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think we still gonna need this
import Foundation | ||
|
||
/// The main SDP parser that uses visitors to process lines. | ||
final class SDPParser { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Didn't expect this 😄 The WebRTC SDK doesn't have an SDP parser already?
|
||
enum SupportedPrefix: String, Hashable, CaseIterable { | ||
case unsupported | ||
case rtmap = "a=rtpmap:" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe good to check if this is the only prefix we have/need
@@ -158,20 +159,22 @@ extension WebRTCCoordinator.StateMachine.Stage { | |||
|
|||
try Task.checkCancellation() | |||
|
|||
try await coordinator.stateAdapter.configurePeerConnections() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
can you also explain this part, why are we removing the setup of PCs?
|
||
try Task.checkCancellation() | ||
|
||
if !isFastReconnecting { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
ok, I see them moved here, is that because of the publish options?
import Foundation | ||
import StreamWebRTC | ||
|
||
extension Stream_Video_Sfu_Models_PublishOption { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's also a Stream_Video_Sfu_Models_SubscribeOption
now, available in develop
0a4645c
to
59f87b9
Compare
🔗 Issue Links
Provide all JIRA tickets and/or GitHub issues related to this PR, if applicable.
🎯 Goal
Describe why we are making this change.
📝 Summary
Provide bullet points with the most important changes in the codebase.
🛠 Implementation
Provide a detailed description of the implementation and explain your decisions if you find them relevant.
🎨 Showcase
Add relevant screenshots and/or videos/gifs to easily see what this PR changes, if applicable.
img
img
🧪 Manual Testing Notes
Explain how this change can be tested manually, if applicable.
☑️ Contributor Checklist
🎁 Meme
Provide a funny gif or image that relates to your work on this pull request. (Optional)