]> git.sesse.net Git - casparcg/commitdiff
Log cadence in decklink_producer to be able to debug cadence mismatches
authorHelge Norberg <helge.norberg@svt.se>
Mon, 23 Nov 2015 19:21:46 +0000 (20:21 +0100)
committerHelge Norberg <helge.norberg@svt.se>
Mon, 23 Nov 2015 19:21:46 +0000 (20:21 +0100)
modules/decklink/producer/decklink_producer.cpp

index d62c27bd5d7aaabbf30c9a6dc91a9acab0c5fada..7ef70e66bb79b674b92b29c6fe10043df34e8f81 100644 (file)
@@ -52,6 +52,7 @@
 
 #include <boost/algorithm/string.hpp>
 #include <boost/property_tree/ptree.hpp>
+#include <boost/range/adaptor/transformed.hpp>
 
 #if defined(_MSC_VER)
 #pragma warning (push)
@@ -84,6 +85,12 @@ core::audio_channel_layout get_adjusted_channel_layout(core::audio_channel_layou
 
        return layout;
 }
+
+template <typename T>
+std::wstring to_string(const T& cadence)
+{
+       return boost::join(cadence | boost::adaptors::transformed([](size_t i) { return boost::lexical_cast<std::wstring>(i); }), L", ");
+}
                
 class decklink_producer : boost::noncopyable, public IDeckLinkInputCallback
 {      
@@ -245,7 +252,7 @@ public:
                        sync_buffer_.push_back(audio->GetSampleFrameCount());           
                        if(!boost::range::equal(sync_buffer_, audio_cadence_))
                        {
-                               CASPAR_LOG(trace) << print() << L" Syncing audio.";
+                               CASPAR_LOG(trace) << print() << L" Syncing audio. Expected cadence: " << to_string(audio_cadence_) << L" Got cadence: " << to_string(sync_buffer_);
                                return S_OK;
                        }
                        boost::range::rotate(audio_cadence_, std::begin(audio_cadence_)+1);