2 * Copyright 2001-2002, Haiku Inc. All Rights Reserved.
3 * Distributed under the terms of the MIT License.
6 * Christopher ML Zumwalt May (zummy@users.sf.net)
8 #ifndef _STREAMINGGAMESOUND_H
9 #define _STREAMINGGAMESOUND_H
12 #include <SupportDefs.h>
13 #include <GameSound.h>
17 class BStreamingGameSound
: public BGameSound
{
19 BStreamingGameSound(size_t bufferFrameCount
,
20 const gs_audio_format
* format
,
21 size_t bufferCount
= 2,
22 BGameSoundDevice
* device
= NULL
);
24 virtual ~BStreamingGameSound();
26 virtual BGameSound
* Clone() const;
28 virtual status_t
SetStreamHook(void (*hook
)(void* cookie
,
29 void* buffer
, size_t byteCount
,
30 BStreamingGameSound
* me
),
32 virtual void FillBuffer(void* buffer
, size_t byteCount
);
34 virtual status_t
SetAttributes(gs_attribute
* attributes
,
35 size_t attributeCount
);
37 virtual status_t
Perform(int32 selector
, void* data
);
40 BStreamingGameSound(BGameSoundDevice
* device
);
42 virtual status_t
SetParameters(size_t bufferFrameCount
,
43 const gs_audio_format
* format
,
50 BStreamingGameSound();
52 const BStreamingGameSound
& other
);
53 BStreamingGameSound
& operator=(const BStreamingGameSound
& other
);
56 virtual status_t
_Reserved_BStreamingGameSound_0(int32 arg
,...);
57 virtual status_t
_Reserved_BStreamingGameSound_1(int32 arg
,...);
58 virtual status_t
_Reserved_BStreamingGameSound_2(int32 arg
,...);
59 virtual status_t
_Reserved_BStreamingGameSound_3(int32 arg
,...);
60 virtual status_t
_Reserved_BStreamingGameSound_4(int32 arg
,...);
61 virtual status_t
_Reserved_BStreamingGameSound_5(int32 arg
,...);
62 virtual status_t
_Reserved_BStreamingGameSound_6(int32 arg
,...);
63 virtual status_t
_Reserved_BStreamingGameSound_7(int32 arg
,...);
64 virtual status_t
_Reserved_BStreamingGameSound_8(int32 arg
,...);
65 virtual status_t
_Reserved_BStreamingGameSound_9(int32 arg
,...);
66 virtual status_t
_Reserved_BStreamingGameSound_10(int32 arg
,...);
67 virtual status_t
_Reserved_BStreamingGameSound_11(int32 arg
,...);
68 virtual status_t
_Reserved_BStreamingGameSound_12(int32 arg
,...);
69 virtual status_t
_Reserved_BStreamingGameSound_13(int32 arg
,...);
70 virtual status_t
_Reserved_BStreamingGameSound_14(int32 arg
,...);
71 virtual status_t
_Reserved_BStreamingGameSound_15(int32 arg
,...);
72 virtual status_t
_Reserved_BStreamingGameSound_16(int32 arg
,...);
73 virtual status_t
_Reserved_BStreamingGameSound_17(int32 arg
,...);
74 virtual status_t
_Reserved_BStreamingGameSound_18(int32 arg
,...);
75 virtual status_t
_Reserved_BStreamingGameSound_19(int32 arg
,...);
76 virtual status_t
_Reserved_BStreamingGameSound_20(int32 arg
,...);
77 virtual status_t
_Reserved_BStreamingGameSound_21(int32 arg
,...);
78 virtual status_t
_Reserved_BStreamingGameSound_22(int32 arg
,...);
79 virtual status_t
_Reserved_BStreamingGameSound_23(int32 arg
,...);
82 void (*fStreamHook
)(void* cookie
, void* buffer
,
83 size_t bytes
, BStreamingGameSound
* sound
);
91 #endif // _STREAMING_GAME_SOUND_H