Spresense SDK Library
v3.4.6-5ba3997155669912adc4b68df0dc983c4388532a
Loading...
Searching...
No Matches
al_outputnode.h
1
/****************************************************************************
2
* modules/include/audiolite/al_inputnode.h
3
*
4
* Copyright 2023 Sony Semiconductor Solutions Corporation
5
*
6
* Redistribution and use in source and binary forms, with or without
7
* modification, are permitted provided that the following conditions
8
* are met:
9
*
10
* 1. Redistributions of source code must retain the above copyright
11
* notice, this list of conditions and the following disclaimer.
12
* 2. Redistributions in binary form must reproduce the above copyright
13
* notice, this list of conditions and the following disclaimer in
14
* the documentation and/or other materials provided with the
15
* distribution.
16
* 3. Neither the name of Sony Semiconductor Solutions Corporation nor
17
* the names of its contributors may be used to endorse or promote
18
* products derived from this software without specific prior written
19
* permission.
20
*
21
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22
* "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23
* LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
24
* FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
25
* COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
26
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
27
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
28
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
29
* AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
30
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
31
* ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
32
* POSSIBILITY OF SUCH DAMAGE.
33
*
34
****************************************************************************/
35
36
#ifndef __INCLUDE_AUDIOLITE_OUTPUTNODE_H
37
#define __INCLUDE_AUDIOLITE_OUTPUTNODE_H
38
39
/****************************************************************************
40
* Included Files
41
****************************************************************************/
42
43
#include <mossfw/mossfw_component.h>
44
45
#include <audiolite/al_memalloc.h>
46
#include <audiolite/al_nodecomm.h>
47
48
/****************************************************************************
49
* Class Pre-definitions
50
****************************************************************************/
51
52
class
audiolite_inputnode
;
53
class
audiolite_component
;
54
class
audiolite_outputnode
;
55
56
/****************************************************************************
57
* Class Definitions
58
****************************************************************************/
59
60
/****************************************************************************
61
* class: audiolite_outputnode
62
****************************************************************************/
63
64
class
audiolite_outputnode
65
{
66
private
:
67
audiolite_component
*_component;
68
audiolite_inputnode
*_binded;
69
audiolite_nodecomm
_comm;
70
mossfw_output_t *_output;
71
mossfw_lock_t _lock;
72
73
public
:
74
audiolite_outputnode
(
audiolite_component
*cmp);
75
~audiolite_outputnode
();
76
77
int
bind(
audiolite_inputnode
*in);
78
int
unbind(
audiolite_inputnode
*in);
79
int
unbind();
80
bool
can_breakdata();
81
int
push_data(
audiolite_mem
*mem);
82
int
fanout();
83
84
friend
class
audiolite_component
;
85
friend
int
audiolite_start(
audiolite_outputnode
*node);
86
friend
void
audiolite_stop(
audiolite_outputnode
*node);
87
friend
void
audiolite_reflesh(
audiolite_outputnode
*node);
88
friend
int
audiolite_start(
audiolite_inputnode
*node);
89
friend
void
audiolite_stop(
audiolite_inputnode
*node);
90
friend
void
audiolite_reflesh(
audiolite_inputnode
*node);
91
};
92
93
/****************************************************************************
94
* Public Function Prototypes
95
****************************************************************************/
96
97
int
audiolite_start(
audiolite_outputnode
*node);
98
void
audiolite_stop(
audiolite_outputnode
*node);
99
void
audiolite_reflesh(
audiolite_outputnode
*node);
100
101
#endif
/* __INCLUDE_AUDIOLITE_OUTPUTNODE_H */
audiolite_component
Definition
al_component.h:58
audiolite_inputnode
Definition
al_inputnode.h:71
audiolite_mem
Definition
al_memalloc.h:112
audiolite_nodecomm
Definition
al_nodecomm.h:76
audiolite_outputnode
Definition
al_outputnode.h:65
spresense
sdk
modules
include
audiolite
al_outputnode.h
Generated by
1.12.0