UltraGrid
UltraGrid Low-Latency High-Resolution Transmission System
Loading...
Searching...
No Matches
audio_filter.cpp File Reference
#include "debug.h"
#include <vector>
#include "audio_filter.h"
#include "lib_common.h"
#include "module.h"
#include "utils/color_out.h"
Include dependency graph for audio_filter.cpp:

Go to the source code of this file.

Functions

af_result_code audio_filter (struct audio_filter *state, struct audio_frame **frame)
 
af_result_code audio_filter_configure (struct audio_filter *state, int bps, int ch_count, int sample_rate)
 
void audio_filter_destroy (struct audio_filter *state)
 
void audio_filter_get_configured_in (struct audio_filter *state, int *bps, int *ch_count, int *sample_rate)
 
void audio_filter_get_configured_out (struct audio_filter *state, int *bps, int *ch_count, int *sample_rate)
 
af_result_code audio_filter_init (struct module *parent, const char *name, const char *cfg, struct audio_filter *filter)
 

Detailed Description

Author
Martin Piatka piatk.nosp@m.a@ce.nosp@m.snet..nosp@m.cz

Definition in file audio_filter.cpp.

Function Documentation

◆ audio_filter()

af_result_code audio_filter ( struct audio_filter * state,
struct audio_frame ** frame )

Definition at line 87 of file audio_filter.cpp.

87 {
88 return state->info->filter(state->state, frame);
89}
void ** state
struct video_frame * frame

References frame, and state.

Referenced by Filter_chain::filter().

◆ audio_filter_configure()

af_result_code audio_filter_configure ( struct audio_filter * state,
int bps,
int ch_count,
int sample_rate )

Definition at line 91 of file audio_filter.cpp.

93{
94 return state->info->configure(state->state, bps, ch_count, sample_rate);
95}
int int int sample_rate

References sample_rate, and state.

Referenced by Filter_chain::reconfigure().

◆ audio_filter_destroy()

void audio_filter_destroy ( struct audio_filter * state)

Definition at line 77 of file audio_filter.cpp.

77 {
78 if(!state->state)
79 return;
80
81 state->info->done(state->state);
82
83 state->info = {};
84 state->state = {};
85}

References state.

Referenced by Filter_chain::clear().

◆ audio_filter_get_configured_in()

void audio_filter_get_configured_in ( struct audio_filter * state,
int * bps,
int * ch_count,
int * sample_rate )

Definition at line 103 of file audio_filter.cpp.

105{
106 return state->info->get_configured_in(state->state, bps, ch_count, sample_rate);
107}

References sample_rate, and state.

◆ audio_filter_get_configured_out()

void audio_filter_get_configured_out ( struct audio_filter * state,
int * bps,
int * ch_count,
int * sample_rate )

Definition at line 97 of file audio_filter.cpp.

99{
100 return state->info->get_configured_out(state->state, bps, ch_count, sample_rate);
101}

References sample_rate, and state.

Referenced by Filter_chain::reconfigure().

◆ audio_filter_init()

af_result_code audio_filter_init ( struct module * parent,
const char * name,
const char * cfg,
struct audio_filter * filter )

Definition at line 53 of file audio_filter.cpp.

55{
58
59 for(const auto& i : filters){
60 auto funcs = static_cast<const audio_filter_info *>(i.second);
61 if(strcasecmp(i.first.c_str(), name) == 0){
62 filter->info = funcs;
63
64 af_result_code ret = funcs->init(parent, cfg, &filter->state);
65 if(ret == AF_FAILURE) {
66 log_msg(LOG_LEVEL_ERROR, "Unable to initialize filter: %s\n",
67 name);
68 }
69 return ret;
70 }
71 }
72
73 log_msg(LOG_LEVEL_ERROR, "Unable to find capture filter: %s\n", name);
74 return AF_FAILURE;
75}
#define AUDIO_FILTER_ABI_VERSION
af_result_code
@ AF_FAILURE
static af_result_code filter(void *state, struct audio_frame **frame)
void log_msg(int level, const char *format,...)
Definition debug.cpp:130
#define LOG_LEVEL_ERROR
general errors
Definition debug.h:59
map< string, const void * > get_libraries_for_class(enum library_class cls, int abi_version, bool include_hidden)
@ LIBRARY_CLASS_AUDIO_FILTER
Definition lib_common.h:85
const char * parent
Definition settings.cpp:198
const char * name
Definition settings.cpp:193

References AF_FAILURE, AUDIO_FILTER_ABI_VERSION, filter(), get_libraries_for_class(), LIBRARY_CLASS_AUDIO_FILTER, LOG_LEVEL_ERROR, log_msg(), name, and parent.

Referenced by Filter_chain::emplace_new().

Here is the call graph for this function: