5.1.1 处理远程 MediaStreamTracks
应用程序可以通过调用RTCRtpTransceiver.stop()停止收发direction来拒绝传入的媒体描述,或者将收发器的direction设置为“sendonly”以仅拒绝对端接入。
要在给定RTCRtpTransceiver收发器和trackEventInits的情况下为传入媒体描述[JSEP](第5.10节)添加remote track,用户代理必须执行以下步骤:
让receiver成为收发器的[[receiver]]。
让track成为receiver的[[ReceiverTrack]]。
让streams成为receiver的[[AssociatedRemoteMediaStreams]]。
创建一个新的RTCTrackEventInit字典,其中包含receiver,track,streams和收发器作为成员,并将其添加到trackEventInits。
要在给定RTCRtpTransceiver收发器和muteTracks的情况下处理传入媒体描述[JSEP](第5.10节)的remote track,用户代理必须执行以下步骤:
让receiver成为收发器的[[Receiver]]。
让track成为receiver的[[ReceiverTrack]]。
如果track.muted为false,则将track添加到muteTracks。
要在给定RTCRtpReceiver类型的receiver,msids,addList和removeList的情况下设置关联的remote streams,用户代理必须执行以下步骤:
让connection成为与receiver关联的RTCPeerConnection对象。
对于msids中的每个MSID都创建MediaStream对象,除非先前已使用该连接的id创建了MediaStream对象。
让stream成为上一步创建的MediaStream对象的列表。
让track成为receiver的[[ReceiverTrack]]。
对于streams中不存在于receiver的[[AssociatedRemoteMediaStreams]]中的每个stream,将其和track作为一对添加到removeList中。
对于streams中不存在于receiver的[[AssociatedRemoteMediaStreams]]中的每个stream,将其和track作为一对添加到addList。
将receiver的[[AssociatedRemoteMediaStreams]]值设置为streams。