Robert Nagy [Sun, 14 Apr 2013 17:12:40 +0000 (19:12 +0200)]
- Implemented real-time state notification using OSC-UDP.
Commit sponsored by Boffins Technologies.
Notes:
- Based on similar functionality in CasparCG 2.1.
- Note not all events/messages from 2.1 are implemented.
Changes w.r.t CasparCG 2.1:
- Better performance.
- Use UDP instead of TCP.
- Configurable in casparcg.config.
- Use "Microsoft Asynchronous Agents Message Blocks" API (included in VS2010+), instead of custom "reactive" solution.
TK3 [Thu, 28 Mar 2013 06:11:23 +0000 (02:11 -0400)]
A better git revision tagging scheme. This marks the file manifest properly via shell.rc. This method only tags with the 7 digit revision hash and does not use any git tag information.
Here is an example of what will in title of server console window:
CasparCG Server 2.0.4.0f063d7 STABLE
nirklas [Mon, 25 Mar 2013 14:51:49 +0000 (14:51 +0000)]
Linefeeds in data returned from DATA RETRIEVE is now sent as a linefeed char (0x0a) instead of beeing encoded as "\n".
This is the way xml is returned from the info-command already, all xml returned from caspar is now serialized in the same way.
TK3 [Sun, 24 Mar 2013 15:23:08 +0000 (11:23 -0400)]
Subtree merge of old SVN "docs" folder into the "master" git branch. You can see revision history and do subsequent subtree merges for legacy server branches from the "docs_subtree" git tag. If you need to work on a server revision previous to this commit…DO NOT PERFORM A CONVENTIONAL MERGE. You must use a subtree merge with --prefix=dependencies/ so that these files get put into the correct subdirectory. This is a limitation of the transfer from svn.
TK3 [Sun, 24 Mar 2013 14:48:05 +0000 (10:48 -0400)]
Subtree merge of old SVN "dependencies" folder into the "master" git branch. You can see revision history and do subsequent subtree merges for legacy server branches from the "dependencies_subtree" git tag. If you need to work on a server revision previous to this commit…DO NOT PERFORM A CONVENTIONAL MERGE. You must use a subtree merge with --prefix=dependencies/ so that these files get put into the correct subdirectory. This is a limitation of the transfer from svn.
hellgore [Thu, 24 Jan 2013 09:52:13 +0000 (09:52 +0000)]
3560321: Merged patch from Robert Nagy, but haven't been able to play any swf myself. I have tried different versions of the flash player but no luck. Committing anyway because the changes should not impact anything else.
hellgore [Fri, 18 Jan 2013 10:14:02 +0000 (10:14 +0000)]
3601360: Ensure that the ffmpeg consumer cannot block the channel output thread if the previous frame is still being encoded when a new one arrives. The ffmpeg consumer will instead drop the new frame, ensuring that the channel is otherwise unaffected by the performance problems in the ffmpeg consumer.
3569308: added 720p2398 and 720p2400 as supported output resolutions (not supported by decklink) and 1080p5994 and 1080p6000 supported by both decklink (the API at least, but hardware may vary) and bluefish
hellgore [Thu, 23 Aug 2012 13:07:09 +0000 (13:07 +0000)]
Send swf files to TemplateHost instead of letting ffmpeg handle them. The TemplateHost needs to be updated to support SWF:s before this will work though.
hellgore [Tue, 21 Aug 2012 09:12:22 +0000 (09:12 +0000)]
Fixed https://sourceforge.net/tracker/?func=detail&aid=3529444&group_id=224232&atid=1061033 where the last screen consumer added to a channel overwrites any previously added ones due to a constant index.
hellgore [Fri, 10 Aug 2012 15:39:35 +0000 (15:39 +0000)]
Added fallback support for latin1 file encoding for data files. An UTF-8 BOM is required for a file to be detected as an UTF-8 file now, everything else is read as latin1. DATA STORE *always* writes as UTF-8 with BOM
hellgore [Wed, 8 Aug 2012 13:46:53 +0000 (13:46 +0000)]
Modified the image_scroll_producer
==================================
* The SPEED parameter is now expressed as pixels to move per frame/field.
Previously it was expressed as number of half pixels to move per frame.
* The scrolling direction is now reversed so that a positive speed is now
correct for an ordinary end credits roll.
* Previously both fields in interlaced video formats represented the same
temporal image position causing non smooth film like motion. This has now
been corrected so that both fields represents two different temporal image
positions for smooth field-rate motion instead of frame-rate motion.
* The image now starts at a position just outside of the screen and ends at a
position just outside of the screen. Previously it started at a strange
somewhere in the middle of the image position for end credit rolls.
* The SPEED parameter now is a decimal value instead of an integer value.
using a value of for example 0.5 will move the image one half pixel each
frame/field placed with subpixel accuracy. SPEED 0.5 is the previous
equivalent of SPEED -1 since the speed previously was measured in half
pixels instead of pixels.
* The producer now internally is more exact in the positioning of each
frame/field. Previously the image could be placed a little bit "off" because
of double precision rounding errors (now calculates offsets in pixels instead
of screens, which is more accurate) which could make the image being rendered
in between two pixels with subpixel accuracy once in a while even though
speed was 2 or more (no half pixels should be involved).
* Added support for motion blur via a new BLUR parameter with the number of
pixels to blur as parameter.
* Added support for premultiplying the color channels of the input image with
its alpha, useful when the software used to creates the image saves with
straight alpha (caspar expects premultiplied alpha). This is done with the
parameter PREMULTIPLY.
hellgore [Wed, 8 Aug 2012 11:56:59 +0000 (11:56 +0000)]
Improved the screen consumer
============================
* No longer spin waits for vsync (the video card driver seems to do this at
least with nvidia), but sleeps almost up until the time when the vertical
blank occurs, thus the time for swap buffers (a smaller spin wait than
before).
* Now deinterlaces to two separate frames so for example 50i will no longer
be converted to 25p but instead to 50p for smooth playback of interlaced
content.