Additional question: What is the scenario in which this behavioiur is useful?
On 07/18/11 14:17, Tommy Widenflycht (ᛏᚮᛘᛘᚤ) wrote:
I am very confused regarding the below paragraph from the latest spec: When a track in a MediaStream<http://www.whatwg.org/specs/web-apps/current-work/multipage/video-conferencing-and-peer-to-peer-communication.html#mediastream> parent is disabled, any MediaStreamTrack<http://www.whatwg.org/specs/web-apps/current-work/multipage/video-conferencing-and-peer-to-peer-communication.html#mediastreamtrack> objects corresponding to the tracks in any MediaStream<http://www.whatwg.org/specs/web-apps/current-work/multipage/video-conferencing-and-peer-to-peer-communication.html#mediastream> objects that were created from parent are disassociated from any track, and must not be reused for tracks again. If a disabled track in a MediaStream<http://www.whatwg.org/specs/web-apps/current-work/multipage/video-conferencing-and-peer-to-peer-communication.html#mediastream> parent is re-enabled, from the perspective of any MediaStream<http://www.whatwg.org/specs/web-apps/current-work/multipage/video-conferencing-and-peer-to-peer-communication.html#mediastream> objects that were created from parent it is a new track and thus new MediaStreamTrack<http://www.whatwg.org/specs/web-apps/current-work/multipage/video-conferencing-and-peer-to-peer-communication.html#mediastreamtrack> objects must be created for the tracks that correspond to the re-enabled track. After cloning a LocalMediaStream it looks like this: LocalMediaStream -> MediaStream1 Track1(E) Track1(E) Track2(E) Track2(E) Track3(E) Track3(E) and as I interpret the spec it looks like this if Track1 in the LocalMediaStream is disabled: LocalMediaStream -> MediaStream1 Track1(D) Track2(E) Track2(E) Track3(E) Track3(E) So Track1 disappears from the MediaStream1 object and doesn't come back even if Track1 in the LMS object is enabled: LocalMediaStream -> MediaStream1 Track1(E) Track2(E) Track2(E) Track3(E) Track3(E) And to get it back again has to create a new MediaStream object from the LMS: LocalMediaStream -> MediaStream2 Track1(E) Track1(E) Track2(E) Track2(E) Track3(E) Track3(E) Is this interpretation correct? /Tommy -- Tommy Widenflycht, Senior Software Engineer Google Sweden AB, Kungsbron 2, SE-11122 Stockholm, Sweden Org. nr. 556656-6880 And yes, I have to include the above in every outgoing email according to EU law.