Helge Norberg [Fri, 31 Oct 2014 10:47:02 +0000 (11:47 +0100)]
- Increased consumer timeout to 10 seconds.
- Implemented a new AMCP command called GL
o GL GC - garbage collects GL resources not currently in use.
o GL INFO - provides information about GL resource usage.
Helge Norberg [Fri, 3 Oct 2014 12:49:18 +0000 (14:49 +0200)]
Fixed bug where both layer_producer and channel_producer display:s and empty/late first frame when the producer is called before the consumer in the other end has received the first frame.
o Added support for perspective correct corner pinning.
o Added support for mipmapped textures with anisotropic filtering for
increased downscaling quality.
o Added support for cropping a layer. Not the same as clipping.
o Added support for rotation.
o Added support for changing the anchor point around which fill_translation,
fill_scale and rotation will be done from.
AMCP
----
o To support the new mixer features the following commands has been added:
- MIXER ANCHOR -- will return or modify the anchor point for a layer
(default is 0 0 for backwards compatibility). Example:
MIXER 1-10 ANCHOR 0.5 0.5
...for changing the anchor to the middle of the layer
(a MIXER 1-10 FILL 0.5 0.5 1 1 will be necessary to place the layer at the
same place on screen as it was before).
- MIXER ROTATION -- will return or modify the angle of which a layer is
rotated by (clockwise degrees) around the point specified by ANCHOR.
[html/flash] concatenate all parameters after index 2 given to CG INVOKE before passing to CG producer just as with CALL. Allows for spaces without having to surround with quotes.
Helge Norberg [Tue, 26 Aug 2014 13:52:54 +0000 (15:52 +0200)]
html producer:
Implemented a custom version of window.requestAnimationFrame which will follow the pace of the channel, for perfectly smooth animations.
No longer manually interlaces frames, to allow for mixer fill transforms without artifacts.
Now uses CEF3 event loop to avoid 100% CPU core usage.
Helge Norberg [Tue, 5 Aug 2014 11:57:04 +0000 (13:57 +0200)]
Moved flash player global mutex serialization to put_Movie instead of around CoInitialize/CreateAxControl/DestroyAxControl. It seems that the template host does not support concurrent initialization resulting in SecurityException later on. The previous lock around CoInitialize/CreateAxControl/DestroyAxControl only seems to have reduced the likelihood of put_Movie being run concurrently.
Added support for using a different configuration file at startup than the default casparcg.config by simply adding the name of the file to use as the first command line argument to casparcg.exe.
Helge Norberg [Fri, 27 Jun 2014 12:49:37 +0000 (14:49 +0200)]
- Added support for multiple streaming_consumers on the same channel
- Added support for the placeholder <client_ip_address> for ADD and REMOVE commands resolving to the client ip address of the AMCP connection.
Helge Norberg [Thu, 26 Jun 2014 17:04:50 +0000 (19:04 +0200)]
#281
Added support for iVGA consumer to not provide channel sync even though connected. Useful for iVGA clients that downloads as fast as possible instead of in frame-rate pace, like Wirecast.
<provide-sync>false</provide-sync> has to be added inside the <newtek-ivga /> element to not provide channel sync when connected.
Helge Norberg [Wed, 18 Jun 2014 18:13:16 +0000 (20:13 +0200)]
-Fixed bug where ffmpeg parameter values with : in them did not work like -vf scale=480:360
-Fixed related bug where ffmpeg parameter values with - in them did not work like -vf yadif=3:-1
Helge Norberg [Wed, 18 Jun 2014 12:56:30 +0000 (14:56 +0200)]
Merged relevant changes from pull #275
- enables streaming from a channel to a remote destination
- renamed ffmpeg_consumer to streaming_consumer to let both the old and the new consumer coexist until the old features are integrated in the new implementation like SEPARATE_KEY. Also the stability needs to be proven.
Helge Norberg [Wed, 18 Jun 2014 11:27:04 +0000 (13:27 +0200)]
- Refactored so that consumers get the input channel_layout at initialization, instead of at the first frame.
- Extracted duplicated code to reusable function.
Helge Norberg [Tue, 10 Jun 2014 11:40:48 +0000 (13:40 +0200)]
- Enabled a single instance of decklink_consumer to manage a separate key output driven by the ScheduledFrameCompleted callback of the fill playback instead of by its own callback. This seems to achieve perfect sync between key and fill with a decklink quad card. Enable by setting:
<keyer>external_separate_device</keyer>
the default is that the key device will be fill device + 1 but can be overridden via
<key-device>[1..]</key-device>
Helge Norberg [Mon, 31 Mar 2014 15:36:11 +0000 (17:36 +0200)]
Created consumer_index counter in channel_consumer instead of using uninitialized channel_index, to be able to have more than one channel_consumer on the same channel.
Helge Norberg [Mon, 31 Mar 2014 15:23:51 +0000 (17:23 +0200)]
Created consumer_index counter in channel_consumer instead of using uninitialized channel_index, to be able to have more than one channel_consumer on the same channel.
Helge Norberg [Thu, 16 Jan 2014 10:17:15 +0000 (11:17 +0100)]
FFmpeg: reenabled curiously disabled logging suppression during thumbnail generation/media info extraction
CG commands: avoid logging stacktraces for user related errors, but return 404 CG ERROR instead
Helge Norberg [Wed, 15 Jan 2014 17:42:07 +0000 (18:42 +0100)]
#222 Modified html_producer so that Caspar ticks the web browser. The javascript function onEnterFrame() must be implemented in order to achieve lag-free motion
TK3 [Fri, 6 Dec 2013 03:17:33 +0000 (22:17 -0500)]
BUG FIX: FFMPEG Producer. When using LOABG with AUTO, and a SEEK or LENGTH parameter was supplied. The frame count calculation was incorrect and could result in 0.
Helge Norberg [Wed, 13 Nov 2013 15:51:33 +0000 (16:51 +0100)]
Moved framerate calculation from CLS/CINF to thumbnail generation time for each file. A new "database" media_info.csv will be created under the thumbnails folder containing the information.