Expand description
A MediaPlayer over the old PlayerBackend trait.
Two purposes.
Migration. Engines not yet ported โ ExoPlayer, the webview element, the
null backend โ keep working while PlayerController moves onto the new
contract (DR-245). Without this the port would have to land all four engines
at once.
Evidence. It reproduces exactly what every caller used to do: load,
then play, then seek for a start position. Running the conformance suite
against it therefore shows the old path failing the cases the new one passes,
on the same engine and the same media โ which is the difference between
asserting that a design was wrong and demonstrating it.
It is deliberately a faithful reproduction, not a fixed-up one. Making it pass would defeat the point.
TRACES: UR-081 | DR-245