Helge Norberg [Tue, 17 Nov 2015 10:57:27 +0000 (11:57 +0100)]
Changed default log level to info and moved logging statements that we always want to see in a production system log from debug to info. This allows for more granularity on "development levels" debug and trace.
Helge Norberg [Mon, 16 Nov 2015 18:15:07 +0000 (19:15 +0100)]
Included libcef.dll.pdb to get stack traces for CEF code (at least temporarily while we are in the testing phase of 2.1). Changed compression format to 7Zip instead of Zip to reduce the build size to approximately the same as before. Unpacked libcef.dll.pdb is about 500 MB though, which is quite large.
Helge Norberg [Fri, 13 Nov 2015 15:39:54 +0000 (16:39 +0100)]
Implemented a TCP server, simply sending every log line to the remote client. If using the default casparcg.config it will listen on 3250. Any data sent by the client is ignored.
Helge Norberg [Fri, 13 Nov 2015 15:35:46 +0000 (16:35 +0100)]
Made protocol_strategy instantiated immediately after AsyncEventServer has accepted a connection, to be able for protocols to send data without first receiving data.
Helge Norberg [Tue, 10 Nov 2015 15:46:36 +0000 (16:46 +0100)]
Made the audio latency configurable in system-audio consumer, allowing the user to tell CasparCG how much delay to expect from driver and sound card. This in turn affects the buffer depth of the consumer used to synchronize consumers (delay frame delivery to consumers with smaller buffer depth).
Helge Norberg [Tue, 10 Nov 2015 10:53:50 +0000 (11:53 +0100)]
Fixed diagnostics bug in input.cpp where integer division was used instead of double division, causing buffered-audio and buffered-video to be only full scale or minimum scale
Helge Norberg [Mon, 9 Nov 2015 16:36:15 +0000 (17:36 +0100)]
Workaround for FreeImage sometimes not detecting .TGA files as FIF_TARGA, when in fact it supports loading them anyway (also might detect other formats based on filename instead of file contents).
Helge Norberg [Thu, 5 Nov 2015 14:17:14 +0000 (15:17 +0100)]
* More correct diagnostics for buffered-audio in decklink-consumer. Should not report values larger than 1.0 now (>1.0 is truncated in the diag window)
Helge Norberg [Thu, 5 Nov 2015 11:12:23 +0000 (12:12 +0100)]
* Moved functions from windows/current_version.h to windows/system_info.cpp and removed windows/current_version.h because it was only used by windows/system_info.cpp anyway
Helge Norberg [Tue, 3 Nov 2015 15:04:05 +0000 (16:04 +0100)]
* Renamed fonts-path to font-path and thumbnails-path to thumbnail-path and changed the default value of template-path from templates to template. All for the sake of consistency.
Helge Norberg [Thu, 29 Oct 2015 13:54:28 +0000 (14:54 +0100)]
* Absolutely *huge* performance improvement (or bugfix actually) in the rendering pipeline, allowing the next frame to be rendered immediately after the current frame has been *sent* to consumers, instead of *after* the consumers are ready for next frame.
Helge Norberg [Thu, 29 Oct 2015 12:36:30 +0000 (13:36 +0100)]
* screen_consumer: Avoid logging dropped-frame diagnostics tags while moving or resizing window (pollEvent blocks while moving/resizing on at least Windows)
Helge Norberg [Wed, 28 Oct 2015 16:24:21 +0000 (17:24 +0100)]
* audio_mixer: Fixed bug where int32 -> float -> back to int32 could cause an overflow when the amplitude was at maximum. Changed to double (can represent all integer values of int32, which float can't). Also added graceful clipping instead of overflow support, and diagnostic for when it happens
Helge Norberg [Wed, 28 Oct 2015 14:01:06 +0000 (15:01 +0100)]
* Added logging of severe diagnostics events to log at warning level. graph::set_tag now takes a severity parameter allowing expected tags such as param and seek to not be logged as a warning
Helge Norberg [Tue, 27 Oct 2015 10:09:44 +0000 (11:09 +0100)]
* Removed some redundant logging from AsyncEventServer.
* Removed print() from client_connection in favor of always using address()
* Moved some logging from info to trace.
* Fixed potential lifetime issue with using asio post/dispatch in AsyncEventServer.
* Fixed problem where AsyncEventServer did not log the ip address of the remote client, only the servers address.
* Log the number total number of connections served by one AsyncEventServer on connect and disconnect.
Helge Norberg [Mon, 12 Oct 2015 13:36:00 +0000 (15:36 +0200)]
* Implemented FLS command (font list).
* Fixed some resource leaks in text_producer.
* Load font list each time a text_producer is created to discover fonts uploaded after start.
Helge Norberg [Fri, 9 Oct 2015 09:54:07 +0000 (11:54 +0200)]
* Reenabled unit-test project after move to CMake.
* Reimplemented multichannel audio support from 2.0.7 but using ffmpeg's pan filter.
- Fixed bug in caspar::array where it assumed std::uint8_t instead of T.
- Started using caspar::array for audio as well, to allow for AVFrame to be the storage to avoid unnecessary copying when pan filtering audio.
* Made win32_exception a caspar_exception to enable full stack trace information when an access violation or similar occurs.
* FFMpeg Consumer now send more data via OSC to enable clients to indicate recording progress.
* Code changes required by Visual Studio 2015 including some local disabling of some warnings.
* Removed some workarounds previously required for Visual Studio 2013 but not for 2015.
* win32_exception is now a caspar_exception to allow complete stack trace information to be attached.
* streaming_consumer.cpp is now more backwards compatible with ffmpeg_consumer.cpp. Will hopefully be able to completely replace it.
* Fixed race condition in io_service shutdown.
* tbb_malloc does not work on vc14 yet. Disabled for now.
* Changed usage of BOOST_THROW_EXCEPTION to CASPAR_THROW_EXCEPTION in all places, to fill in stack trace information.
* Fixed double av_freep in ffmpeg_consumer
* Made all CG commands which operate on a running cg_proxy instance return 404 CG ERROR if no cg_proxy is running.
* Fixed bug in input where video without audio causes input to be ticked to much in the beginning.
* Merged read_fps code from 2.0 to 2.1 for correctly detecting framerate.
* Changed logging of execution of AMCP commands.