Its the same as if you were replacing a static texture, you can just delete the new texture and the old one will return. Described in the API Reference example:
""" Delete the Dynamic Texture, reversing back the final to its original state. """
Of course in your code your texture is called ‘video’ so you would change the delete line to:
This only works if you still have access to ‘video’ which is why you need to save a reference to it. And having access to it allows you to check the status of the source.
video.source.status should return -1 through 3 depending on what its currently doing.
-1 = bge.texture.SOURCE_ERROR
0 = bge.texture.SOURCE_EMPTY
1 = bge.texture.SOURCE_READY
2 = bge.texture.SOURCE_PLAYING
3 = bge.texture.SOURCE_STOPPED
If the status is 3, the video is stopped so you can delete your video texture and return the old texture. Just make sure your code knows what to do after deleting it (for example you can turn off positive pulse mode, load a new video, shut down the interface, etc.).