]> git.sesse.net Git - casparcg/commitdiff
2.0.0.2: Started with decklink producer.
authorronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Wed, 12 Jan 2011 19:24:21 +0000 (19:24 +0000)
committerronag <ronag@362d55ac-95cf-4e76-9f9a-cbaa9c17b72d>
Wed, 12 Jan 2011 19:24:21 +0000 (19:24 +0000)
git-svn-id: https://casparcg.svn.sourceforge.net/svnroot/casparcg/server/branches/2.0.0.2@339 362d55ac-95cf-4e76-9f9a-cbaa9c17b72d

core/consumer/decklink/decklink_consumer.cpp
core/consumer/decklink/util.h
core/core.vcxproj
core/core.vcxproj.filters
core/producer/color/color_producer.cpp
core/producer/ffmpeg/ffmpeg_producer.cpp
core/producer/image/image_producer.cpp
protocol/amcp/AMCPCommandsImpl.cpp
protocol/media.cpp
protocol/protocol.vcxproj

index f83bb8c23c765c388763424d4b05766aae627bbc..a7270a186aa1a977635198e8992fd58181acca4d 100644 (file)
@@ -33,7 +33,6 @@
 #include <common/exception/exceptions.h>\r
 \r
 #include <tbb/concurrent_queue.h>\r
-#include <boost/thread.hpp>\r
 \r
 #pragma warning(push)\r
 #pragma warning(disable : 4996)\r
index ffb27f58eb64033f9233e91a0862dcdab78eddfa..588cd83bc0770aadbc8f05ffb59839afeb1294b1 100644 (file)
@@ -6,27 +6,27 @@
 \r
 namespace caspar { namespace core { namespace decklink {\r
        \r
-       unsigned long GetDecklinkVideoFormat(video_format::type fmt) \r
+static unsigned long GetDecklinkVideoFormat(video_format::type fmt) \r
+{\r
+       switch(fmt)\r
        {\r
-               switch(fmt)\r
-               {\r
-               case video_format::pal:                 return bmdModePAL;\r
-               //case video_format::ntsc:              return bmdModeNTSC;\r
-               //case video_format::x576p2500: return ULONG_MAX;\r
-               case video_format::x720p2500:   return ULONG_MAX;\r
-               case video_format::x720p5000:   return bmdModeHD720p50;\r
-               //case video_format::x720p5994: return bmdModeHD720p5994;\r
-               //case video_format::x720p6000: return bmdModeHD720p60;\r
-               //case video_format::x1080p2397:        return bmdModeHD1080p2398;\r
-               //case video_format::x1080p2400:        return bmdModeHD1080p24;\r
-               case video_format::x1080i5000:  return bmdModeHD1080i50;\r
-               //case video_format::x1080i5994:        return bmdModeHD1080i5994;\r
-               //case video_format::x1080i6000:        return bmdModeHD1080i6000;\r
-               case video_format::x1080p2500:  return bmdModeHD1080p25;\r
-               //case video_format::x1080p2997:        return bmdModeHD1080p2997;\r
-               //case video_format::x1080p3000:        return bmdModeHD1080p30;\r
-               default:                                                return ULONG_MAX;\r
-               }\r
+       case video_format::pal:                 return bmdModePAL;\r
+       //case video_format::ntsc:              return bmdModeNTSC;\r
+       //case video_format::x576p2500: return ULONG_MAX;\r
+       case video_format::x720p2500:   return ULONG_MAX;\r
+       case video_format::x720p5000:   return bmdModeHD720p50;\r
+       //case video_format::x720p5994: return bmdModeHD720p5994;\r
+       //case video_format::x720p6000: return bmdModeHD720p60;\r
+       //case video_format::x1080p2397:        return bmdModeHD1080p2398;\r
+       //case video_format::x1080p2400:        return bmdModeHD1080p24;\r
+       case video_format::x1080i5000:  return bmdModeHD1080i50;\r
+       //case video_format::x1080i5994:        return bmdModeHD1080i5994;\r
+       //case video_format::x1080i6000:        return bmdModeHD1080i6000;\r
+       case video_format::x1080p2500:  return bmdModeHD1080p25;\r
+       //case video_format::x1080p2997:        return bmdModeHD1080p2997;\r
+       //case video_format::x1080p3000:        return bmdModeHD1080p30;\r
+       default:                                                return ULONG_MAX;\r
        }\r
+}\r
 \r
 }}}
\ No newline at end of file
index 6d19deb854aca5dafaf3c06b57239c5d5818346c..7d8ab2baa71589476a612d2ca851d3b74179baf4 100644 (file)
     <ClInclude Include="processor\draw_frame.h" />\r
     <ClInclude Include="processor\write_frame.h" />\r
     <ClInclude Include="producer\color\color_producer.h" />\r
+    <ClInclude Include="producer\decklink\decklink_producer.h" />\r
     <ClInclude Include="producer\ffmpeg\audio\audio_decoder.h" />\r
     <ClInclude Include="producer\ffmpeg\ffmpeg_producer.h" />\r
     <ClInclude Include="producer\ffmpeg\input.h" />\r
       <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
       <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
     </ClCompile>\r
+    <ClCompile Include="producer\decklink\decklink_producer.cpp">\r
+      <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
+      <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../StdAfx.h</PrecompiledHeaderFile>\r
+    </ClCompile>\r
     <ClCompile Include="producer\ffmpeg\audio\audio_decoder.cpp">\r
       <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../../../stdafx.h</PrecompiledHeaderFile>\r
       <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">../../../stdafx.h</PrecompiledHeaderFile>\r
index c04e5105a081c218ff73f99b68da7e148b84613e..a0f54851e99e6ebdb3156895c9ce7a7c73ec96f9 100644 (file)
@@ -73,6 +73,9 @@
     <Filter Include="Source\producer\image">\r
       <UniqueIdentifier>{3d4314f3-8a39-44e3-a0c9-9b833bb8f809}</UniqueIdentifier>\r
     </Filter>\r
+    <Filter Include="Source\producer\decklink">\r
+      <UniqueIdentifier>{3685fbd9-c2ff-495c-9864-6b0c5778d852}</UniqueIdentifier>\r
+    </Filter>\r
   </ItemGroup>\r
   <ItemGroup>\r
     <ClInclude Include="consumer\decklink\DeckLinkAPI_h.h">\r
     <ClInclude Include="channel.h">\r
       <Filter>Source</Filter>\r
     </ClInclude>\r
+    <ClInclude Include="producer\decklink\decklink_producer.h">\r
+      <Filter>Source\producer\decklink</Filter>\r
+    </ClInclude>\r
   </ItemGroup>\r
   <ItemGroup>\r
     <ClCompile Include="consumer\decklink\DeckLinkAPI_i.c">\r
     <ClCompile Include="producer\layer.cpp">\r
       <Filter>Source</Filter>\r
     </ClCompile>\r
+    <ClCompile Include="producer\decklink\decklink_producer.cpp">\r
+      <Filter>Source\producer\decklink</Filter>\r
+    </ClCompile>\r
   </ItemGroup>\r
   <ItemGroup>\r
     <Midl Include="consumer\decklink\DeckLinkAPI_v7_3.idl">\r
index c1ad6c2807c989013680aa22f0264e7784d68479..26ccf65c195ad7449b0d28f7534a792238307696 100644 (file)
@@ -34,9 +34,6 @@ class color_producer : public frame_producer
        std::wstring color_str_;\r
 \r
 public:\r
-       explicit color_producer(color_producer&& other) \r
-               : frame_(std::move(other.frame_))\r
-               , color_str_(std::move(other.color_str_)){}\r
 \r
        explicit color_producer(const std::wstring& color) : color_str_(color), frame_(draw_frame::empty())\r
        {\r
index e537a2d5ceb2560f176dac0ee7590de0b234330b..d527614bb057796b4ff0b1a95281092eca1fdf03 100644 (file)
@@ -9,6 +9,8 @@
 #include "../../video_format.h"\r
 #include "../../processor/draw_frame.h"\r
 \r
+#include <common/env.h>\r
+\r
 #include <tbb/parallel_invoke.h>\r
 \r
 #include <boost/optional.hpp>\r
@@ -138,7 +140,7 @@ public:
 safe_ptr<frame_producer> create_ffmpeg_producer(const std::vector<std::wstring>& params)\r
 {                      \r
        static const std::vector<std::wstring> extensions = list_of(L"mpg")(L"avi")(L"mov")(L"dv")(L"wav")(L"mp3")(L"mp4")(L"f4v")(L"flv");\r
-       std::wstring filename = params[0];\r
+       std::wstring filename = env::media_folder() + L"\\" + params[0];\r
        \r
        auto ext = std::find_if(extensions.begin(), extensions.end(), [&](const std::wstring& ex) -> bool\r
                {                                       \r
index 48f8ecfda0917942f5d126b1b8085e94daf86fd1..9d4d33a935cfb6556dead18bcd42af429f76a4e8 100644 (file)
@@ -7,6 +7,8 @@
 #include "../../processor/draw_frame.h"\r
 #include "../../video_format.h"\r
 \r
+#include <common/env.h>\r
+\r
 #include <boost/assign.hpp>\r
 \r
 #include <algorithm>\r
@@ -50,7 +52,7 @@ struct image_producer : public frame_producer
 safe_ptr<frame_producer> create_image_producer(const  std::vector<std::wstring>& params)\r
 {\r
        static const std::vector<std::wstring> extensions = list_of(L"png")(L"tga")(L"bmp")(L"jpg")(L"jpeg");\r
-       std::wstring filename = params[0];\r
+       std::wstring filename = env::media_folder() + L"\\" + params[0];\r
        \r
        auto ext = std::find_if(extensions.begin(), extensions.end(), [&](const std::wstring& ex) -> bool\r
                {                                       \r
index 15d3b55d899b9c09a62789183cf4aad7347f85be..cd3879b4cc7578230bb608e0a0692ec01ce31477 100644 (file)
@@ -171,7 +171,7 @@ bool LoadCommand::DoExecute()
        //Perform loading of the clip\r
        try\r
        {\r
-               _parameters[0] = env::media_folder() + L"\\" + _parameters[0];\r
+               _parameters[0] = _parameters[0];\r
                auto pFP = load_media(_parameters);             \r
                GetChannel()->preview(GetLayerIndex(), pFP);\r
        \r
@@ -246,7 +246,7 @@ bool LoadbgCommand::DoExecute()
        //Perform loading of the clip\r
        try\r
        {\r
-               _parameters[0] = env::media_folder() + L"\\" + _parameters[0];\r
+               _parameters[0] = _parameters[0];\r
                auto pFP = load_media(_parameters);\r
                if(pFP == frame_producer::empty())\r
                        BOOST_THROW_EXCEPTION(file_not_found() << msg_info(_parameters.size() > 0 ? narrow(_parameters[0]) : ""));\r
@@ -704,7 +704,7 @@ bool CinfCommand::DoExecute()
 {\r
        std::wstringstream replyString;\r
 \r
-       std::wstring filename = env::media_folder()+_parameters[0];\r
+       std::wstring filename = _parameters[0];\r
 \r
        // TODO:\r
 \r
index d646336860aa577429c7a9a9b05d0da828976012..cd738f7a317c44477c68e5fc5f9d0043f80e9b4b 100644 (file)
@@ -6,6 +6,7 @@
 #include <core/producer/ffmpeg/ffmpeg_producer.h>\r
 #include <core/producer/flash/cg_producer.h>\r
 #include <core/producer/image/image_producer.h>\r
+#include <core/producer/decklink/decklink_producer.h>\r
 //#include "../producer/image/image_scroll_producer.h"\r
 \r
 #include <common/exception/exceptions.h>\r
@@ -28,6 +29,7 @@ safe_ptr<core::frame_producer> load_media(const std::vector<std::wstring>& param
                (&core::image::create_image_producer)\r
        //      (&image::create_image_scroll_producer)\r
                (&core::ffmpeg::create_ffmpeg_producer)\r
+               (&core::create_decklink_producer)\r
                (&core::create_color_producer);\r
 \r
        if(params.empty())\r
index 997bee0635d5844a6fdbf7da3b85f0b9e8ac1dfd..051cd30cc589d371d42869df810195b35381b557 100644 (file)
@@ -68,6 +68,7 @@
     <ClCompile Include="media.cpp" />\r
     <ClCompile Include="StdAfx.cpp">\r
       <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">Create</PrecompiledHeader>\r
+      <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">Create</PrecompiledHeader>\r
     </ClCompile>\r
     <ClCompile Include="util\AsyncEventServer.cpp">\r
       <PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>\r
     <Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />\r
   </ImportGroup>\r
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">\r
-    <IncludePath>../common;../core;$(IncludePath)</IncludePath>\r
+    <IncludePath>../;../../../dependencies/tbb30_20100406oss/include;..\..\..\\dependencies\boost_1_44_0;$(IncludePath)</IncludePath>\r
   </PropertyGroup>\r
   <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">\r
     <IncludePath>../;../../../dependencies/tbb30_20100406oss/include;..\..\..\\dependencies\boost_1_44_0;$(IncludePath)</IncludePath>\r