New upstream version 25.0.3+dfsg1

This commit is contained in:
Sebastian Ramacher 2020-03-25 09:07:22 +01:00
parent 04fe0efc67
commit 8b2e5f2130
569 changed files with 62491 additions and 5875 deletions

View file

@ -1,6 +1,6 @@
#include "audio-repack.h"
#include <emmintrin.h>
#include <util/sse-intrin.h>
int check_buffer(struct audio_repack *repack, uint32_t frame_count)
{

View file

@ -2,4 +2,21 @@ BlackmagicDevice="Blackmagic устройство"
Device="Устройство"
Mode="Режим"
Buffering="Използвай буфериране"
PixelFormat="Формат на пиксела"
ColorSpace="Цветово пространство"
ColorSpace.Default="По подразбиране"
ColorRange="Цветови обхват"
ColorRange.Default="По подразбиране"
ColorRange.Partial="Частично"
ColorRange.Full="Пълно"
ChannelFormat="Канал"
ChannelFormat.None="Без"
ChannelFormat.2_0ch="2 канала"
ChannelFormat.2_1ch="2.1 канала"
ChannelFormat.4_0ch="4 канала"
ChannelFormat.4_1ch="4.1 канала"
ChannelFormat.5_1ch="5.1 канала"
ChannelFormat.7_1ch="7.1 канала"
DeactivateWhenNotShowing="Изключване, когато не се показва"
AutoStart="Автоматично започване при пускане"

View file

@ -11,7 +11,7 @@ ColorRange.Partial="Parcial"
ColorRange.Full="Complet"
ChannelFormat="Canal"
ChannelFormat.None="Cap"
ChannelFormat.2_0ch="Estèreo "
ChannelFormat.2_0ch="Estèreo"
ChannelFormat.2_1ch="Canals 2.1"
ChannelFormat.4_0ch="4"
ChannelFormat.4_1ch="4.1"

View file

@ -1,7 +1,7 @@
BlackmagicDevice="BlackmagicGerät"
Device="Gerät"
Mode="Modus"
Buffering="Puffern benutzen"
Buffering="Pufferung benutzen"
PixelFormat="Pixelformat"
ColorSpace="Farbraum"
ColorSpace.Default="Standard"
@ -17,7 +17,7 @@ ChannelFormat.4_0ch="4Kanal"
ChannelFormat.4_1ch="4.1Kanal"
ChannelFormat.5_1ch="5.1Kanal"
ChannelFormat.7_1ch="7.1Kanal"
DeactivateWhenNotShowing="Deaktivieren, wenn die Quelle nicht angezeigt wird"
DeactivateWhenNotShowing="Deaktivieren, wenn Quelle nicht gezeigt"
AutoStart="Automatisch beim Öffnen starten"
SwapFC-LFE="FC und LFE tauschen"
SwapFC-LFE.Tooltip="Vorderen FrontCenterKanal und LFEKanal tauschen"

View file

@ -11,7 +11,7 @@ ColorRange.Partial="Parcial"
ColorRange.Full="Completo"
ChannelFormat="Canal"
ChannelFormat.None="Ninguno"
ChannelFormat.2_0ch="Estéreo "
ChannelFormat.2_0ch="Estéreo"
ChannelFormat.2_1ch="2.1 canales"
ChannelFormat.4_0ch="4 canales"
ChannelFormat.4_1ch="4.1 canales"

View file

@ -17,4 +17,6 @@ ChannelFormat.5_1ch="5.1ch"
ChannelFormat.7_1ch="7.1ch"
DeactivateWhenNotShowing="Desativar quando não visível"
AutoStart="Iniciar automaticamente ao arrancar"
VideoConnection="Conexão de Vídeo"
AudioConnection="Conexão de Audio"

View file

@ -2,7 +2,7 @@ BlackmagicDevice="Blackmagic naprave"
Device="Naprava"
Mode="Način"
Buffering="Uporabi medpomnilnik"
PixelFormat="Oblika sl. točk"
PixelFormat="Format piksla"
ColorSpace="Barvni prostor"
ColorSpace.Default="Privzeto"
ColorRange="Barvni razpon"
@ -11,12 +11,12 @@ ColorRange.Partial="Delno"
ColorRange.Full="Polno"
ChannelFormat="Kanal"
ChannelFormat.None="Brez"
ChannelFormat.2_0ch="2 kan."
ChannelFormat.2_1ch="2.1 kan."
ChannelFormat.4_0ch="4 kan."
ChannelFormat.4_1ch="4.1 kan."
ChannelFormat.5_1ch="5.1 kan."
ChannelFormat.7_1ch="7.1 kan."
ChannelFormat.2_0ch="2 kanala"
ChannelFormat.2_1ch="2.1 kanalov"
ChannelFormat.4_0ch="4 kanali"
ChannelFormat.4_1ch="4.1 kanalov"
ChannelFormat.5_1ch="5.1 kanalov"
ChannelFormat.7_1ch="7.1 kanalov"
DeactivateWhenNotShowing="Onemogoči, ko ni prikazano"
AutoStart="Samodejno zaženi ob zagonu"
SwapFC-LFE="Zamenjaj SS in nizke tone"

View file

@ -19,6 +19,8 @@ ChannelFormat.5_1ch="5.1ch"
ChannelFormat.7_1ch="7.1ch"
DeactivateWhenNotShowing="Gösterilmediğinde devre dışı bırak"
AutoStart="Açılışta otomatik olarak başlat"
SwapFC-LFE="FC ve LFE'yi değiştir"
SwapFC-LFE.Tooltip="Ön Merkez Kanalı ve LFE Kanalı Değişimi"
VideoConnection="Video Bağlantısı"
AudioConnection="Ses Bağlantısı"

View file

@ -1,5 +1,11 @@
BlackmagicDevice="Thiết bị Blackmagic"
Device="Thiết bị"
Mode="Chế độ"
Buffering="Dùng đệm"
PixelFormat="Định dạng điểm ảnh"
ColorSpace="Không gian màu"
ColorSpace.Default="Mặc định"
ColorRange="Phạm vi màu"
ColorRange.Default="Mặc định"
ColorRange.Partial="Một phần"
ColorRange.Full="Đầy đủ"
@ -11,4 +17,10 @@ ChannelFormat.4_0ch="4ch"
ChannelFormat.4_1ch="4.1ch"
ChannelFormat.5_1ch="5.1ch"
ChannelFormat.7_1ch="7.1ch"
DeactivateWhenNotShowing="Tắt khi không hiển thị"
AutoStart="Tự bắt đầu khi khởi động"
SwapFC-LFE="Tráo đổi FC và LFE"
SwapFC-LFE.Tooltip="Tráo đổi kênh âm Front Center và LFE"
VideoConnection="Kết nối video"
AudioConnection="Kết nối Audio"

View file

@ -22,7 +22,7 @@ static void *decklink_output_create(obs_data_t *settings, obs_output_t *output)
decklinkOutput->deviceHash = obs_data_get_string(settings, DEVICE_HASH);
decklinkOutput->modeID = obs_data_get_int(settings, MODE_ID);
decklinkOutput->keyerMode = obs_data_get_int(settings, KEYER);
decklinkOutput->keyerMode = (int)obs_data_get_int(settings, KEYER);
return decklinkOutput;
}
@ -33,7 +33,7 @@ static void decklink_output_update(void *data, obs_data_t *settings)
decklink->deviceHash = obs_data_get_string(settings, DEVICE_HASH);
decklink->modeID = obs_data_get_int(settings, MODE_ID);
decklink->keyerMode = obs_data_get_int(settings, KEYER);
decklink->keyerMode = (int)obs_data_get_int(settings, KEYER);
}
static bool decklink_output_start(void *data)
@ -46,6 +46,9 @@ static bool decklink_output_start(void *data)
return false;
}
if (!decklink->deviceHash || !*decklink->deviceHash)
return false;
decklink->audio_samplerate = aoi.samples_per_sec;
decklink->audio_planes = 2;
decklink->audio_size =
@ -74,7 +77,9 @@ static bool decklink_output_start(void *data)
obs_output_set_video_conversion(decklink->GetOutput(), &to);
device->SetKeyerMode(decklink->keyerMode);
decklink->Activate(device, decklink->modeID);
if (!decklink->Activate(device, decklink->modeID))
return false;
struct audio_convert_info conversion = {};
conversion.format = AUDIO_FORMAT_16BIT;

View file

@ -342,6 +342,7 @@ struct obs_source_info create_decklink_source_info()
decklink_source_info.update = decklink_update;
decklink_source_info.show = decklink_show;
decklink_source_info.hide = decklink_hide;
decklink_source_info.icon_type = OBS_ICON_TYPE_CAMERA;
return decklink_source_info;
}

View file

@ -2,19 +2,23 @@
#if defined(_WIN32)
#include <DeckLinkAPI.h>
#include "win/decklink-sdk/DeckLinkAPIVersion.h"
typedef BOOL decklink_bool_t;
typedef BSTR decklink_string_t;
IDeckLinkDiscovery *CreateDeckLinkDiscoveryInstance(void);
IDeckLinkIterator *CreateDeckLinkIteratorInstance(void);
#define IUnknownUUID IID_IUnknown
typedef REFIID CFUUIDBytes;
#define CFUUIDGetUUIDBytes(x) x
#elif defined(__APPLE__)
#include "mac/decklink-sdk/DeckLinkAPI.h"
#include "mac/decklink-sdk/DeckLinkAPIVersion.h"
#include <CoreFoundation/CoreFoundation.h>
typedef bool decklink_bool_t;
typedef CFStringRef decklink_string_t;
#elif defined(__linux__)
#include "linux/decklink-sdk/DeckLinkAPI.h"
#include "linux/decklink-sdk/DeckLinkAPIVersion.h"
typedef bool decklink_bool_t;
typedef const char *decklink_string_t;
#endif

View file

@ -14,8 +14,43 @@ struct obs_source_info decklink_source_info;
extern struct obs_output_info create_decklink_output_info();
struct obs_output_info decklink_output_info;
void log_sdk_version()
{
IDeckLinkIterator *deckLinkIterator;
IDeckLinkAPIInformation *deckLinkAPIInformation;
HRESULT result;
deckLinkIterator = CreateDeckLinkIteratorInstance();
if (deckLinkIterator == NULL) {
blog(LOG_WARNING,
"A DeckLink iterator could not be created. The DeckLink drivers may not be installed");
return;
}
result = deckLinkIterator->QueryInterface(
IID_IDeckLinkAPIInformation, (void **)&deckLinkAPIInformation);
if (result == S_OK) {
decklink_string_t deckLinkVersion;
deckLinkAPIInformation->GetString(BMDDeckLinkAPIVersion,
&deckLinkVersion);
blog(LOG_INFO, "Decklink API Compiled version %s",
BLACKMAGIC_DECKLINK_API_VERSION_STRING);
std::string versionString;
DeckLinkStringToStdString(deckLinkVersion, versionString);
blog(LOG_INFO, "Decklink API Installed version %s",
versionString.c_str());
deckLinkAPIInformation->Release();
}
}
bool obs_module_load(void)
{
log_sdk_version();
deviceEnum = new DeckLinkDeviceDiscovery();
if (!deviceEnum->Init())
return true;

View file

@ -11,6 +11,15 @@ IDeckLinkDiscovery *CreateDeckLinkDiscoveryInstance(void)
return result == S_OK ? instance : nullptr;
}
IDeckLinkIterator *CreateDeckLinkIteratorInstance(void)
{
IDeckLinkIterator *iterator;
const HRESULT result =
CoCreateInstance(CLSID_CDeckLinkIterator, nullptr, CLSCTX_ALL,
IID_IDeckLinkIterator, (void **)&iterator);
return result == S_OK ? iterator : nullptr;
}
bool DeckLinkStringToStdString(decklink_string_t input, std::string &output)
{
if (input == nullptr)