20 #ifndef SOUND_HANDLER_AHI_H
21 #define SOUND_HANDLER_AHI_H
26 #include <boost/thread/mutex.hpp>
28 #include <proto/dos.h>
29 #include <proto/exec.h>
30 #include <proto/ahi.h>
32 #include <devices/ahi.h>
33 #include <exec/memory.h>
35 #include <sys/types.h>
52 struct MsgPort *_port;
54 struct TimeRequest *_timerio;
55 struct TimerIFace *ITimer;
57 struct AHIIFace *IAHI;
58 struct Library *AHIBase;
59 struct MsgPort *AHImp;
60 struct AHIRequest *AHIio;
62 struct AHIRequest *AHIios[2];
71 struct Process *AudioPump;
75 void TimerReset(uint32 microDelay);
85 struct DeathMessage *_dmsg;
86 struct MsgPort *_DMreplyport;
92 mutable boost::mutex _mutedMutex;
95 void mix(boost::int16_t* outSamples, boost::int16_t* inSamples,
96 unsigned int nSamples,
float volume);
98 void MixAudio (boost::uint8_t *dst,
const boost::uint8_t *src, boost::uint32_t len,
int volume);
107 virtual int create_sound(std::auto_ptr<SimpleBuffer>
data, std::auto_ptr<media::SoundInfo> sinfo);
112 unsigned int data_bytes,
113 unsigned int sample_count,
123 virtual void reset();
132 virtual void set_volume(
int sound_handle,
int volume);
151 virtual void pause();
161 virtual unsigned int tell(
int sound_handle);
168 void fetchSamples(boost::int16_t* to,
unsigned int nSamples);
178 #endif // SOUND_HANDLER_AHI_H
virtual unsigned int get_duration(int sound_handle)
Definition: sound_handler_ahi.cpp:251
virtual int get_volume(int sound_handle)
Definition: sound_handler_ahi.cpp:229
virtual bool is_muted() const
Returns whether or not sound is muted.
Definition: sound_handler_ahi.cpp:428
Definition: klash_part.cpp:331
AOS4_sound_handler(media::MediaHandler *m)
Definition: sound_handler_ahi.cpp:74
virtual void stop_sound(int sound_handle)
Definition: sound_handler_ahi.cpp:206
virtual void stop_all_sounds()
Mixed functions:
Definition: sound_handler_ahi.cpp:221
virtual void delete_sound(int sound_handle)
Discard the sound data for an embedded event sound.
Definition: sound_handler_ahi.cpp:214
Sound mixer.
Definition: sound_handler.h:87
SimpleBuffer data
Definition: LocalConnection_as.cpp:153
AHI-based sound_handler.
Definition: sound_handler_ahi.h:49
virtual unsigned int tell(int sound_handle)
Definition: sound_handler_ahi.cpp:258
void plugInputStream(std::auto_ptr< InputStream > in)
Plug an InputStream to the mixer.
Definition: sound_handler_ahi.cpp:397
~AOS4_sound_handler()
Definition: sound_handler_ahi.cpp:83
virtual media::SoundInfo * get_sound_info(int soundHandle)
Definition: sound_handler_ahi.cpp:244
virtual void set_volume(int sound_handle, int volume)
Sets the volume for a given event sound.
Definition: sound_handler_ahi.cpp:237
virtual void unmute()
Call this to unmute audio.
Definition: sound_handler_ahi.cpp:421
virtual void pause()
gnash calls this to pause audio
Definition: sound_handler_ahi.cpp:435
virtual void reset()
Discard all sound inputs (slots and aux streamers) and clear scheduling.
Definition: sound_handler_ahi.cpp:180
int audioTask()
Definition: sound_handler_ahi.cpp:526
virtual int create_sound(std::auto_ptr< SimpleBuffer > data, std::auto_ptr< media::SoundInfo > sinfo)
Definition: sound_handler_ahi.cpp:188
unsigned long StreamBlockId
Identifier of a streaming sound block.
Definition: sound_handler.h:97
virtual void mute()
Call this to mute audio.
Definition: sound_handler_ahi.cpp:414
virtual StreamBlockId addSoundBlock(unsigned char *data, unsigned int data_bytes, unsigned int sample_count, int streamId)
Definition: sound_handler_ahi.cpp:196
Definition: GnashKey.h:159
void fetchSamples(boost::int16_t *to, unsigned int nSamples)
Fetch mixed samples.
Definition: sound_handler_ahi.cpp:272
virtual void unpause()
gnash calls this to unpause audio
Definition: sound_handler_ahi.cpp:446