Coder Social home page Coder Social logo

Comments (4)

jan-ivar avatar jan-ivar commented on July 23, 2024

This turns out to be regression from #2935. Prior to that it said this in sLD:

image

...and this in create an RTCRtpTransceiver:
image

I.e. it starts out empty and is then populated based on negotiation (which may be non-empty or empty).

But with #2935 this got replaced with this in sLD:
image
...and this in create an RTCRtpTransceiver:
image

I.e. it starts out being entirely implementation-defined whether it is empty or includes the full set or something in between , and then "enabled" is only ever set to true, never false.

This means it cannot possibly represent the (subset of) codecs that were negotiated, which seems broken.

from webrtc-pc.

jan-ivar avatar jan-ivar commented on July 23, 2024

@alvestrand what are next steps? Do we back out #2935 for now, or do you have a PR in the hopper?

From #2925 (comment):

Suggested revised model

... When calling setCodecPreferences, checking is done against receiver.[[codecs]], not against sender/receiver.getCapabilities(). If setCodecPreferences() includes a codec with the “enabled” flag set to false in the receiver’s [[codecs]] slot, it is set to “true”.

We probably need new internal slots for this instead, e.g. transceiver.[[SendCodecCapabilities]] and [[ReceiveCodecCapabilities]] (defaulting to the implementation list), as appropriating [[SendCodecs]] or [[ReceiveCodecs]] for this (defaulting to empty) seems to interfere with their existing purpose of reflecting what's been negotiated (#2967).

from webrtc-pc.

jan-ivar avatar jan-ivar commented on July 23, 2024

From #2925 (comment):

Suggested revised model
... When calling setCodecPreferences, checking is done against receiver.[[codecs]], not against sender/receiver.getCapabilities(). If setCodecPreferences() includes a codec with the “enabled” flag set to false in the receiver’s [[codecs]] slot, it is set to “true”.

Also, was part of the intent here to repurpose receiver.getParameters().codecs to be an input source for setCodecPreferences?

If so, do we need non-static versions of sender/receiver.getCapabilities()?

from webrtc-pc.

alvestrand avatar alvestrand commented on July 23, 2024

May look as if we had a name collision between previous [[SendCodecs]] at the PC level and [[SendCodecs]] at the sender/receiver level, and I did not detect it when moving [[SendCodecs]] (which I thought unique) to the sender/receiver level.

from webrtc-pc.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.