Closed Bug 1437166 Opened 6 years ago Closed 6 years ago

Implement RsdparsaSdpAttributeList::GetSsrcGroup()

Categories

(Core :: WebRTC: Signaling, enhancement, P3)

58 Branch
enhancement

Tracking

()

RESOLVED FIXED
mozilla63
Tracking Status
firefox63 --- fixed

People

(Reporter: dminor, Assigned: johannes.willbold)

References

(Blocks 1 open bug)

Details

Attachments

(1 file, 2 obsolete files)

RsdparsaSdpAttributeList::GetSsrcGroup() needs an implementation.
Assignee: nobody → johannes.willbold
Comment on attachment 8986909 [details]
Bug 1437166: Part 2: Implemented RsdparsaSdpAttributeList::GetSsrcGroup.

https://reviewboard.mozilla.org/r/252142/#review258744

lgtm
Attachment #8986909 - Flags: review?(dminor) → review+
Oof. I did not notice this being filed, but we don't use/support ssrc-group at all, and probably never will since we settled on unified plan.

https://searchfox.org/mozilla-central/source/media/webrtc/signaling/src/sdp/SipccSdpAttributeList.cpp#1436
Comment on attachment 8986908 [details]
Bug 1437166: Part 1: Implemented ssrc-group attribute parsing in rust.

https://reviewboard.mozilla.org/r/252140/#review259268

I'm really sorry, but this will never be used.
Attachment #8986908 - Flags: review?(docfaraday)
Comment on attachment 8986909 [details]
Bug 1437166: Part 2: Implemented RsdparsaSdpAttributeList::GetSsrcGroup.

https://reviewboard.mozilla.org/r/252142/#review259270

Sorry...
Attachment #8986909 - Flags: review?(docfaraday) → review-
I'm sorry, I filed a bug for this because the function was not implemented, I didn't know it was not relevant and simply could have been removed.
Ok, so should I remove the GetSsrcGroup() function to fix this?
Yeah, if feature-parity is the goal for this bug, then removing all of the ssrc-group stuff would do the trick.
Attachment #8986908 - Attachment is obsolete: true
Attachment #8986909 - Attachment is obsolete: true
Sorry I noticed too late, but Ssrc-groups is needed for RTX support. We don't have RTX support yet. But since we might want/need to support in the future I think we want the parser to support it at least.
So should I upload my original patch again?
Maybe we can actually implement RTX without ssrc-group:

So the retransmission stream would use the same MID as the original stream. So the MID enables proper routing to the correct receiver. But the question is that RTX will have a different SSRC then the original stream. But then we need to not restart the receiver based on new/unknown SSRC, but instead need to interpret it as a repair packet. And if understand the example I was able to find the PT should still allow us to differentiate between "SSRC switch on the normal stream" vs "repair packet for the normal stream".
Comment on attachment 8987652 [details]
Bug 1437166: Removed GetSsrcGroup entirely.

https://reviewboard.mozilla.org/r/252894/#review259608

::: media/webrtc/signaling/gtest/sdp_unittests.cpp
(Diff revision 1)
>      ASSERT_FALSE(mSdp->GetAttributeList().HasAttribute(
>            SdpAttribute::kSsrcAttribute));
>    }
>  }
>  
> -const std::string kSsrcGroupInSessionSDP =

I'm not certain, we may want to keep the test just to make sure ssrc group doesn't cause problems for the parsers.
Attachment #8987652 - Flags: review?(dminor) → review+
Comment on attachment 8987652 [details]
Bug 1437166: Removed GetSsrcGroup entirely.

https://reviewboard.mozilla.org/r/252894/#review259608

> I'm not certain, we may want to keep the test just to make sure ssrc group doesn't cause problems for the parsers.

We already ensure that unknown attributes don't trip us up, we can remove this.
(In reply to Nils Ohlmeier [:drno] from comment #13)
> Maybe we can actually implement RTX without ssrc-group:
> 
> So the retransmission stream would use the same MID as the original stream.
> So the MID enables proper routing to the correct receiver. But the question
> is that RTX will have a different SSRC then the original stream. But then we
> need to not restart the receiver based on new/unknown SSRC, but instead need
> to interpret it as a repair packet. And if understand the example I was able
> to find the PT should still allow us to differentiate between "SSRC switch
> on the normal stream" vs "repair packet for the normal stream".

Do we have any idea how this will actually be specified? Does Chrome do RTX, and if so, does it use ssrc-group for it?
Comment on attachment 8987652 [details]
Bug 1437166: Removed GetSsrcGroup entirely.

https://reviewboard.mozilla.org/r/252894/#review259678

Let's wait on this for now; we should not be modifying code to tear out ssrc-group, but we should also not be modifying code to fully implement it either.
Attachment #8987652 - Flags: review?(docfaraday)
Comment on attachment 8987652 [details]
Bug 1437166: Removed GetSsrcGroup entirely.

https://reviewboard.mozilla.org/r/252894/#review260600
Attachment #8987652 - Flags: review+
(In reply to Byron Campen [:bwc] from comment #17)
> (In reply to Nils Ohlmeier [:drno] from comment #13)
> > Maybe we can actually implement RTX without ssrc-group:
> > 
> > So the retransmission stream would use the same MID as the original stream.
> > So the MID enables proper routing to the correct receiver. But the question
> > is that RTX will have a different SSRC then the original stream. But then we
> > need to not restart the receiver based on new/unknown SSRC, but instead need
> > to interpret it as a repair packet. And if understand the example I was able
> > to find the PT should still allow us to differentiate between "SSRC switch
> > on the normal stream" vs "repair packet for the normal stream".
> 
> Do we have any idea how this will actually be specified? Does Chrome do RTX,
> and if so, does it use ssrc-group for it?

Yes lots of service depend heavily on supporting RTX. And with Plan B you need ssrc-group to get it working.

We discussed this briefly with abr this week. And I'm convinced that we can implement RTX in the unified plan just with MID and PT, so need for ssrc-group. And in case of simulcast you need repair RID anyway. So I think we remove the code for ssrc-group (which I think Dan only added because the Rust parser supports it).
Pushed by drno@ohlmeier.org:
https://hg.mozilla.org/integration/autoland/rev/881acf98f994
Removed GetSsrcGroup entirely. r=dminor,drno
https://hg.mozilla.org/mozilla-central/rev/881acf98f994
Status: NEW → RESOLVED
Closed: 6 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla63
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: