dashdemux: fails to download initialisation segment when switching bitrates
Submitted by A Ashley
Link to original bug (#762933)
Description
Occasionally dashdemux switches bitrates but fails to download the initialisation segment for the new bitrate. This typically causes the decoder that is downstream of dashdemux to produce numerous decode errors.
As an example, here is part of an HTTP access log:
2016-02-12T16:08:54.623Z/dash2/dash-multi-clear/video6/Header.m4s
2016-02-12T16:08:54.769Z/dash2/dash-multi-clear/audio1/4001040.m4s
2016-02-12T16:08:54.999Z/dash2/dash-multi-clear/video6/4001040.m4s
2016-02-12T16:08:57.831Z/dash2/dash-multi-clear/manifest.mpd
2016-02-12T16:08:58.952Z/dash2/dash-multi-clear/audio1/4001041.m4s
2016-02-12T16:09:02.151Z/dash2/dash-multi-clear/manifest.mpd
2016-02-12T16:09:02.754Z/dash2/dash-multi-clear/video4/4001041.m4s
2016-02-12T16:09:03.162Z/dash2/dash-multi-clear/audio1/4001042.m4s
2016-02-12T16:09:06.012Z/dash2/dash-multi-clear/video4/4001042.m4s
When switching from "video6" representation to the "video4" representation, it is not downloading video4/Header.m4s.
I have managed to produce a unit test that reproduces the problem, which I will attach to this ticket. I have not yet managed to work out why it is going wrong, but I suspect it is related to the manifest refresh, which is set to happen after every segment.