- Code: Select all
C H A N G E S
CasparCG 2.1.0 Beta 2 (w.r.t 2.1.0 Beta 1)
o Fail early with clear error message if configured paths are not
o Added backwards compatibility (with deprecation warning) for using
thumbnails-path instead of thumbnail-path in casparcg.config.
o Suppress the logging of full path names in stack traces so that only the
relative path within the source tree is visible.
o General stability improvements.
o Native thread id is now logged in Linux as well. Finally they are mappable
against INFO THREADS, ps and top.
o Created automatically generated build number, so that it is easier to see
whether a build is newer or older than an other.
o Changed configuration element mipmapping_default_on to mipmapping-default-on
for consistency with the rest of the configuration (Jesper Stærkær).
o Handle stdin EOF as EXIT.
o Added support for RESTART in Linux startup script run.sh.
o Copy casparcg_auto_restart.bat into Windows releases.
o Fixed bug with thumbnail generation when there are .-files in the media
o Removed CMake platform specification in Linux build script
o Build script for building FFmpeg for Linux now part of the repository.
Contributions during development (not w.r.t 2.1.0 Beta 1):
+ Fix ffmpeg build dependencies on clean Ubuntu desktop amd64 14.04.3 or
higher (Walter Sonius).
o Added support for video modes 2160p5000, 2160p5994 and 2160p6000
(Antonio Ruano Cuesta).
o Fixed serious buffer overrun in FFmpeg logging code.
o FFmpeg consumer:
+ Fixed long overdue bug where HD material was always recorded using the
BT.601 color matrix instead of the BT.709 color matrix. RGB codecs like
qtrle was never affected but all the YCbCr based codecs were.
+ Fixed bug in parsing of paths containing -.
+ Fixed bugs where previously effective arguments like -pix_fmt were
+ Fixed bug where interlaced channels where not recorded correctly for
o DeckLink consumer:
+ Rewrote the frame hand-off between send() and ScheduledFrameCompleted() in
a way that hopefully resolves all dead-lock scenarios previously possible.
o Bluefish consumer:
+ Largely rewritten against newest SDK Driver 18.104.22.168 (Satchit Nambiar and
James Wise sponsored by Bluefish444):
+ Added support for Epoch Neutron and Supernova CG. All current Epoch
cards are now supported.
+ Added support for for multiple SDI channels per card. 1 to 4 channels
per Bluefish444 card depending on model and firmware.
+ Added support for single SDI output, complementing existing external key
+ Added support for internal key using the Bluefish444 hardware keyer.
o Screen consumer:
+ Fixed full screen mode.
o FFmpeg producer:
+ Increased the max number of frames that audio/video can be badly
interleaved with (Dimitry Ishenko).
+ Fixed bug where decoders sometimes requires more than one video packet to
decode the first frame.
+ Added support for IN and OUT parameters (Dimitry Ishenko).
+ Added DV/HDV video device support under Linux (Walter Sonius).
+ Remove unused flags variable in queued_seek (Dimitry Ishenko).
+ Now recognizes .ts files without probing contents (Ovidijus Striaukas).
+ Fixed uninitialized value causing initial log printout to usually say that
clips are interlaced when they are not.
o Destroy producer proxy:
+ Created workaround for bug in FFmpeg where every new thread used to
cleanup caused handles to leak (not sure why). Reduced the effect by using
only one thread for all producer destructions.
o Framerate producer:
+ Fixed bug when INFO was used on a not yet playing framerate producer.
o HTML producer:
+ Fixed bug where only URL:s with . in them where recognized.
o Image producer:
+ Added LENGTH parameter to allow for queueing with LOADBG AUTO.
+ Fixed inconsistency in what file extensions are supported vs listed in
o Layer producer:
+ Fixed serious bug where a circular reference of layer producers caused a
stack overflow and server crash.
+ Can now route from layer on a channel with an incompatible framerate.
o Channel producer:
+ Can now route from channel with an incompatible framerate.
+ Deinterlaces interlaced content from source channel.
+ Added optional NO_AUTO_DEINTERLACE parameter to opt out of the mentioned
o Scene producer:
+ Added abs(), floor(), to_lower(), to_upper() and length() functions to the
+ Created XML Schema for the *.scene XML format. Allows for IDE-like auto-
completion, API documentation and validation.
+ Added possibility to specify the width and height of a layer instead of
letting the producer on the layer decide.
+ Added global variables scene_width, scene_height and fps.
+ Made it possible to use expressions in keyframe values.
+ Fixed serious bug where uninitialized values were used.
+ Created more example scenes.
+ Can now forward CALL, CG PLAY, CG STOP, CG NEXT and CG INVOKE to the
producer on a layer.
o CG proxy wrapper producer:
+ New in 2.1.0.
+ Allows all CG producers to be used as an ordinary producer inside a layer
in a scene.
+ Allows the Scene producer to know what variables are available in a
o Color producer:
+ Now has support for gradients.
o PSD producer:
+ Added support for centered and right justified text.
o Text producer:
+ Fixed bug where tracking contributed to the overall text width on the
o Fixed bug in the contrast/saturation/brightness code where the wrong luma
coefficients was used.
o Rewrote the chroma key code to support variable hue, instead of fixed green
or blue. Threshold setting was removed in favour of separate hue width,
minimum saturation and minimum brightness constraints. Also a much more
effective spill suppression method was implemented.
o Fixed bug where glReadPixels() was done from the last drawn to texture
instead of always from the target texture. This means that for example a
MIXER KEYER layer without a layer above to key, as well as a separate alpha
file with MIXER OPACITY 0 now works as expected.
o Fixed bug where already drawn GL_QUADS were not composited against, causing
for example italic texts to be rendered incorrectly in the text_producer.
o INFO PATHS now adds all the path elements even if they are using the default
o MIXER CHROMA syntax deprecated (still supported) in favour of the more
advanced syntax required by the rewritten chroma key code.
o Added special command REQ that can be prepended before any command to
identify the response with a client specified request id, allowing a client
to know exactly what asynchronous response matched a specific request.
o Added support for listing contents of a specific directory for CLS, TLS,
DATA LIST and THUMBNAIL LIST.
o Fixed bug where CINF only returned the first match.
o Fixed bug where a client closing the connection after BYE instead of
letting the server close the connection caused an exception to be logged.