]> git.sesse.net Git - casparcg/commitdiff
Fixed shifted NTSC audio cadence.
authorronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Wed, 7 Dec 2011 19:56:56 +0000 (19:56 +0000)
committerronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Wed, 7 Dec 2011 19:56:56 +0000 (19:56 +0000)
git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/trunk@1828 362d55ac-95cf-4e76-9f9a-cbaa9c17b72d

core/consumer/frame_consumer.cpp
modules/decklink/producer/decklink_producer.cpp
shell/main.cpp

index 8f3e130bc049d7d4295d76d6119dc42df6b8cbc9..04496ef6ecdfaad0d473853a9df15fc36f51c668 100644 (file)
@@ -71,11 +71,9 @@ class cadence_guard : public frame_consumer
        safe_ptr<frame_consumer>                consumer_;\r
        std::vector<size_t>                             audio_cadence_;\r
        boost::circular_buffer<size_t>  sync_buffer_;\r
-       bool                                                    synced_;\r
 public:\r
        cadence_guard(const safe_ptr<frame_consumer>& consumer)\r
                : consumer_(consumer)\r
-               , synced_(false)\r
        {\r
        }\r
        \r
@@ -89,19 +87,11 @@ public:
        virtual bool send(const safe_ptr<read_frame>& frame) override\r
        {               \r
                sync_buffer_.push_back(static_cast<size_t>(frame->audio_data().size()));\r
-               \r
                if(!boost::range::equal(sync_buffer_, audio_cadence_))\r
                {\r
-                       synced_ = false;\r
                        CASPAR_LOG(trace) << L"[cadence_guard] Audio cadence unsynced. Skipping frame.";\r
                        return true;\r
                }\r
-               else if(!synced_)\r
-               {\r
-                       synced_ = true;\r
-                       boost::range::rotate(audio_cadence_, std::begin(audio_cadence_)+1);\r
-                       return true;\r
-               }\r
 \r
                boost::range::rotate(audio_cadence_, std::begin(audio_cadence_)+1);\r
 \r
index 4cf1c6fea481b93b8c0853db2fc710e03e2981bf..2bc09893074464561a10e82a46f6397516f6481f 100644 (file)
@@ -211,8 +211,7 @@ public:
                        else                    \r
                                audio_buffer = std::make_shared<core::audio_buffer>(audio_cadence_.front(), 0);\r
                        \r
-                       sync_buffer_.push_back(audio_buffer->size());\r
-               \r
+                       sync_buffer_.push_back(audio_buffer->size());           \r
                        if(!boost::range::equal(sync_buffer_, audio_cadence_))\r
                        {\r
                                CASPAR_LOG(trace) << print() << L" Syncing audio.";\r
@@ -221,14 +220,7 @@ public:
 \r
                        muxer_.push(audio_buffer);\r
                        muxer_.push(av_frame, hints_);  \r
-                                       \r
-                       // Note: We don't fully sync with cadence, we send last and first (1602, 1602) to have as many samples as possible when inserting into mixer\r
-                       if(!boost::range::equal(sync_buffer_, audio_cadence_)) \r
-                       {\r
-                               CASPAR_LOG(trace) << L"[cadence_guard] Audio cadence unsynced. Skipping frame.";\r
-                               return S_OK;\r
-                       }\r
-                                               \r
+                                                                                       \r
                        boost::range::rotate(audio_cadence_, std::begin(audio_cadence_)+1);\r
                        \r
                        // POLL\r
index 70d705f8ad2c1c3103f9a115315326f276abd886..c231e67bc007f431079871c1c70e85496943aa99 100644 (file)
@@ -117,7 +117,9 @@ void setup_console_window()
 \r
 void print_info()\r
 {\r
+       CASPAR_LOG(info) << L"################################################################################";\r
        CASPAR_LOG(info) << L"Copyright (c) 2010 Sveriges Television AB, www.casparcg.com, <info@casparcg.com>";\r
+       CASPAR_LOG(info) << L"################################################################################";\r
        CASPAR_LOG(info) << L"Starting CasparCG Video and Graphics Playout Server " << caspar::env::version();\r
        CASPAR_LOG(info) << L"on " << caspar::get_win_product_name() << L" " << caspar::get_win_sp_version();\r
        CASPAR_LOG(info) << caspar::get_cpu_info();\r