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

Go to the source code of this file.

Classes

struct  state_discard
 

Functions

static af_result_code configure (void *state, int in_bps, int in_ch_count, int in_sample_rate)
 
static void done (void *state)
 
static af_result_code filter (void *state, struct audio_frame **frame)
 
static void get_configured (void *state, int *bps, int *ch_count, int *sample_rate)
 
static af_result_code init (struct module *parent, const char *cfg, void **state)
 
 REGISTER_HIDDEN_MODULE (discard, &audio_filter_discard, LIBRARY_CLASS_AUDIO_FILTER, AUDIO_FILTER_ABI_VERSION)
 
static void usage ()
 

Variables

static const struct audio_filter_info audio_filter_discard
 

Detailed Description

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

Definition in file discard.cpp.

Function Documentation

◆ configure()

static af_result_code configure ( void * state,
int in_bps,
int in_ch_count,
int in_sample_rate )
static

Definition at line 83 of file discard.cpp.

85{
86 auto s = static_cast<state_discard *>(state);
87
88 s->bps = in_bps;
89 s->ch_count = in_ch_count;
90 s->sample_rate = in_sample_rate;
91
92 return AF_OK;
93}
void ** state
@ AF_OK

References AF_OK, state_discard::bps, and state.

Referenced by filter().

◆ done()

static void done ( void * state)
static

Definition at line 95 of file discard.cpp.

95 {
96 auto s = static_cast<state_discard *>(state);
97
98 delete s;
99}

References state.

◆ filter()

static af_result_code filter ( void * state,
struct audio_frame ** frame )
static

Definition at line 111 of file discard.cpp.

111 {
112 auto s = static_cast<state_discard *>(state);
113
114 auto f = *frame;
115
116 if(f->bps != s->bps || f->ch_count != s->ch_count){
117 if(configure(state, f->bps, f->ch_count, f->sample_rate) != AF_OK){
118 return AF_MISCONFIGURED;
119 }
120 }
121
122 *frame = nullptr;
123
124 return AF_OK;
125}
struct video_frame * frame
@ AF_MISCONFIGURED
static af_result_code configure(void *state, int in_bps, int in_ch_count, int in_sample_rate)
Definition discard.cpp:83

References AF_MISCONFIGURED, AF_OK, configure(), frame, and state.

Here is the call graph for this function:

◆ get_configured()

static void get_configured ( void * state,
int * bps,
int * ch_count,
int * sample_rate )
static

Definition at line 101 of file discard.cpp.

103{
104 auto s = static_cast<state_discard *>(state);
105
106 if(bps) *bps = s->bps;
107 if(ch_count) *ch_count = s->ch_count;
108 if(sample_rate) *sample_rate = s->sample_rate;
109}
int int int sample_rate

References state_discard::bps, sample_rate, and state.

◆ init()

static af_result_code init ( struct module * parent,
const char * cfg,
void ** state )
static

Definition at line 71 of file discard.cpp.

71 {
72 auto s = std::make_unique<state_discard>(parent);
73
74 if(strcmp(cfg, "help") == 0){
75 usage();
76 return AF_HELP_SHOWN;
77 }
78
79 *state = s.release();
80 return AF_OK;
81};
@ AF_HELP_SHOWN
static void usage()
Definition discard.cpp:66
const char * parent
Definition settings.cpp:198

References AF_HELP_SHOWN, AF_OK, parent, state, and usage().

Here is the call graph for this function:

◆ REGISTER_HIDDEN_MODULE()

REGISTER_HIDDEN_MODULE ( discard ,
& audio_filter_discard,
LIBRARY_CLASS_AUDIO_FILTER ,
AUDIO_FILTER_ABI_VERSION  )

◆ usage()

static void usage ( void )
static

Definition at line 66 of file discard.cpp.

66 {
67 printf("discard:\n");
68 printf("Discards all audio frames\n");
69}

Referenced by init().

Variable Documentation

◆ audio_filter_discard

const struct audio_filter_info audio_filter_discard
static
Initial value:
= {
.name = "discard",
.init = init,
.done = done,
.configure = configure,
.get_configured_in = get_configured,
.get_configured_out = get_configured,
.filter = filter,
}
static af_result_code filter(void *state, struct audio_frame **frame)
Definition discard.cpp:111
static void get_configured(void *state, int *bps, int *ch_count, int *sample_rate)
Definition discard.cpp:101
static af_result_code init(struct module *parent, const char *cfg, void **state)
Definition discard.cpp:71
static void done(void *state)
Definition discard.cpp:95

Definition at line 127 of file discard.cpp.

127 {
128 .name = "discard",
129 .init = init,
130 .done = done,
131 .configure = configure,
132 .get_configured_in = get_configured,
133 .get_configured_out = get_configured,
134 .filter = filter,
135};