The game just loops video, when it ends it sets the same samples from start (it sets timestamps on input samples and restarts that from 0).
I guess recreating the transform in SetInputType might work too, but why? Gstreamer pipeline creation is known to take a long time, I am almost sure it will introduce noticable hitching when looping video over. I can imagine that in some other cases (when something about input stream actually change) we might need to actually introduce transform recreation in SetInputType, but probably even in that case we would like to do that only if that is actually needed?