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
29template <> inline BYTE AuMuLawAudioData::readValue (BinaryIO* io) const { return (io->read8()) ; }
30template <> inline void AuMuLawAudioData::writeValue (BinaryIO* io, BYTE v) const { io->write8(v) ; }
31
32// AuPCM8AudioData
34template <> inline SBYTE AuPCM8AudioData::readValue (BinaryIO* io) const { return ((SBYTE) io->read8()) ; }
35template <> inline void AuPCM8AudioData::writeValue (BinaryIO* io, SBYTE v) const { io->write8((BYTE) v) ; }
36
37// AuPCM16AudioData
39template <> inline SWORD16 AuPCM16AudioData::readValue (BinaryIO* io) const { return ((SWORD16) io->read16_be()) ; }
40template <> inline void AuPCM16AudioData::writeValue (BinaryIO* io, SWORD16 v) const { io->write16_be((UWORD16) v) ; }
41
42// AuPCM32AudioData
44template <> inline SWORD32 AuPCM32AudioData::readValue (BinaryIO* io) const { return ((SWORD32) io->read32_be()) ; }
45template <> inline void AuPCM32AudioData::writeValue (BinaryIO* io, SWORD32 v) const { io->write32_be((UWORD32) v) ; }
46
47#endif // ndef SH_AUDATA_H
AudioDataImpl< AuPCM8, SBYTE > AuPCM8AudioData
Definition: AuData.h:33
AudioDataImpl< AuPCM16, SWORD16 > AuPCM16AudioData
Definition: AuData.h:38
AudioDataImpl< AuPCM32, SWORD32 > AuPCM32AudioData
Definition: AuData.h:43
AudioDataImpl< AuMuLaw, BYTE > AuMuLawAudioData
Definition: AuData.h:28
implementation of the AudioData-Interface
Definition: AudioData.h:51
ValueType readValue(BinaryIO *io) const
Definition: AuData.h:29
void writeValue(BinaryIO *io, ValueType v) const
provides methods for file i/o as needed by the rest of steghide
Definition: BinaryIO.h:33
BYTE read8(void)
Definition: BinaryIO.cc:146
void write8(BYTE val)
Definition: BinaryIO.cc:247
UWORD32 read32_be(void)
Definition: BinaryIO.cc:204
void write32_be(UWORD32 val)
Definition: BinaryIO.cc:293
void write16_be(UWORD16 val)
Definition: BinaryIO.cc:269
UWORD16 read16_be(void)
Definition: BinaryIO.cc:174
unsigned char BYTE
Definition: common.h:47
unsigned long UWORD32
Definition: common.h:45
short SWORD16
Definition: common.h:49
long SWORD32
Definition: common.h:48
unsigned short UWORD16
Definition: common.h:46
char SBYTE
Definition: common.h:50