- return 1;
- }
-
- if ( sync->start_silence )
- {
- hb_log( "sync: added %d ms of silence to audio %d",
- (int)((sync->next_pts - sync->start_silence) / 90), i );
- sync->start_silence = 0;
- }
- return 0;
-}
-
-static void InsertSilence( hb_work_object_t * w, int i, int64_t duration )
-{
- hb_work_private_t * pv = w->private_data;
- hb_job_t *job = pv->job;
- hb_sync_audio_t *sync = &pv->sync_audio[i];
- hb_buffer_t *buf;
-
- if( job->acodec & HB_ACODEC_AC3 || job->audio_mixdowns[i] == HB_AMIXDOWN_AC3 )
- {
- buf = hb_buffer_init( sync->ac3_size );
- buf->start = sync->next_pts;
- buf->stop = buf->start + duration;
- memcpy( buf->data, sync->ac3_buf, buf->size );
- OutputAudioFrame( job, sync->audio, buf, sync, sync->audio->fifo_out, i );
- }
- else
- {
- buf = hb_buffer_init( duration * sizeof( float ) *
- HB_AMIXDOWN_GET_DISCRETE_CHANNEL_COUNT(sync->audio->amixdown) );
- buf->start = sync->next_pts;
- buf->stop = buf->start + duration;
- memset( buf->data, 0, buf->size );
- OutputAudioFrame( job, sync->audio, buf, sync, sync->audio->fifo_sync, i );