This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 20819 - no priority API
Summary: no priority API
Status: RESOLVED LATER
Alias: None
Product: WebRTC Working Group
Classification: Unclassified
Component: WebRTC API (show other bugs)
Version: unspecified
Hardware: PC Windows NT
: P2 normal
Target Milestone: ---
Assignee: Web RTC Working Group
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-01-29 18:32 UTC by Matthew Kaufman
Modified: 2014-10-31 16:32 UTC (History)
7 users (show)

See Also:


Attachments

Description Matthew Kaufman 2013-01-29 18:32:04 UTC
There is no API allowing a developer to prioritize video over audio or vice versa. Nor to set the priority of the data channel above or below that of audio and/or video. Nor to set the priority of individual data channels above or below one another and/or audio and video.

Priority APIs have been discussed at previous F2F meetings, though individual stream priority was not resolved.
Comment 1 Stefan Hakansson LK 2013-01-30 12:58:34 UTC
(In reply to comment #0)
> There is no API allowing a developer to prioritize video over audio or vice
> versa. Nor to set the priority of the data channel above or below that of
> audio and/or video. Nor to set the priority of individual data channels
> above or below one another and/or audio and video.
> 
> Priority APIs have been discussed at previous F2F meetings, though
> individual stream priority was not resolved.

I recently sent a proposal to the list: http://lists.w3.org/Archives/Public/public-webrtc/2013Jan/0005.html

But there is no agreement yet on the right way to do this.
Comment 2 Cullen Jennings 2013-06-19 13:04:24 UTC
I'd like to +1 this bug. I think now would be a good time to get a good API proposals and get it into the spec.
Comment 3 Stefan Hakansson LK 2013-06-21 06:19:19 UTC
(In reply to comment #2)
> I'd like to +1 this bug. I think now would be a good time to get a good API
> proposals and get it into the spec.

I brought forward before, and am proposing again, that we - in a similar vein to how a "RTCDTMFSender" sender is created off a PeerConnection but bound to a MediaStreamTrack - allow for the creation of an object that allows setting of priority and other transport related things per track using the established Constraints model.

So we could add to PeerConnection something like:

     RTCTransportHandler createTransportHandler (MediaStreamTrack track);

The TransportHandler would use Constraints, e.g.:

interface RTCTransportHandler {
     readonly attribute MediaStreamTrack track;
     TrackTransportConstraints? constraints ();
     void applyConstraints (TrackTransportConstraints constraints);
     attribute EventHandler onoverconstrained;
};

Constraints could be:

* Priority
* bitrate (min, max)
* audio content (speech or general audio)
* video codec operation (VBR, CBR)

and so on (and of course we need to agree on an initial set).
Comment 4 Gili 2013-06-21 06:28:46 UTC
I second Stefan's proposal.
Comment 5 Gang Liang 2013-07-02 08:31:16 UTC
I support considerring priority API now.
Comment 6 Harald Alvestrand 2014-10-31 16:10:29 UTC
The WG consensus is that we can live without this for the 1.0 API version

The likely control surface is the RTPSender API.
Comment 7 Cullen Jennings 2014-10-31 16:32:05 UTC
I am NOT ok with closing this bug and would like it reopened. I think there are several of us that feel it is very important to have this API in 1.0 and varios browse can decide what part of they want to implement