steghide  0.5.1
AuData.h
Go to the documentation of this file.
1 /*
2  * steghide 0.5.1 - a steganography program
3  * Copyright (C) 1999-2003 Stefan Hetzl <shetzl@chello.at>
4  *
5  * This program is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU General Public License
7  * as published by the Free Software Foundation; either version 2
8  * of the License, or (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18  *
19  */
20 
21 #ifndef SH_AUDATA_H
22 #define SH_AUDATA_H
23 
24 #include "BinaryIO.h"
25 #include "AudioData.h"
26 
27 // AuMuLawAudioData
29 template <> inline BYTE AuMuLawAudioData::readValue (BinaryIO* io) const { return (io->read8()) ; }
30 template <> inline void AuMuLawAudioData::writeValue (BinaryIO* io, BYTE v) const { io->write8(v) ; }
31 
32 // AuPCM8AudioData
34 template <> inline SBYTE AuPCM8AudioData::readValue (BinaryIO* io) const { return ((SBYTE) io->read8()) ; }
35 template <> inline void AuPCM8AudioData::writeValue (BinaryIO* io, SBYTE v) const { io->write8((BYTE) v) ; }
36 
37 // AuPCM16AudioData
39 template <> inline SWORD16 AuPCM16AudioData::readValue (BinaryIO* io) const { return ((SWORD16) io->read16_be()) ; }
40 template <> inline void AuPCM16AudioData::writeValue (BinaryIO* io, SWORD16 v) const { io->write16_be((UWORD16) v) ; }
41 
42 // AuPCM32AudioData
44 template <> inline SWORD32 AuPCM32AudioData::readValue (BinaryIO* io) const { return ((SWORD32) io->read32_be()) ; }
45 template <> inline void AuPCM32AudioData::writeValue (BinaryIO* io, SWORD32 v) const { io->write32_be((UWORD32) v) ; }
46 
47 #endif // ndef SH_AUDATA_H
UWORD32 read32_be(void)
Definition: BinaryIO.cc:204
short SWORD16
Definition: common.h:49
ValueType readValue(BinaryIO *io) const
Definition: AuData.h:29
UWORD16 read16_be(void)
Definition: BinaryIO.cc:174
unsigned char BYTE
Definition: common.h:47
char SBYTE
Definition: common.h:50
implementation of the AudioData-Interface
Definition: AudioData.h:51
unsigned short UWORD16
Definition: common.h:46
AudioDataImpl< AuMuLaw, BYTE > AuMuLawAudioData
Definition: AuData.h:28
void write16_be(UWORD16 val)
Definition: BinaryIO.cc:269
long SWORD32
Definition: common.h:48
unsigned long UWORD32
Definition: common.h:45
AudioDataImpl< AuPCM32, SWORD32 > AuPCM32AudioData
Definition: AuData.h:43
provides methods for file i/o as needed by the rest of steghide
Definition: BinaryIO.h:33
void write32_be(UWORD32 val)
Definition: BinaryIO.cc:293
void write8(BYTE val)
Definition: BinaryIO.cc:247
BYTE read8(void)
Definition: BinaryIO.cc:146
AudioDataImpl< AuPCM16, SWORD16 > AuPCM16AudioData
Definition: AuData.h:38
AudioDataImpl< AuPCM8, SBYTE > AuPCM8AudioData
Definition: AuData.h:33
void writeValue(BinaryIO *io, ValueType v) const