Helge Norberg [Tue, 19 May 2015 15:58:00 +0000 (17:58 +0200)]
* Fixed CEF compilation error in debug mode.
* Reenabled text producer.
* Upgraded StackWalker and increased STACKWALK_MAX_NAMELEN from 1024 to 4096 (crashes on long function names otherwise).
* Added psd documents as STILL media type in CLS and CINF.
Helge Norberg [Tue, 12 May 2015 11:16:07 +0000 (13:16 +0200)]
* Merged html producer and updated to latest CEF version (does not have satisfactory performance though see http://casparcg.com/forum/viewtopic.php?f=3&t=3153). Registers a cg_proxy implementation as well, to work seamlessly with CG commands.
* Modules can now intercept command line arguments (used by html module) and take complete control of server start up.
* Module uninitialization now in reverse order of initialization.
Helge Norberg [Fri, 8 May 2015 18:16:52 +0000 (20:16 +0200)]
* Compiled ffmpeg for Linux as similary to Zeranoe Windows build as possible.
* Support for finding files on Linux in a case insensitive way.
* Enable stack trace in Linux
* Replaced boost::timer with caspar::timer because of too low resolution on Linux with boost::timer.
* Decoupled copying of runtime dependencies (dll:s and so:s) from shell to the module most directly dependant on the file.
* Extracted module startup from server.cpp to a generated included_modules.h.
* Each module CMakeLists.txt adds itself to included_modules.h, so if a project is not built under for example linux included_modules.h will not try to include the flash module.
* Removed hard dependencies to XML based consumer factories, so that server.cpp does not need to know what kind of consumers there are when iterating the <consumers /> element.
* Enabled modules like flash and html (will be merged soon) to hook in CG functionality without AMCPCommandsImpl.cpp needing too know about them.
* Removed hard dependencies to flash module from AMCP, CLK and CII protocol implementations, using the above mentioned abstractions.
Reduced the coupling between specific modules and InfoCommand, VersionCommand and main.cpp by enabling modules to contribute system information via providers
Helge Norberg [Fri, 27 Mar 2015 14:02:48 +0000 (15:02 +0100)]
Merged ffmpeg duration column and media_info_repository in CLS and CINF from master, and abstracted CLIP_TYPE as well, so that the CLS command does not need to know about media types.
Helge Norberg [Thu, 19 Mar 2015 15:59:35 +0000 (16:59 +0100)]
Created CMake build system for building CasparCG Server. To build:
1. Install CMake
2. Create a folder called build in the root.
3. With the build folder as working directory write:
cmake -A x64 -G "Visual Studio 12 2013" ..
4. Open build/CasparCG Server.sln
Helge Norberg [Mon, 9 Mar 2015 10:20:33 +0000 (11:20 +0100)]
* Added RxCpp library for LINQ api, replacing Boost.Range based iterations where appropriate (often becomes easier to read). It is missing some features but seems to be somewhat extendable when it comes to terminal operations via its aggregate() method.
Helge Norberg [Thu, 5 Mar 2015 21:10:47 +0000 (22:10 +0100)]
OGL image_mixer: Fixed a performance hotspot where an idle channel without any layers performs zero initialization of memory for each frame. Now uses a shared memory buffer as big as the biggest video mode available for all channels.
Helge Norberg [Wed, 4 Mar 2015 14:12:28 +0000 (15:12 +0100)]
- Fixed diag to work with new SFML version.
- Added thread local contextual information which currently include channel and layer where applicable (used by diag).
- Created graph_sink abstraction, separating diag backend from diag API.
- Bundled liberation fonts for use with SFML font rendering.
- In addition to ordinary diag OSD window backend an OSC backend has also been implemented:
/diag/[graph_id]/text <string> for the name of the graph
/diag/[graph_id]/color/[value-name] <int> for the 32-bit rgba value of the color for the tag or value with the a given name.
/diag/[graph_id]/context/channel <int> for the channel that the graph concerns (if any)
/diag/[graph_id]/context/layer <int> for the layer that the graph concerns (if any)
/diag/[graph_id]/value/[value-name] <float> for the value generally within 0.0 <= n <= 1.0
/diag/[graph_id]/tag/[value-name] only sent when an "event" happens, like a dropped frame or similar. Generally no values are sent for value-names dedicated for tagging.
Helge Norberg [Fri, 20 Feb 2015 20:47:19 +0000 (21:47 +0100)]
Created template alias for std::vector<T, tbb::cache_aligned_allocator<T>> to caspar::cache_aligned_vector<T> which we use heavily throughout the code.
Helge Norberg [Thu, 12 Feb 2015 15:52:55 +0000 (16:52 +0100)]
* Upgraded to Visual Studio 2013
* Notable changes needed because of boost upgrade:
- custom async implementation removed in favor of std::async. (boost::async still does not have support for deferred launch policy).
- std::future instead of boost::future throughout the code because of above change.
- std::future requires default constructibility, so for example caspar::array has been affected. spl::shared_ptr has been changed to std::shared_ptr in cases where required.
- boost.log changes adopted from 2.0.7.
* Fixed bugs where some OpenGL resources was not destructed on ogl thread.
* Fixed audio cadence issues in ffmpeg producer.
Helge Norberg [Wed, 11 Feb 2015 11:55:39 +0000 (12:55 +0100)]
Updated some libraries to newer versions and/or versions compiled for vc12 (freeimage, gtest, sfml and tbb). The changes in our code will come in a separate commit for easier viewing of changes.
Helge Norberg [Wed, 11 Feb 2015 10:21:37 +0000 (11:21 +0100)]
Updated boost. Separate commit from the code changes. (So this revision will not compile, but it will be easier to view the actual code changes in the separate commit)
Misc modifications to fix problems found by static code analysis and some simplifications, like removal of copy constructors and copy assignment operators where the default would do the same. Also some resource handling improvements
niklaspandersson [Fri, 30 Aug 2013 09:54:14 +0000 (11:54 +0200)]
Manually merged 77fbc02 from master
Manually merged 597805e from master
Manually merged 78c8a30 from master
Manually merged 306459b from master
Manually merged 55a287b from master
Manually merged 50fa7a3 from master
Manually merged 0f3ee44 from master
Manually merged 1cdee8b from master
niklaspandersson [Fri, 30 Aug 2013 09:54:14 +0000 (11:54 +0200)]
Manually merged 77fbc02 from master
Manually merged 597805e from master
Manually merged 78c8a30 from master
Manually merged 306459b from master
Manually merged 55a287b from master
Manually merged 50fa7a3 from master
Manually merged 0f3ee44 from master
Manually merged 1cdee8b from master
niklaspandersson [Mon, 19 Aug 2013 08:17:30 +0000 (10:17 +0200)]
* new way of mapping font-name to font-file. Using postscript font-name instead of the mapping found i the registry.
* extracting unicode layer-name from psd-files.