SDI Technologies iH30 Especificações Página 43

  • Descarregar
  • Adicionar aos meus manuais
  • Imprimir
  • Página
    / 147
  • Índice
  • MARCADORES
  • Avaliado. / 5. Com base em avaliações de clientes
Vista de página 42
Ancillary Data
Quadro SDI Output PG-03776-001_v06 | 38
Note: When inserting audio data into the NVVIOANCDATAFRAME structure for each
frame in an audio frame sequence it is important to set the correct frame
sequence number and only insert the number of audio samples required for the
current frame. Not setting the correct frame sequence number or sending the
improper number of samples for the current frame will result in audio dropouts.
Code Listing 35: Specifying Audio Data
static int frameSequenceNum = 0;
// Audio Channels 1-4
m_AncData.fields |= NVVIOANCDATAFRAME_AUDIO_GROUP_1;
m_AncData.AudioGroup1.audioCntrl.activeChannels =
NVVIOANCAUDIO_ACTIVE_CH1 | NVVIOANCAUDIO_ACTIVE_CH2 |
NVVIOANCAUDIO_ACTIVE_CH3 | NVVIOANCAUDIO_ACTIVE_CH4;
m_AncData.AudioGroup1.audioCntrl.asynchronous = 1;
// Set audio parameters.
m_AncData.AudioGroup1.audioCntrl.asynchronous = 0;
m_AncData.AudioGroup1.audioCntrl.frameNumber1_2 = frameSequenceNum + 1;
m_AncData.AudioGroup1.audioCntrl.frameNumber3_4 = frameSequenceNum + 1;
m_AncData.AudioGroup1.audioCntrl.rate =
NVVIOANCAUDIO_SAMPLING_RATE_48_0;
// Check for the case where the number of valid samples does not match
// the number of audio samples expected for this frame in the sequence.
if (m_pRingBuffer->NumValidSamples(0) !=
m_uiNumAudioSamples[frameSequenceNum]) {
printf("Audio Sample Mismatch -- ExpectedNumSamples: %d
NumValidSamples: %d\n", m_uiNumAudioSamples[frameSequenceNum],
m_pRingBuffer->NumValidSamples(0));
}
// Assign data buffers from ring buffer
m_AncData.AudioGroup1.numAudioSamples =
m_pRingBuffer->NumValidSamples(0);
m_AncData.AudioGroup1.audioData[0] = m_pRingBuffer->GetBuffer(0);
m_AncData.AudioGroup1.audioData[1] = m_pRingBuffer->GetBuffer(1);
m_AncData.AudioGroup1.audioData[2] = m_pRingBuffer->GetBuffer(0);
m_AncData.AudioGroup1.audioData[3] = m_pRingBuffer->GetBuffer(1);
// Audio Channels 5-8
m_AncData.fields |= NVVIOANCDATAFRAME_AUDIO_GROUP_2;
m_AncData.AudioGroup2.audioCntrl.activeChannels =
NVVIOANCAUDIO_ACTIVE_CH1 | NVVIOANCAUDIO_ACTIVE_CH2 |
NVVIOANCAUDIO_ACTIVE_CH3 | NVVIOANCAUDIO_ACTIVE_CH4;
m_AncData.AudioGroup2.audioCntrl.asynchronous = 1;
// Set audio parameters.
m_AncData.AudioGroup2.audioCntrl.asynchronous = 0;
m_AncData.AudioGroup2.audioCntrl.frameNumber1_2 = frameSequenceNum + 1;
Vista de página 42
1 2 ... 38 39 40 41 42 43 44 45 46 47 48 ... 146 147

Comentários a estes Manuais

Sem comentários