Description
The trackschanged
event from the Player doesn't fire at the correct time WRT player.getTracks()
. Currently, it fires when StreamingEngine handles a Period transition and starts buffering content from that Period. However, player.getTracks
will return tracks based on the current playhead position. This means that when the event fires, the tracks returned haven't actually changed and will change once the playhead moves. This also means that if you seek backwards into a different buffered Period, the event will not fire.
Another side effect of this is that while the playhead is in the old Period and StreamingEngine is buffering from the new Period, the tracks.active
field is not correct. The active
field is determined from the current streams in StreamingEngine; this means that while the playhead is in a different Period, there will be no active
tracks. The demo app currently throws errors because of this.