cAudio 2.3.0
3d Audio Engine
Loading...
Searching...
No Matches
cOggDecoder.h
1// Copyright (c) 2008-2011 Raynaldo (Wildicv) Rivera, Joshua (Dark_Kilauea) Jones, Murat (wolfmanfx) Sari
2// This file is part of the "cAudio Engine"
3// For conditions of distribution and use, see copyright notice in cAudio.h
4
5#pragma once
6
7#include "cAudioDefines.h"
8
9#if CAUDIO_COMPILE_WITH_OGG_DECODER == 1
10
11#include "IAudioDecoder.h"
12#include <ogg/ogg.h>
13#include <vorbis/codec.h>
14#include <vorbis/vorbisfile.h>
15#include "cMemoryOverride.h"
16
17namespace cAudio
18{
19
20 class cOggDecoder : public IAudioDecoder, public cMemoryOverride
21 {
22 public:
23
24 cOggDecoder(IDataSource* stream);
25 ~cOggDecoder();
26
27 virtual AudioFormats getFormat();
28 virtual int getFrequency();
29 virtual bool isSeekingSupported();
30 virtual bool isValid();
31 virtual int readAudioData(void* output, int amount);
32 virtual bool setPosition(int position, bool relative);
33 virtual bool seek(float seconds,bool relative);
34 virtual float getTotalTime();
35 virtual int getTotalSize();
36 virtual int getCompressedSize();
37 virtual float getCurrentTime();
38 virtual int getCurrentPosition();
39 virtual int getCurrentCompressedPosition();
40 virtual cAudioString getType() const;
41
42 protected:
44 ov_callbacks vorbisCallbacks;
46 vorbis_info* vorbisInfo;
48 vorbis_comment* vorbisComment;
50 OggVorbis_File oggStream;
51 bool Valid;
52 };
53
54}
55
56#endif
Main namespace for the entire cAudio library.
Definition: cAudioCapture.h:16
AudioFormats
Enumeration of audio formats supported by the engine.
Definition: EAudioFormats.h:11