Fish is right - with some updates which I will note here.
The technology used to display video between player types is not the same, each player runs on a different OS and has different limitations when it comes to gap less.
Android: gapless playback is fully supported from late v2 R207 (device must have more than one hardware based video decoder)
Windows: the linked article is still relevant
webOS/Tizen: performs somewhere between Android/Windows and is a limitation of the operating system - later versions improve the behaviour
I think the last post of the linked topic is right, and this is on my list of things to investigate. However as the OP notes, we need to rewrite some of the rendering logic to solve the problem fully.