N_("SDI"), N_("HDMI"), N_("Optical SDI"), N_("Component"), N_("Composite"), N_("S-video")
};
-static const char *const ppsz_audioconns[] = {
- "embedded", "aesebu", "analog"
-};
-static const char *const ppsz_audioconns_text[] = {
- N_("Embedded"), N_("AES/EBU"), N_("Analog")
-};
-
-
struct vout_display_sys_t
{
picture_pool_t *pool;
vlc_mutex_t lock;
vlc_cond_t cond;
uint8_t users;
- BMDAudioConnection aconn;
//int i_channels;
int i_rate;
set_capability("audio output", 0)
set_callbacks (OpenAudio, CloseAudio)
set_section(N_("Decklink Audio Options"), NULL)
- add_string(AUDIO_CFG_PREFIX "audio-connection", "embedded",
- AUDIO_CONNECTION_TEXT, AUDIO_CONNECTION_LONGTEXT, true)
- change_string_list(ppsz_audioconns, ppsz_audioconns_text)
+ add_obsolete_string("audio-connection")
add_integer(AUDIO_CFG_PREFIX "audio-rate", 48000,
RATE_TEXT, RATE_LONGTEXT, true)
add_integer(AUDIO_CFG_PREFIX "audio-channels", 2,
sys->p_output = NULL;
sys->offset = 0;
sys->users = 0;
- sys->aconn = 0;
+ sys->i_rate = -1;
vlc_mutex_init(&sys->lock);
vlc_cond_init(&sys->cond);
var_Create(libvlc, "decklink-sys", VLC_VAR_ADDRESS);
vlc_mutex_unlock(&sys_lock);
}
-// Connection mode
-static BMDAudioConnection getAConn(audio_output_t *aout)
-{
- BMDAudioConnection conn = bmdAudioConnectionEmbedded;
- char *psz = var_InheritString(aout, AUDIO_CFG_PREFIX "audio-connection");
- if (!psz)
- return conn;
-
- if (!strcmp(psz, "embedded"))
- conn = bmdAudioConnectionEmbedded;
- else if (!strcmp(psz, "aesebu"))
- conn = bmdAudioConnectionAESEBU;
- else if (!strcmp(psz, "analog"))
- conn = bmdAudioConnectionAnalog;
-
- free(psz);
- return conn;
-}
-
static BMDVideoConnection getVConn(vout_display_t *vd)
{
BMDVideoConnection conn = bmdVideoConnectionSDI;
decklink_sys->users++;
/* wait until aout is ready */
- while (decklink_sys->aconn == 0)
+ while (decklink_sys->i_rate == -1)
vlc_cond_wait(&decklink_sys->cond, &decklink_sys->lock);
int i_card_index = var_InheritInteger(vd, CFG_PREFIX "card-index");
goto error;
}
- result = p_config->SetInt(
- bmdDeckLinkConfigAudioInputConnection, decklink_sys->aconn);
- CHECK("Could not set audio connection");
-
if (/*decklink_sys->i_channels > 0 &&*/ decklink_sys->i_rate > 0)
{
result = decklink_sys->p_output->EnableAudioOutput(
struct decklink_sys_t *decklink_sys = GetDLSys(VLC_OBJECT(aout));
vlc_mutex_lock(&decklink_sys->lock);
- decklink_sys->aconn = getAConn(aout);
//decklink_sys->i_channels = var_InheritInteger(vd, AUDIO_CFG_PREFIX "audio-channels");
decklink_sys->i_rate = var_InheritInteger(aout, AUDIO_CFG_PREFIX "audio-rate");
decklink_sys->users++;
{
struct decklink_sys_t *decklink_sys = GetDLSys(p_this);
vlc_mutex_lock(&decklink_sys->lock);
- decklink_sys->aconn = 0;
vlc_mutex_unlock(&decklink_sys->lock);
ReleaseDLSys(p_this);
}