vdr-plugin-softhddevice-drm-gles 1.5.9-20e15de
audio.cpp File Reference

Audio and alsa module class. More...

#include <chrono>
#include <cmath>
#include <cstdint>
#include <mutex>
#include <vector>
#include <alsa/asoundlib.h>
#include <libavcodec/avcodec.h>
#include <libavfilter/avfilter.h>
#include <libavfilter/buffersink.h>
#include <libavfilter/buffersrc.h>
#include <libavutil/channel_layout.h>
#include <libavutil/opt.h>
#include "audio.h"
#include "config.h"
#include "event.h"
#include "filllevel.h"
#include "logger.h"
#include "misc.h"
#include "pidcontroller.h"
#include "ringbuffer.h"
#include "softhddevice.h"
#include "threads.h"

Go to the source code of this file.

Functions

static void ReorderAudioFrame (uint16_t *buf, int size, int channels)
 Reorder audio frame.
 
static void AlsaNoopCallback (__attribute__((unused)) const char *file, __attribute__((unused)) int line, __attribute__((unused)) const char *function, __attribute__((unused)) int err, __attribute__((unused)) const char *fmt,...)
 Empty log callback.
 

Detailed Description

Audio and alsa module class.

This file defines cSoftHdAudio , which holds all functions we need to deal with audio, e.g.handling the audio stream and sending it to hardware.

Definition in file audio.cpp.

Function Documentation

◆ AlsaNoopCallback()

static void AlsaNoopCallback ( __attribute__((unused)) const char *  file,
__attribute__((unused)) int  line,
__attribute__((unused)) const char *  function,
__attribute__((unused)) int  err,
__attribute__((unused)) const char *  fmt,
  ... 
)
static

Empty log callback.

Definition at line 1527 of file audio.cpp.

Referenced by cSoftHdAudio::AlsaInit().

◆ ReorderAudioFrame()

static void ReorderAudioFrame ( uint16_t *  buf,
int  size,
int  channels 
)
static

Reorder audio frame.

ffmpeg L R C Ls Rs -> alsa L R Ls Rs C ffmpeg L R C LFE Ls Rs -> alsa L R Ls Rs C LFE ffmpeg L R C LFE Ls Rs Rl Rr -> alsa L R Ls Rs C LFE Rl Rr

Parameters
buf[IN,OUT]sample buffer
sizesize of sample buffer in bytes
channelsnumber of channels interleaved in sample buffer

Definition at line 95 of file audio.cpp.

Referenced by cSoftHdAudio::EnqueueFrame().