readonly attributes #92

Closed
aboba opened this Issue May 20, 2014 · 6 comments

Projects

None yet

3 participants

@aboba
Contributor
aboba commented May 20, 2014

In the Editor's draft, we have:

partial interface RTCDtlsTransport {
attribute RTCIceTransport transport;
};

partial interface RTCRtpSender {
attribute RTCDTlsTransport transport;
};

partial interface RTCRtpReceiver {
attribute RTCDTlsTransport transport;
};

Should these attributes be readonly? That is what was proposed today in W3C WEBRTC.

If the desire is to change the transports, shouldn't we have a setter to accomplish this?

@ShijunS
ShijunS commented May 20, 2014

another similar case is
interface RTCRtpSender {
attribute MediaStreamTrack track;

The "track" attribute should also be read-only. We can define a setTrack method with success and failure callbacks for dynamic track changes, which I expect to be an async operation.

@pthatcher

I agree it should be readonly. It is in this doc from 12/2013:
https://docs.google.com/a/google.com/document/d/1CSt0M_aX1k9GAdUdKgCn79hCsywur14K5ATSVz3tIiQ/edit#heading=h.jhx5h18mgaw0

But that doc doesn't have setTrack. Is that because we thought we didn't
need it? It seems like we should have setTrack.

On Tue, May 20, 2014 at 12:55 PM, ShijunS notifications@github.com wrote:

another similar case is
interface RTCRtpSender {
attribute MediaStreamTrack track;

The "track" attribute should also be read-only. We can define a setTrack
method with success and failure callbacks for dynamic track changes, which
I expect to be an async operation.


Reply to this email directly or view it on GitHubhttps://github.com/openpeer/ortc/issues/92#issuecomment-43674806
.

@aboba
Contributor
aboba commented May 20, 2014

Yet another attribute that should be readonly:

partial interface RTCSctpTransport : RTCDataTransport {
attribute RTCDtlsTransport transport;
}

@aboba
Contributor
aboba commented May 21, 2014

And yet another one:

[Constructor(optional RTCIceOptions options)]
interface RTCIceListener {
attribute RTCIceOptions? options;
};

For the constructor, should RTCIceOptions be optional (so that we might need a setter) or can we always expect it?

@aboba aboba closed this May 29, 2014
@robin-raymond robin-raymond pushed a commit to robin-raymond/ortc that referenced this issue Jun 15, 2014
Robin Raymond - Added support for non-multiplexed RTP/RTCP and ICE freezing, as des…
…cribed in Issue 57


w3c#57

- Added support for getRemoteCertificates(), as described in Issue 67
w3c#67

- Removed filterParameters and createParameters functions, as described in Issue 80
w3c#80

- Partially addressed capabilities issues, as described in Issue 84
w3c#84

Addressed WebIDL type issues described in Issue 88
w3c#88

- Addressed Overview section issues described in Issue 91
w3c#91

- Address readonly attribute issues described in Issue 92
w3c#92

- Added ICE restart method to address the issue described in Issue 93
w3c#93

- Added onerror eventhandler to sender and receiver objects as described in Issue 95
w3c#95
f74b889
@aboba aboba reopened this Jun 25, 2014
@aboba
Contributor
aboba commented Jun 25, 2014

At the June 24, 2014 ORTC CG meeting, consensus was to remove DtlsTransport.setTransport. There's not a really good reason for it, since we have IceTransport.restart now.

@aboba
Contributor
aboba commented Jun 26, 2014

Proposed resolution:

partial interface RTCDtlsTransport : RTCStatsProvider {
readonly attribute RTCIceTransport? transport;
};

partial interface RTCRtpSender : RTCStatsProvider {
readonly attribute MediaStreamTrack track;
readonly attribute RTCDtlsTransport transport;
readonly attribute RTCDtlsTransport rtcpTransport;
void setTransport (RTCDtlsTransport transport, optional RTCDtlsTransport rtcpTransport);
void setTrack (MediaStreamTrack track);
};

partial interface RTCRtpReceiver : RTCStatsProvider {
readonly attribute MediaStreamTrack? track;
readonly attribute RTCDtlsTransport transport;
readonly attribute RTCDtlsTransport rtcpTransport;
void setTransport (RTCDtlsTransport transport, optional RTCDtlsTransport rtcpTransport);
};

interface RTCIceListener {
RTCIceOptions getOptions ();
void setOptions (RTCIceOptions options);
};

partial interface RTCSctpTransport : RTCDataTransport {
readonly attribute RTCDtlsTransport transport;
};

@aboba aboba closed this Jun 26, 2014
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment