ffmpeg consumer creating an additional output_a.mov containing only the key.\r
o Added KILL command for shutting down the server without console access.\r
\r
+\r
CasparCG 2.0.3 Stable (w.r.t 2.0.3 Alpha)\r
=========================================\r
\r
exist.\r
o DATA REMOVE command was added.\r
\r
+\r
CasparCG 2.0.3 Alpha (w.r.t 2.0 Stable)\r
=======================================\r
\r
+ Added support for motion blur via a new BLUR parameter\r
+ Added PREMULTIPLY parameter to support images stored with straight alpha.\r
\r
+\r
CasparCG 2.0 Stable (w.r.t Beta 3)\r
==================================\r
\r
o Screen Consumer\r
+ Added vsync support.\r
\r
+\r
CasparCG 2.0 Beta 3 (w.r.t Beta 1)\r
==================================\r
\r
\r
o Simplified.\r
\r
+\r
CasparCG 2.0 Beta 1 (w.r.t Alpha)\r
=================================\r
\r
o Alpha value in color codes is now optional.\r
o More than 2 Decklink cards might be possible but have not yet been tested.\r
\r
+\r
CasparCG 2.0 Alpha (w.r.t 1.8)\r
==============================\r
\r
-================================================================================\r
- CasparCG Server 2.0.3\r
-================================================================================\r
+CasparCG Server 2.0.3\r
+=====================\r
\r
Thank you for your interest in CasparCG Server, a professional \r
software used to play out and record professional graphics, audio and video \r
\r
\r
SYSTEM REQUIREMENTS\r
-===================\r
+-------------------\r
\r
1. Intel processor capable of using SSSE3 instructions. Please refer to\r
http://en.wikipedia.org/wiki/SSSE3 for a complete list.\r
\r
\r
INSTALLATION\r
-============\r
+------------\r
\r
1. Check that your system meets the requirements.\r
\r
4. Install "Flash Player 10.3.183.14" from the "Flash Player Installation"\r
folder.\r
\r
-5. Make sure you turn off Windows' "Aero Theme" and ClearTyper as they can interfere \r
- with CasparCG Server's OpenGL features!\r
+5. Make sure you turn off Windows' "Aero Theme" and ClearTyper as they can\r
+ interfere with CasparCG Server's OpenGL features!\r
\r
6. Configure the server settings in the "casparcg.config" text file.\r
\r
7. Start the "CasparCG.exe" program.\r
\r
8. Connect to the server from a client, such as the included CasparCG 2.0 Demo\r
- Client (requires Adobe AIR) or the CasparCG Client 2.0 (available as a separate\r
- download.)\r
+ Client (requires Adobe AIR) or the CasparCG Client 2.0 (available as a\r
+ separate download.)\r
\r
\r
DOCUMENTATION\r
-=============\r
+-------------\r
\r
The most up-to-date documentation is always available at\r
http://casparcg.com/wiki/\r
\r
\r
CONFIGURATION\r
-=============\r
+-------------\r
\r
By default, CasparCG Server will look in the media folder for videos, audio and\r
images files. Flash templates are stored in the templates folder. If you want to\r
Open casparcg.config and use the following node for consumers:\r
\r
<consumers>\r
- <screen/>\r
+ <screen />\r
</consumers>\r
\r
* How to enable a DeckLink card and how to get video in and key output:\r
Open casparcg.config and use the following node for consumers:\r
\r
<consumers>\r
- <decklink/>\r
+ <decklink />\r
</consumers>\r
\r
# Tip:\r
\r
\r
LICENSING\r
-=========\r
+---------\r
+\r
CasparCG Client is distributed under the GNU General Public License GPLv3 or\r
higher, see LICENSE.TXT for details.\r
\r
The included software is provided as-is by Sveriges Televison AB.\r
-More information is available at http://casparcg.com/
+More information is available at http://casparcg.com/\r
if(boost::this_thread::get_id() != thread_.get_id())
thread_.join();
}
-
- template<typename Func>
- auto try_begin_invoke(Func&& func, task_priority priority = normal_priority) -> boost::optional<caspar::move_on_copy<boost::unique_future<decltype(func())>>>
- {
- if(!is_running_)
- BOOST_THROW_EXCEPTION(invalid_operation() << msg_info("executor not running."));
-
- // Create a move on copy adaptor to avoid copying the functor into the queue, tbb::concurrent_queue does not support move semantics.
- auto task_adaptor = make_move_on_copy(create_task(func));
-
- auto future = task_adaptor.value.get_future();
-
- // Enable the cancellation of the task if priority is other than
- // normal, because there are two queues to try_push to. Either both
- // succeed or nothing will be executed.
-
- boost::promise<bool> cancelled_promise;
- boost::shared_future<bool> cancelled(cancelled_promise.get_future());
-
- bool was_enqueued = execution_queue_[priority].try_push([=]() mutable
- {
- // Wait until we know if we should cancel execution or not.
- if (cancelled.get())
- return;
-
- try
- {
- task_adaptor.value();
- }
- catch(boost::task_already_started&)
- {
- }
- catch(...)
- {
- CASPAR_LOG_CURRENT_EXCEPTION();
- }
- });
-
- if (!was_enqueued)
- return boost::optional<caspar::move_on_copy<boost::unique_future<decltype(func())>>>();
-
- if (priority != normal_priority)
- {
- was_enqueued = execution_queue_[normal_priority].try_push(nullptr);
-
- if (was_enqueued)
- {
- // Now we know that both enqueue operations has succeeded.
- cancelled_promise.set_value(false);
- }
- else
- {
- cancelled_promise.set_value(true); // The actual task has already been
- // queued so we cancel it.
-
- return boost::optional<caspar::move_on_copy<boost::unique_future<decltype(func())>>>();
- }
- }
- else
- {
- cancelled_promise.set_value(false);
- }
-
- return caspar::make_move_on_copy(std::move(future));
- }
template<typename Func>
auto begin_invoke(Func&& func, task_priority priority = normal_priority) -> boost::unique_future<decltype(func())> // noexcept
* along with CasparCG. If not, see <http://www.gnu.org/licenses/>.
*
* Author: Robert Nagy, ronag89@gmail.com
+* Author: Helge Norberg, helge.norberg@svt.se
*/
#include "../stdafx.h"