]> git.sesse.net Git - casparcg/commitdiff
2.0.0.2: - bluefish_consumer: Fixed get_video_mode.
authorronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Fri, 10 Jun 2011 12:24:13 +0000 (12:24 +0000)
committerronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Fri, 10 Jun 2011 12:24:13 +0000 (12:24 +0000)
         - cg_producer: Fixed support for paths starting with slash.
         - ffmpeg_input: Removed EOF logging.

git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/branches/2.0.0.2@873 362d55ac-95cf-4e76-9f9a-cbaa9c17b72d

common/env.cpp
core/mixer/image/image_mixer.cpp
modules/bluefish/consumer/bluefish_consumer.cpp
modules/bluefish/util/blue_velvet.cpp
modules/bluefish/util/blue_velvet.h
modules/decklink/interop/DeckLinkAPI_h.h
modules/decklink/interop/DeckLinkAPI_i.c
modules/ffmpeg/producer/input.cpp
modules/flash/producer/cg_producer.cpp
shell/casparcg.config

index ce392f0826487dd4fd039176344aa0bcd78f9fe6..085de6f40e2ae7cb89190102621d2c13be9b3df8 100644 (file)
@@ -35,6 +35,8 @@
 \r
 namespace caspar { namespace env {\r
 \r
+using namespace boost::filesystem2;\r
+\r
 std::wstring media;\r
 std::wstring log;\r
 std::wstring ftemplate;\r
@@ -57,8 +59,10 @@ void configure(const std::string& filename)
        auto paths = pt.get_child("configuration.paths");\r
        media = widen(paths.get("media-path", initialPath + "\\media\\"));\r
        log = widen(paths.get("log-path", initialPath + "\\log\\"));\r
-       ftemplate = widen(paths.get("template-path", initialPath + "\\template\\"));\r
+       ftemplate = complete(wpath(widen(paths.get("template-path", initialPath + "\\template\\")))).string();\r
+\r
        ftemplate_host = widen(paths.get("template-host", "cg.fth"));\r
+\r
        data = widen(paths.get("data-path", initialPath + "\\data\\"));\r
 }\r
        \r
index 04c9fc886e507d4bf14a8b4c61cf3b2524b2a71f..bb196fe286f434af14113a1ef5aba237ce7bbc36 100644 (file)
@@ -56,22 +56,22 @@ struct image_mixer::implementation : boost::noncopyable
                core::image_transform                            transform;\r
        };\r
 \r
-       video_channel_context&                                          channel_;\r
+       video_channel_context&                                  channel_;\r
        \r
        std::stack<core::image_transform>               transform_stack_;\r
        std::queue<std::queue<render_item>>             render_queue_;\r
        \r
-       image_kernel kernel_;\r
+       image_kernel                                                    kernel_;\r
                \r
-       safe_ptr<host_buffer>   read_buffer_;\r
-       safe_ptr<device_buffer> draw_buffer_;\r
-       safe_ptr<device_buffer> write_buffer_;\r
+       safe_ptr<host_buffer>                                   read_buffer_;\r
+       safe_ptr<device_buffer>                                 draw_buffer_;\r
+       safe_ptr<device_buffer>                                 write_buffer_;\r
 \r
-       safe_ptr<device_buffer> local_key_buffer_;\r
-       safe_ptr<device_buffer> layer_key_buffer_;\r
+       safe_ptr<device_buffer>                                 local_key_buffer_;\r
+       safe_ptr<device_buffer>                                 layer_key_buffer_;\r
 \r
-       bool local_key_;\r
-       bool layer_key_;\r
+       bool                                                                    local_key_;\r
+       bool                                                                    layer_key_;\r
        \r
 public:\r
        implementation(video_channel_context& video_channel) \r
@@ -89,7 +89,7 @@ public:
                channel_.ogl().invoke([=]\r
                {\r
                        if(!GLEE_VERSION_3_0)\r
-                               BOOST_THROW_EXCEPTION(not_supported() << msg_info("Missing OpenGL 3.0 support."));\r
+                               CASPAR_LOG(warning) << "Missing OpenGL 3.0 support.";//BOOST_THROW_EXCEPTION(not_supported() << msg_info("Missing OpenGL 3.0 support."));\r
                });\r
        }\r
        \r
index 852401a1c3f0575c1d50fca7d906b750a11aaf23..4b488468d3fe561ba005227d7aa4eea6916f1eb3 100644 (file)
@@ -66,7 +66,7 @@ struct bluefish_consumer : boost::noncopyable
        executor                                                        executor_;\r
 public:\r
        bluefish_consumer(const core::video_format_desc& format_desc, unsigned int device_index, bool embedded_audio) \r
-               : blue_(create_blue())\r
+               : blue_(create_blue(device_index))\r
                , device_index_(device_index)\r
                , format_desc_(format_desc) \r
                , model_name_(get_card_desc(*blue_))\r
@@ -75,9 +75,6 @@ public:
                , embedded_audio_(embedded_audio)\r
                , executor_(print())\r
        {\r
-               if(BLUE_FAIL(blue_->device_attach(device_index, FALSE))) \r
-                       BOOST_THROW_EXCEPTION(caspar_exception() << msg_info("Failed to attach device."));\r
-\r
                executor_.set_capacity(CONSUMER_BUFFER_DEPTH);\r
 \r
                graph_ = diagnostics::create_graph(narrow(print()));\r
index 0c94b737a30cf083353d52ca71043ffc95d1fc9f..ca7eb42af0f1d90b9ff17439cb087f39b7cb96bb 100644 (file)
@@ -154,4 +154,14 @@ safe_ptr<CBlueVelvet4> create_blue()
        return safe_ptr<CBlueVelvet4>(BlueVelvetFactory4(), BlueVelvetDestroy);\r
 }\r
 \r
+safe_ptr<CBlueVelvet4> create_blue(size_t device_index)\r
+{\r
+       auto blue = create_blue();\r
+       \r
+       if(BLUE_FAIL(blue->device_attach(device_index, FALSE))) \r
+               BOOST_THROW_EXCEPTION(caspar_exception() << msg_info("Failed to attach device."));\r
+\r
+       return blue;\r
+}\r
+\r
 }
\ No newline at end of file
index c66375d146979350a76d35badba80582796cc9ce..0fee25ef6b44b0b75489da5234c627ba9e320b58 100644 (file)
@@ -42,6 +42,7 @@ extern BLUE_UINT32 (*encode_hanc_frame_ex)(BLUE_UINT32 card_type, struct hanc_st
 void blue_initialize();\r
 \r
 safe_ptr<CBlueVelvet4> create_blue();\r
+safe_ptr<CBlueVelvet4> create_blue(size_t device_index);\r
 bool is_epoch_card(CBlueVelvet4& blue);\r
 std::wstring get_card_desc(CBlueVelvet4& blue);\r
 EVideoMode get_video_mode(CBlueVelvet4& blue, const core::video_format_desc& format_desc);\r
index bb33eea1cec89312bef8ba5f65d3f94276bbb879..d7d38dd6254d1a8458fbae0df77f84785a379742 100644 (file)
@@ -4,7 +4,7 @@
 \r
 \r
  /* File created by MIDL compiler version 7.00.0555 */\r
-/* at Thu Jun 09 13:48:27 2011\r
+/* at Fri Jun 10 12:06:51 2011\r
  */\r
 /* Compiler settings for interop\DeckLinkAPI.idl:\r
     Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 \r
index 637997bf84bb7961383f29b357d6b26bedc21bb7..fdf071d4147d5b980d3739ca48069134a10ff0c9 100644 (file)
@@ -6,7 +6,7 @@
 \r
 \r
  /* File created by MIDL compiler version 7.00.0555 */\r
-/* at Thu Jun 09 13:48:27 2011\r
+/* at Fri Jun 10 12:06:51 2011\r
  */\r
 /* Compiler settings for interop\DeckLinkAPI.idl:\r
     Oicf, W1, Zp8, env=Win32 (32b run), target_arch=X86 7.00.0555 \r
index 662f3a39727634bf430c734870a0fce1d0f2200b..5d7cc3c7098a433852733e413e2540855ce24b9c 100644 (file)
@@ -272,12 +272,12 @@ private:
                                {\r
                                        seek_frame(start_, AVSEEK_FLAG_BACKWARD);\r
                                        graph_->add_tag("seek");                \r
-                                       CASPAR_LOG(info) << print() << " Received EOF. Looping.";                       \r
+                                       //CASPAR_LOG(info) << print() << " Received EOF. Looping.";                     \r
                                }       \r
                                else\r
                                {\r
                                        stop();\r
-                                       CASPAR_LOG(info) << print() << " Received EOF. Stopping.";\r
+                                       //CASPAR_LOG(info) << print() << " Received EOF. Stopping.";\r
                                }\r
                        }\r
                        else if(errn < 0)\r
@@ -335,8 +335,8 @@ private:
 \r
        bool is_eof(int errn)\r
        {\r
-               if(errn == AVERROR(EIO))\r
-                       CASPAR_LOG(warning) << print() << " Received EIO, assuming EOF";\r
+               //if(errn == AVERROR(EIO))\r
+               //      CASPAR_LOG(warning) << print() << " Received EIO, assuming EOF";\r
 \r
                return errn == AVERROR_EOF || errn == AVERROR(EIO); // av_read_frame doesn't always correctly return AVERROR_EOF;\r
        }\r
index e5095551f6e0637db3b27be4da94c93c5f5b1f82..e56b1050fcf574ba3e72b099f3a6e474cbda03e5 100644 (file)
@@ -40,8 +40,11 @@ public:
                : flash_producer_(frame_producer)\r
        {}\r
        \r
-       void add(int layer, const std::wstring& filename,  bool play_on_load, const std::wstring& label, const std::wstring& data)\r
+       void add(int layer, std::wstring filename,  bool play_on_load, const std::wstring& label, const std::wstring& data)\r
        {\r
+               if(filename.size() > 0 && filename[0] == L'/')\r
+                       filename = filename.substr(1, filename.size()-1);\r
+\r
                CASPAR_LOG(info) << flash_producer_->print() << " Invoking add-command";\r
                flash_producer_->param((boost::wformat(L"<invoke name=\"Add\" returntype=\"xml\"><arguments><number>%1%</number><string>%2%</string>%3%<string>%4%</string><string><![CDATA[%5%]]></string></arguments></invoke>") % layer % filename % (play_on_load?TEXT("<true/>"):TEXT("<false/>")) % label % data).str());\r
        }\r
index 41173f595ab6193905c4997db8800a509dd582da..8851713ead3cfc3450acdc1149968e134020087f 100644 (file)
   </diagnostics>\r
   <channels>\r
     <channel>\r
-      <video-mode>1080i5000</video-mode>\r
+      <video-mode>PAL</video-mode>\r
       <consumers>\r
-        <decklink>\r
-          <device>1</device>                    \r
-          <embedded-audio>true</embedded-audio> \r
-          <low-latency>true</low-latency>      \r
-          <external-key>true</external-key>     \r
-          <key-only>false</key-only>            \r
-        </decklink>\r
+        <bluefish>\r
+          <device>1</device>                      \r
+        </bluefish>\r
       </consumers>\r
     </channel>\r
 </channels>\r