I am not the author of the code, so I don't know the exact reason.
Maybe there is no one, maybe it is because of the performance (as StackOverflow says,
EmbeddedMediaPlayerComponent
uses heavyweight Canvas - it usually can render using GPU acceleration,
CallbackMediaPlayerComponent
renders into BufferedImage - that is rendering using CPU)
We can look at