|Engine Module Type String||Video|
|Module Type Usage||Multiple Type|
Video Modules enable the Drag[en]gine to load videos from file or to save a video to a file. Video modules are Multiple Type Modules hence you can install more than one Video module at the same time. Launchers typically search missing Video modules for you so you have only those installed that your games really use.
Video resources store a video as a sequence of still images. Videos in general are of streaming type although non-streaming videos are possible. The memory consumption though rises quickly so usually you are not going to use non-streaming videos. Loading a streaming video only opens the file to be used later on but does not yet load the video. For this a decoder has to be created first. The decoder is then used by the Graphic Module to retrieve the images once required. Decoders are attached to the video object so it never lives longer than the video object itself.
Video modules contain in contrary to other resource loader module four functions. First the InitLoadVideo function is called. The Video module has to store the required informations about the video deBaseVideoInfo which the module creates itself. The engine then creates the Video resource and passes it finally to the LoadVideo function. During the two calls the file pointer is not changed hence you can read on from where you left off in the InitLoadVideo function. Afterward for streaming video files CreateDecoder is called to obtain a decoder for the loaded file. All interaction happens afterwards using this decoder object.
Saving is currently not supported yet. It will though work using an encoder object similar to the decoder case just in reverse.
See the following classes to get started with Video modules: