Blender Git Loki
Git Commits -> Revision ab8e9ba
Revision ab8e9ba by Benoit Bolsee (master) March 5, 2009, 15:16 (GMT) |
VideoTexture: reactivate VideoTexture for scons/cmake/makefile compilation systems, fix video streaming, fix camera support in Linux, add multi-thread cache service, fix crash when a VideoFFmpeg object could not be created. The multi-thread cache service is activated only on multi-core processors. It consists in loading, decoding and caching the video frames in a separate thread. The cache size is 5 decoded frames and 30 raw frames. Note that the opening of video file/stream/camera is not multi-thread: you will still experience a delay at the VideoFFmpeg object creation. Processing of the video frame (resize, loading to texture) is still done in the main thread. Caching is automatically enabled for video file, video streaming and video camera. Video streaming now works correctly: the videos frames are loaded at the correct rate. Network delays and frequency drifts are automatically compensated. Note: an http video source is always treated as a streaming source, even though the http protocol allows seeking. For the user it means that he cannot define start/stop range and cannot restart the video except by reopening the source. Pause/play is however possible. Video camera is now correctly handled on Linux: it will not slow down the BGE. A video camera is treated as a streaming source. |
Commit Details:
Full Hash: ab8e9ba3dd54fe8781f763644b882bbcb8cc7e8d
SVN Revision: 19200
Parent Commit: 7b197fc
Lines Changed: +505, -96
8 Modified Paths:
/source/gameengine/BlenderRoutines/CMakeLists.txt (+4, -0) (Diff)
/source/gameengine/BlenderRoutines/Makefile (+3, -0) (Diff)
/source/gameengine/BlenderRoutines/SConscript (+3, -0) (Diff)
/source/gameengine/VideoTexture/CMakeLists.txt (+1, -1) (Diff)
/source/gameengine/VideoTexture/Makefile (+3, -0) (Diff)
/source/gameengine/VideoTexture/SConscript (+1, -1) (Diff)
/source/gameengine/VideoTexture/VideoFFmpeg.cpp (+449, -89) (Diff)
/source/gameengine/VideoTexture/VideoFFmpeg.h (+41, -5) (Diff)
/source/gameengine/BlenderRoutines/Makefile (+3, -0) (Diff)
/source/gameengine/BlenderRoutines/SConscript (+3, -0) (Diff)
/source/gameengine/VideoTexture/CMakeLists.txt (+1, -1) (Diff)
/source/gameengine/VideoTexture/Makefile (+3, -0) (Diff)
/source/gameengine/VideoTexture/SConscript (+1, -1) (Diff)
/source/gameengine/VideoTexture/VideoFFmpeg.cpp (+449, -89) (Diff)
/source/gameengine/VideoTexture/VideoFFmpeg.h (+41, -5) (Diff)