UltraGrid
UltraGrid Low-Latency High-Resolution Transmission System
Loading...
Searching...
No Matches
src
audio
resampler.hpp
Go to the documentation of this file.
1
5
/*
6
* Copyright (c) 2011-2022 CESNET, z. s. p. o.
7
* All rights reserved.
8
*
9
* Redistribution and use in source and binary forms, with or without
10
* modification, is permitted provided that the following conditions
11
* are met:
12
*
13
* 1. Redistributions of source code must retain the above copyright
14
* notice, this list of conditions and the following disclaimer.
15
*
16
* 2. Redistributions in binary form must reproduce the above copyright
17
* notice, this list of conditions and the following disclaimer in the
18
* documentation and/or other materials provided with the distribution.
19
*
20
* 3. Neither the name of CESNET nor the names of its contributors may be
21
* used to endorse or promote products derived from this software without
22
* specific prior written permission.
23
*
24
* THIS SOFTWARE IS PROVIDED BY THE AUTHORS AND CONTRIBUTORS
25
* "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING,
26
* BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY
27
* AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
28
* EVENT SHALL THE AUTHORS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
29
* INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
30
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
31
* SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
32
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
33
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
34
* OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
35
* EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
36
*/
37
38
#ifndef AUDIO_RESAMPLER_HPP_60C123AE_99B1_4726_AA2C_EFDB2C723952
39
#define AUDIO_RESAMPLER_HPP_60C123AE_99B1_4726_AA2C_EFDB2C723952
40
41
#include "
audio/types.h
"
42
43
#include <tuple>
44
#include <memory>
45
#include <vector>
46
47
class
audio_frame2_resampler
{
48
public
:
49
audio_frame2_resampler
();
50
~audio_frame2_resampler
();
51
52
audio_frame2_resampler
(
audio_frame2_resampler
&&);
53
audio_frame2_resampler
&
operator=
(
audio_frame2_resampler
&&);
54
55
std::tuple<bool, audio_frame2>
resample
(
audio_frame2
&a, std::vector<audio_frame2::channel> &out,
int
new_sample_rate_num,
int
new_sample_rate_den);
56
int
align_bps
(
int
orig);
57
class
impl
;
58
private
:
59
std::unique_ptr<impl>
m_impl
;
60
};
61
62
#endif
// defined AUDIO_RESAMPLER_HPP_60C123AE_99B1_4726_AA2C_EFDB2C723952
63
types.h
This file contains definition of some common audio types.
audio_frame2_resampler::impl
Definition
resampler.cpp:68
audio_frame2_resampler
Definition
resampler.hpp:47
audio_frame2_resampler::audio_frame2_resampler
audio_frame2_resampler(audio_frame2_resampler &&)
audio_frame2_resampler::resample
std::tuple< bool, audio_frame2 > resample(audio_frame2 &a, std::vector< audio_frame2::channel > &out, int new_sample_rate_num, int new_sample_rate_den)
Definition
resampler.cpp:76
audio_frame2_resampler::m_impl
std::unique_ptr< impl > m_impl
Definition
resampler.hpp:59
audio_frame2_resampler::operator=
audio_frame2_resampler & operator=(audio_frame2_resampler &&)
audio_frame2_resampler::~audio_frame2_resampler
~audio_frame2_resampler()
audio_frame2_resampler::align_bps
int align_bps(int orig)
Definition
resampler.cpp:404
audio_frame2_resampler::audio_frame2_resampler
audio_frame2_resampler()
Definition
resampler.cpp:355
audio_frame2
Definition
types.h:145
Generated on Wed Sep 25 2024 14:27:15 for UltraGrid by
1.12.0