MCPcopy Create free account
hub / github.com/FFmpeg/FFmpeg / offset_audio

Function offset_audio

fftools/sync_queue.c:389–410  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

387}
388
389static void offset_audio(AVFrame *f, int nb_samples)
390{
391 const int planar = av_sample_fmt_is_planar(f->format);
392 const int planes = planar ? f->ch_layout.nb_channels : 1;
393 const int bps = av_get_bytes_per_sample(f->format);
394 const int offset = nb_samples * bps * (planar ? 1 : f->ch_layout.nb_channels);
395
396 av_assert0(bps > 0);
397 av_assert0(nb_samples < f->nb_samples);
398
399 for (int i = 0; i < planes; i++) {
400 f->extended_data[i] += offset;
401 if (i < FF_ARRAY_ELEMS(f->data))
402 f->data[i] = f->extended_data[i];
403 }
404 f->linesize[0] -= offset;
405 f->nb_samples -= nb_samples;
406 f->duration = av_rescale_q(f->nb_samples, (AVRational){ 1, f->sample_rate },
407 f->time_base);
408 f->pts += av_rescale_q(nb_samples, (AVRational){ 1, f->sample_rate },
409 f->time_base);
410}
411
412static int frame_is_aligned(const SyncQueue *sq, const AVFrame *frame)
413{

Callers 1

receive_samplesFunction · 0.85

Calls 3

av_sample_fmt_is_planarFunction · 0.85
av_get_bytes_per_sampleFunction · 0.85
av_rescale_qFunction · 0.85

Tested by

no test coverage detected