vdr-plugin-softhddevice-drm-gles 1.6.7
audio.cpp File Reference

Audio Interface. More...

#include <chrono>
#include <cmath>
#include <cstdint>
#include <mutex>
#include <string>
#include <sstream>
#include <vector>
#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 <vdr/thread.h>
#include "alsadevice.h"
#include "audio.h"
#include "audioprocessor.h"
#include "codec_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"

Go to the source code of this file.

Functions

static std::vector< std::string > GetFFmpegChannelLayoutAsArray (const AVChannelLayout &layout)
 Put FFmpeg channel layout in a dynamic array of strings.
 
static bool LayoutsMatch (const std::vector< std::string > &ff, const std::vector< std::string > &alsa)
 Check, if FFmpeg and Alsa channel layout match.
 
static bool LayoutIsValid (const std::vector< std::string > &channelLayout)
 Check, if the channel layout has channels named "NA" (N/A, silent)
 

Detailed Description

Audio Interface.

cSoftHdAudio handles everything audio related except the decoding itself (see cAudioDecoder) and ALSA output (see cAlsaDevice).

Definition in file audio.cpp.