CG commands that expects an already running flash template no longer starts a flash player with a template host just to say "no template running on layer". Now only CG ADD and CG INFO creates a flash_producer/flash player if one is not already running on the video layer.
Huge performance impact detected with chroma key support (even though not in use for a layer) in image shader. Straight alpha output support also adds a small overhead (even when not in use), so just like with blend-modes it is now conditionally compiled in the shader, and turned on in the configuration file.
New <mixer /> element added to configuration for turning on mixer features that not everybody would want to pay for (performance-wise). blend-modes also moved into this element:
* Created custom decklink allocator for reducing memory footprint.
* Made sure that more threads have the unstructured exception handler installed (avoids crashing the entire process in case of access violations), and thread naming for more threads.
* Ensure that if an exception occurs while rendering the diagnostic window, the window is closed instead of it stopping to respond to window events.
Helge Norberg [Thu, 15 Aug 2013 15:40:57 +0000 (17:40 +0200)]
#155
Fixed problem where SFML stops calling SoundStream::OnGetData when too few samples are returned. This problem seems to have started after the change to static linking against SFML. The current solution is to collect the samples of more frames (3) before returning sample data. This unfortunately adds a 2 frame delay on system audio, but solves the choppyness.
Helge Norberg [Thu, 27 Jun 2013 15:52:36 +0000 (17:52 +0200)]
Corrected line lengths (should always be under 80 characters), inconsistent amount of newlines between sections and removed trailing whitespace from CHANGES.txt and README.txt
Helge Norberg [Tue, 25 Jun 2013 13:55:46 +0000 (15:55 +0200)]
Added new decklink consumer implementation which does not use scheduled playback but uses DisplayVideoFrameSync() and sleeps until frame has been shown using the timing information returned by GetHardwareReferenceClock(). This seems to reduce the latency (although not as much as I would have hoped) and provide for more deterministic synchronization between multiple instances (for example a Decklink Quad with one device used for fill and another for key).
Helge Norberg [Tue, 18 Jun 2013 12:26:43 +0000 (14:26 +0200)]
Experimental support for synchronizing output of multiple consumers. For example using a Decklink Quad with one consumer for fill and one for key. Place the consumer elements in casparcg.config within a <synchronizing /> element. For example:
Helge Norberg [Tue, 11 Jun 2013 14:31:55 +0000 (16:31 +0200)]
Experimental support for switching output between premultiplied / straight alpha
Use
MIXER 1 STRAIGHT_ALPHA_OUTPUT 1
to turn on straight alpha output on channel 1 or configure it in casparcg.config under the <straight-alpha-output /> element for the channel
Helge Norberg [Tue, 4 Jun 2013 15:26:44 +0000 (17:26 +0200)]
straighten alpha before applying contrast-saturation-brightness when contrast is less than 1 and remultiply afterwards to prevent rgb values from rising above alpha value for each pixel.
cambell [Fri, 31 May 2013 02:01:53 +0000 (09:01 +0700)]
Rebase parameters branch on current master.
* Change parameters const& to const parameters& for coding style.
* Update thumbnail producer to use parameters class.
* Update some methods to use params.get(...) rather than get_params.
Helge Norberg [Wed, 29 May 2013 07:53:25 +0000 (09:53 +0200)]
Fixed problem in audio_mixer where a default constructed channel_layout was used. Also fixed so that default constructed channel_layout and mix_config instances doesn't have uninitialized members
Helge Norberg [Mon, 27 May 2013 18:23:42 +0000 (20:23 +0200)]
Modified OSC support so that whenever an AMCP connection is established an OSC client is started against the AMCP client ip using a default udp port configurable in casparcg.config. The OSC client will follow the lifycycle of the AMCP connection. A <osc><predefined-clients></predefined-clients></osc> element is provided to setup persistent OSC clients just as today.
Reduced use of temporaries and minor optimizations in AMCPProtocolStrategy::Parse in order to address #113
also increased buffersize in SocketInfo to be more efficient
Made audio_candence sequences mean the number of samples per channel instead of the number of samples for *both* channels
#6
Fixed bug where we give too few samples to the decklink driver each time RenderAudioSamples() is called (constant rate of 50 calls per second) when the video format has a frame rate > 50 like 59.94 and 60