SDI Technologies iH30 Especificaciones Pagina 43

  • Descarga
  • Añadir a mis manuales
  • Imprimir
  • Pagina
    / 147
  • Tabla de contenidos
  • MARCADORES
  • Valorado. / 5. Basado en revisión del cliente
Vista de pagina 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 pagina 42
1 2 ... 38 39 40 41 42 43 44 45 46 47 48 ... 146 147

Comentarios a estos manuales

Sin comentarios