Skip to content

vp8 and h264 only support L1Tx, but c++ code #175

Description

@runner365

Hi, I find the C++ code:

	SendHandler::SendResult SendHandler::Send(
           ...
	  std::vector<webrtc::RtpEncodingParameters>* encodings,
	 ....)
	{
              ....
		if (
			sendingRtpParameters["encodings"].size() > 1 &&
			(mimeType == "video/vp8" || mimeType == "video/h264")
		)
		{
			for (auto& encoding : sendingRtpParameters["encodings"])
			{
				encoding["scalabilityMode"] = "S1T3";
			}
		}
         }

vp8 and h264 have been forced to set "S1T3" in scalabilityMode.

but js code:

			for (const encoding of encodings)
			{
				encoding.rid = `r${nextRid++}`;
				encoding.scalabilityMode = `L1T${maxTemporalLayers}`;
			}

And I check the webrtc js site: https://w3c.github.io/webrtc-svc/#scalabilitymodes*

For example, VP8 [[RFC6386](https://w3c.github.io/webrtc-svc/#bib-rfc6386)] only supports temporal scalability (e.g. ["L1T2"](https://w3c.github.io/webrtc-svc/#dfn-l1t2), ["L1T3"](https://w3c.github.io/webrtc-svc/#dfn-l1t3)); H.264/SVC [[RFC6190](https://w3c.github.io/webrtc-svc/#bib-rfc6190)], which supports both temporal and spatial scalability, only permits transport of simulcast on distinct SSRCs, so that it does not support "S" modes, where multiple encodings are transported on a single RTP stream

It says the H264 doesn't support "S" modes.
Is it a bug in libmediasoupclient c++ code?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions