From: Paul Cotton <paul.cotton@microsoft.com<mailto:paul.cotton@microsoft.com>>
Sent: jeudi, avril 20, 2017 3:37 PM
Subject: RE: Video MSE issue as of March 01 2017 - seamless switch to new media
To: 'public-html-media@w3.org<mailto:public-html-media@w3.org>' <public-html-media@w3.org<mailto:public-html-media@w3.org>>
Cc: Jerry Smith (WPT) <jdsmith@microsoft.com<mailto:jdsmith@microsoft.com>>, <plh@w3.org<mailto:plh@w3.org>>, Mark Watson <watsonm@netflix.com<mailto:watsonm@netflix.com>>, <wolenetz@google.com<mailto:wolenetz@google.com>>, <fd@w3.org<mailto:fd@w3.org>>, Unreal Streaming Technologies <contact@umediaserver.net<mailto:contact@umediaserver.net>>
The only issue remains, and looks like it is by design: if you first had audio+video stream and then you are switching to video-only stream (corresponding init segment will only have video) - that causes an immediate error in the SourceBuffer. Same about the opposite scenario:
your initial init segment (and mime-type string) had video-only, and while that stream is playing, you are switching to audio+video - same thing will happen - SourceBuffer sets an error.
https://www.w3.org/TR/media-source/#sourcebuffer-init-segment-received
"3. If the first initialization segment received flag<https://www.w3.org/TR/media-source/#first-init-segment-received-flag> is true, then run the following steps:
1. Verify the following properties. If any of the checks fail then run the append error algorithm<https://www.w3.org/TR/media-source/#sourcebuffer-append-error> and abort these steps.
* The number of audio, video, and text tracks match what was in the first initialization segment<https://www.w3.org/TR/media-source/#init-segment>."
Producing an error of the number of tracks do not match, is per spec..