- From: Justin Uberti <juberti@google.com>
- Date: Fri, 9 May 2014 11:43:58 -0700
- To: Peter Thatcher <pthatcher@google.com>
- Cc: Bernard Aboba <Bernard.Aboba@microsoft.com>, "public-ortc@w3.org" <public-ortc@w3.org>
- Message-ID: <CAOJ7v-0tzHkWD1BCRoD106zGaLrRvyiGQH1jb8wLRqRmMyKabQ@mail.gmail.com>
RTP header extensions will often be media-specific (e.g. sender audio level). Same with RTCP feedback mechanisms. On Fri, May 9, 2014 at 10:57 AM, Peter Thatcher <pthatcher@google.com>wrote: > I think it's nice to be able to get the capabilities without creating a > sender or receiver object first. > > I don't really see the advantage of having separate audio/video > capabilities. What things will be audio-only or video-only? The codecs? > The codecs already indicate whether they are audio or video. > > > On Thu, May 8, 2014 at 10:19 PM, Bernard Aboba < > Bernard.Aboba@microsoft.com> wrote: > >> Currently, getCapabilities is defined as follows: >> >> partial interface RTCRtpSender { >> static RTCRtpCapabilities getCapabilities (); >> }; >> >> partial interface RTCRtpReceiver { >> static RTCRtpCapabilities getCapabilities (); >> }; >> >> The implication is that getCapabilities() returns both audio and video >> capabilities in a single RTCRtpCapabilities object. >> >> However, if getCapabilities wasn't defined as static, then it could >> return only capabilities of the appropriate kind: >> >> partial interface RTCRtpReceiver { >> RTCRtpCapabilities getCapabilities (DOMString kind); >> } >> >> partial interface RTCRtpSender { >> RTCRtpCapabilities getCapabilities (); >> }; >> >> If it were done this way, with respect to the RTCRtpSender object, it >> would be possible to retrieve audio and video send and receive capabilities >> separately: >> >> var audioSender = new RTCRtpSender(audioTrack, transport); >> var videoSender = new RTCRtpSender(videoTrack, transport); >> rtpAudioSendCaps = audioSender.getCapabilities(); >> rtpVideoSendCaps = videoSender.getCapabilities(); >> >> With the RTCRtpReceiver object, it would look like this: >> >> var audioReceiver = new RTCRtpReceiver(transport); >> var videoReceiver = new RTCRtpReceiver(transport); >> rtpAudioRecvCaps = audioReceiver.getCapabilities("audio"); >> rtpVideoRecvCaps = videoReceiver.getCapabilities("video"); >> >> One advantage of separating audio and video capabilities is that >> subsequent calls to createParameters could be more specific: >> >> var audioRecvParams = RTCRtpReceiver.createParameters( >> "audio", remote.rtpAudioSendCaps); >> var videoRecvParams = RTCRtpReceiver.createParameters( >> "video", remote.rtpVideoSendCaps); >> > >
Received on Friday, 9 May 2014 18:44:47 UTC