Skip to content

always creating a datachannel and bundling on it #1039

@fippo

Description

@fippo

see w3c/webrtc-extensions#241

For the next revision of JSEP it would be great to configure the peerconnection in a way that
1/ always creates a datachannel m-line (even before createDataChannels is called)
2/ creates it before the audio and video m-lines and uses it for BUNDLE.
which (mostly) avoids the bundled m-line getting rejected. The current behavior specifies audio/video-then-data, probably for backward compat reasons.

From what I can see this requires two minor modifications:
In https://rtcweb-wg.github.io/jsep/#rfc.section.4.1.1 add a paragraph

The application can specify whether it prefers to always negotiate datachannels

and in https://rtcweb-wg.github.io/jsep/#sec.initial-offers insert

If the application prefers to always negotiate datachannels, a m=section MUST be generated for data [... text from below and update below to reference this]

between the two sentences below

The next step is to generate m= sections, as specified in [RFC4566], Section 5.14. INSERT HERE An m= section is generated

and guard the existing

Lastly, if a data channel has been created, a m= section MUST be generated for data

by a "and no m=section exists for data"

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