]> git.sesse.net Git - casparcg/commitdiff
git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/branches...
authorronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Tue, 1 Feb 2011 18:09:47 +0000 (18:09 +0000)
committerronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Tue, 1 Feb 2011 18:09:47 +0000 (18:09 +0000)
common/diagnostics/graph.cpp
core/consumer/oal/oal_consumer.cpp
core/producer/layer.cpp

index e0b4bf457df6bb1f262754ed15644fc95b53e191..67e122a2fefa942e566a84e6d687b48e6436f67a 100644 (file)
@@ -72,7 +72,7 @@ private:
                int n = 0;\r
                for(auto it = drawables_.begin(); it != drawables_.end(); ++n)\r
                {\r
-                       auto drawable = *it;\r
+                       auto& drawable = *it;\r
                        if(!drawable.unique())\r
                        {\r
                                drawable->SetScale(window_.GetWidth(), window_.GetHeight()/count);\r
index 32d3644ec593cdc55f10c8e0af52bdf1ac4f8470..8d07d58a0257c6f0576f0cf5929e8d3ae56cbc80 100644 (file)
@@ -66,6 +66,8 @@ public:
        void initialize(const video_format_desc& format_desc)\r
        {\r
                format_desc_ = format_desc;\r
+               for(size_t n = 0; n < buffer_depth(); ++n)\r
+                       input_.push(std::vector<short>(static_cast<size_t>(48000.0f/format_desc_.fps)*2, 0)); \r
                sf::SoundStream::Initialize(2, 48000);\r
                Play();         \r
                CASPAR_LOG(info) << "Sucessfully started oal_consumer";\r
@@ -73,10 +75,10 @@ public:
        \r
        void send(const safe_ptr<const read_frame>& frame)\r
        {                               \r
-               if(frame->audio_data().empty())\r
-                       return;\r
-\r
-               input_.push(std::vector<short>(frame->audio_data().begin(), frame->audio_data().end()));        \r
+               if(!frame->audio_data().empty())\r
+                       input_.push(std::vector<short>(frame->audio_data().begin(), frame->audio_data().end()));        \r
+               else\r
+                       input_.push(std::vector<short>(static_cast<size_t>(48000.0f/format_desc_.fps)*2, 0)); \r
        }\r
 \r
        size_t buffer_depth() const{return 3;}\r
index 109cfb7b9ce062e6ab88d54674ac2a9ec4b956f8..62004e194cb7449759ee8a1ed9fcc353bf4c4ddc 100644 (file)
@@ -60,8 +60,9 @@ public:
        void load(const safe_ptr<frame_producer>& frame_producer, bool play_on_load)\r
        {                       \r
                background_ = frame_producer;\r
+               is_paused_ = false;\r
                if(play_on_load)\r
-                       play(true);             \r
+                       play();         \r
        }\r
 \r
        void preview(const safe_ptr<frame_producer>& frame_producer)\r
@@ -71,9 +72,9 @@ public:
                pause();\r
        }\r
        \r
-       void play(bool force = false)\r
+       void play()\r
        {                       \r
-               if(!is_paused_ || force)                        \r
+               if(!is_paused_)                 \r
                {\r
                        background_->set_leading_producer(foreground_);\r
                        foreground_ = background_;\r