Gnash
0.8.11dev
Main Page
Related Pages
Namespaces
Classes
Files
Examples
File List
File Members
libsound
NullSoundHandler.h
Go to the documentation of this file.
1
// NullSoundHandler - fake sound handler, for testing gnash
2
//
3
// Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012
4
// Free Software Foundation, Inc
5
//
6
// This program is free software; you can redistribute it and/or modify
7
// it under the terms of the GNU General Public License as published by
8
// the Free Software Foundation; either version 3 of the License, or
9
// (at your option) any later version.
10
//
11
// This program is distributed in the hope that it will be useful,
12
// but WITHOUT ANY WARRANTY; without even the implied warranty of
13
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
// GNU General Public License for more details.
15
//
16
// You should have received a copy of the GNU General Public License
17
// along with this program; if not, write to the Free Software
18
// Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
19
20
21
#ifndef NULL_SOUND_HANDLER_H
22
#define NULL_SOUND_HANDLER_H
23
24
#include "
sound_handler.h
"
// for inheritance
25
#include "
dsodefs.h
"
// for DSOEXPORT
26
27
namespace
gnash {
28
29
namespace
media {
30
class
MediaHandler;
31
}
32
33
namespace
sound {
34
36
class
DSOEXPORT
NullSoundHandler
:
public
sound_handler
37
{
38
public
:
39
40
sound_handler
*
_mixer
;
41
42
NullSoundHandler
(
media::MediaHandler
*
m
,
sound_handler
* mixer=0)
43
:
44
sound_handler
(m),
45
_mixer(mixer)
46
{}
47
48
// If a _mixer was given, let it do the mixing!
49
void
mix
(boost::int16_t* outSamples, boost::int16_t* inSamples,
50
unsigned
int
nSamples,
float
volume
)
51
{
52
if
( _mixer ) _mixer->mix(outSamples, inSamples, nSamples, volume);
53
else
{
54
// cheating, just copy input to output, which in NO WAY
55
// can be considered "mixing"
56
std::copy(outSamples, outSamples+nSamples, inSamples);
57
}
58
}
59
60
61
};
62
63
}
// gnash.sound namespace
64
}
// namespace gnash
65
66
#endif // NULL_SOUND_HANDLER_H
67
68
69
// Local Variables:
70
// mode: C++
71
// indent-tabs-mode: t
72
// End:
Generated on Wed Oct 23 2013 11:31:09 for Gnash by
1.8.4