1/**
2 * Copyright (c) 2006-2023 LOVE Development Team
3 *
4 * This software is provided 'as-is', without any express or implied
5 * warranty. In no event will the authors be held liable for any damages
6 * arising from the use of this software.
7 *
8 * Permission is granted to anyone to use this software for any purpose,
9 * including commercial applications, and to alter it and redistribute it
10 * freely, subject to the following restrictions:
11 *
12 * 1. The origin of this software must not be misrepresented; you must not
13 * claim that you wrote the original software. If you use this software
14 * in a product, an acknowledgment in the product documentation would be
15 * appreciated but is not required.
16 * 2. Altered source versions must be plainly marked as such, and must not be
17 * misrepresented as being the original software.
18 * 3. This notice may not be removed or altered from any source distribution.
19 **/
20
21#include "Decoder.h"
22
23#include "common/Exception.h"
24
25namespace love
26{
27namespace sound
28{
29
30love::Type Decoder::type("Decoder", &Object::type);
31
32Decoder::Decoder(Data *data, int bufferSize)
33 : data(data)
34 , bufferSize(bufferSize)
35 , sampleRate(DEFAULT_SAMPLE_RATE)
36 , buffer(0)
37 , eof(false)
38{
39 buffer = new char[bufferSize];
40}
41
42Decoder::~Decoder()
43{
44 if (buffer != 0)
45 delete [](char *) buffer;
46}
47
48void *Decoder::getBuffer() const
49{
50 return buffer;
51}
52
53int Decoder::getSize() const
54{
55 return bufferSize;
56}
57
58int Decoder::getSampleRate() const
59{
60 return sampleRate;
61}
62
63bool Decoder::isFinished()
64{
65 return eof;
66}
67
68} // sound
69} // love
70