o Replaced usage of SFML for <system-audio /> with PortAudio, because of\r
problems with SFML since change to static linkage. Also PortAudio seems to\r
give lower latency.\r
- o Added support for NewTek AirPlay. Enables the use of the CasparCG Server\r
+ o Added support for NewTek iVGA. Enables the use of the CasparCG Server\r
output as an input source in a NewTek TriCaster without requiring a video\r
- card. <newtek /> element in config enables AirPlay on a channel.\r
+ card. <newtek-ivga /> element in config enables iVGA on a channel.\r
o Decklink: Created custom decklink allocator for reducing memory footprint.\r
\r
Producers\r
#include "../StdAfx.h"
-#include "newtek_consumer.h"
+#include "newtek_ivga_consumer.h"
#include <core/consumer/frame_consumer.h>
#include <core/parameters/parameters.h>
namespace caspar { namespace newtek {
-struct newtek_consumer : public core::frame_consumer
+struct newtek_ivga_consumer : public core::frame_consumer
{
std::shared_ptr<void> air_send_;
core::video_format_desc format_desc_;
public:
- newtek_consumer(core::channel_layout channel_layout)
+ newtek_ivga_consumer(core::channel_layout channel_layout)
: executor_(print())
, channel_layout_(channel_layout)
{
}
- ~newtek_consumer()
+ ~newtek_ivga_consumer()
{
}
virtual std::wstring print() const override
{
- return L"newtek";
+ return L"newtek-ivga";
}
virtual boost::property_tree::wptree info() const override
{
boost::property_tree::wptree info;
- info.add(L"type", L"newtek-consumer");
+ info.add(L"type", L"newtek-ivga-consumer");
return info;
}
}
};
-safe_ptr<core::frame_consumer> create_consumer(const core::parameters& params)
+safe_ptr<core::frame_consumer> create_ivga_consumer(const core::parameters& params)
{
- if(params.size() < 1 || params[0] != L"NEWTEK")
+ if(params.size() < 1 || params[0] != L"NEWTEK_IVGA")
return core::frame_consumer::empty();
const auto channel_layout = core::default_channel_layout_repository()
.get_by_name(
params.get(L"CHANNEL_LAYOUT", L"STEREO"));
- return make_safe<newtek_consumer>(channel_layout);
+ return make_safe<newtek_ivga_consumer>(channel_layout);
}
-safe_ptr<core::frame_consumer> create_consumer(const boost::property_tree::wptree& ptree)
+safe_ptr<core::frame_consumer> create_ivga_consumer(const boost::property_tree::wptree& ptree)
{
const auto channel_layout =
core::default_channel_layout_repository()
.get_by_name(
boost::to_upper_copy(ptree.get(L"channel-layout", L"STEREO")));
- return make_safe<newtek_consumer>(channel_layout);
+ return make_safe<newtek_ivga_consumer>(channel_layout);
}
}}
\ No newline at end of file
namespace newtek {
-safe_ptr<core::frame_consumer> create_consumer(const core::parameters& params);
-safe_ptr<core::frame_consumer> create_consumer(const boost::property_tree::wptree& ptree);
+safe_ptr<core::frame_consumer> create_ivga_consumer(const core::parameters& params);
+safe_ptr<core::frame_consumer> create_ivga_consumer(const boost::property_tree::wptree& ptree);
}}
\ No newline at end of file
#include "newtek.h"
-#include "consumer/newtek_consumer.h"
+#include "consumer/newtek_ivga_consumer.h"
#include <core/parameters/parameters.h>
#include <core/consumer/frame_consumer.h>
{
core::register_consumer_factory([](const core::parameters& params)
{
- return newtek::create_consumer(params);
+ return newtek::create_ivga_consumer(params);
});
}
catch(...){}
</ItemDefinitionGroup>
<ItemGroup>
<ClInclude Include="newtek.h" />
- <ClInclude Include="consumer\newtek_consumer.h" />
+ <ClInclude Include="consumer\newtek_ivga_consumer.h" />
<ClInclude Include="StdAfx.h" />
</ItemGroup>
<ItemGroup>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">NotUsing</PrecompiledHeader>
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">NotUsing</PrecompiledHeader>
</ClCompile>
- <ClCompile Include="consumer\newtek_consumer.cpp">
+ <ClCompile Include="consumer\newtek_ivga_consumer.cpp">
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Profile|Win32'">../StdAfx.h</PrecompiledHeaderFile>
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">../StdAfx.h</PrecompiledHeaderFile>
<PrecompiledHeaderFile Condition="'$(Configuration)|$(Platform)'=='Develop|Win32'">../StdAfx.h</PrecompiledHeaderFile>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<ClCompile Include="StdAfx.cpp" />
+ <ClCompile Include="consumer\newtek_ivga_consumer.cpp">
+ <Filter>source\consumer</Filter>
+ </ClCompile>
<ClCompile Include="newtek.cpp">
<Filter>source</Filter>
</ClCompile>
- <ClCompile Include="consumer\newtek_consumer.cpp">
- <Filter>source\consumer</Filter>
- </ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="StdAfx.h" />
+ <ClInclude Include="consumer\newtek_ivga_consumer.h">
+ <Filter>source\consumer</Filter>
+ </ClInclude>
<ClInclude Include="newtek.h">
<Filter>source</Filter>
</ClInclude>
- <ClInclude Include="consumer\newtek_consumer.h">
- <Filter>source\consumer</Filter>
- </ClInclude>
</ItemGroup>
<ItemGroup>
<Filter Include="source">
<auto-deinterlace>true [true|false]</auto-deinterlace>\r
<vsync>false [true|false]</vsync>\r
</screen>\r
- <newtek>\r
+ <newtek-ivga>\r
<channel-layout>stereo [mono|stereo|dts|dolbye|dolbydigital|smpte|passthru]</channel-layout>\r
- </newtek>\r
+ </newtek-ivga>\r
<file>\r
<path></path>\r
<vcodec>libx264 [libx264|qtrle]</vcodec>\r
\r
#include <modules/portaudio/consumer/portaudio_consumer.h>\r
#include <modules/bluefish/consumer/bluefish_consumer.h>\r
-#include <modules/newtek/consumer/newtek_consumer.h>\r
+#include <modules/newtek/consumer/newtek_ivga_consumer.h>\r
#include <modules/decklink/consumer/decklink_consumer.h>\r
#include <modules/decklink/consumer/blocking_decklink_consumer.h>\r
#include <modules/ogl/consumer/ogl_consumer.h>\r
on_consumer(bluefish::create_consumer(xml_consumer.second)); \r
else if (name == L"decklink") \r
on_consumer(decklink::create_consumer(xml_consumer.second)); \r
- else if (name == L"newtek") \r
- on_consumer(newtek::create_consumer(xml_consumer.second)); \r
+ else if (name == L"newtek-ivga") \r
+ on_consumer(newtek::create_ivga_consumer(xml_consumer.second)); \r
else if (name == L"blocking-decklink")\r
on_consumer(decklink::create_blocking_consumer(xml_consumer.second)); \r
else if (name == L"file" || name == L"stream") \r