1//============================================================================
2//
3// SSSS tt lll lll
4// SS SS tt ll ll
5// SS tttttt eeee ll ll aaaa
6// SSSS tt ee ee ll ll aa
7// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
8// SS SS tt ee ll ll aa aa
9// SSSS ttt eeeee llll llll aaaaa
10//
11// Copyright (c) 1995-2019 by Bradford W. Mott, Stephen Anthony
12// and the Stella Team
13//
14// See the file "License.txt" for information on usage and redistribution of
15// this file, and for a DISCLAIMER OF ALL WARRANTIES.
16//============================================================================
17
18#ifndef SIMPLE_RESAMPLER_HXX
19#define SIMPLE_RESAMPLER_HXX
20
21#include "bspf.hxx"
22#include "Resampler.hxx"
23
24class SimpleResampler : public Resampler
25{
26 public:
27 SimpleResampler(
28 Resampler::Format formatFrom,
29 Resampler::Format formatTo,
30 Resampler::NextFragmentCallback NextFragmentCallback
31 );
32
33 void fillFragment(float* fragment, uInt32 length) override;
34
35 private:
36
37 Int16* myCurrentFragment;
38 uInt32 myTimeIndex;
39 uInt32 myFragmentIndex;
40 bool myIsUnderrun;
41
42 private:
43
44 SimpleResampler() = delete;
45 SimpleResampler(const SimpleResampler&) = delete;
46 SimpleResampler(SimpleResampler&&) = delete;
47 SimpleResampler& operator=(const SimpleResampler&) = delete;
48 SimpleResampler& operator=(const SimpleResampler&&) = delete;
49
50};
51
52#endif // SIMPLE_RESAMPLER_HXX
53