diff --git a/src/audio/AudioEvent.java b/src/audio/AudioEvent.java index 146d31d2..ca166059 100644 --- a/src/audio/AudioEvent.java +++ b/src/audio/AudioEvent.java @@ -29,6 +29,7 @@ public class AudioEvent AUDIO_UNSQUELCHED, AUDIO_STARTED, AUDIO_STOPPED, + AUDIO_CONTINUATION, AUDIO_CONFIGURATION_CHANGE_STARTED, AUDIO_CONFIGURATION_CHANGE_COMPLETE; } diff --git a/src/audio/AudioManager.java b/src/audio/AudioManager.java index cb878e78..90bb681e 100644 --- a/src/audio/AudioManager.java +++ b/src/audio/AudioManager.java @@ -319,6 +319,7 @@ public class AudioManager implements Listener, IAudioController { case AUDIO_STARTED: case AUDIO_STOPPED: + case AUDIO_CONTINUATION: mAudioStoppedTime = System.currentTimeMillis(); break; default: diff --git a/src/audio/output/MonoAudioOutput.java b/src/audio/output/MonoAudioOutput.java index 5715fa78..0f4d2674 100644 --- a/src/audio/output/MonoAudioOutput.java +++ b/src/audio/output/MonoAudioOutput.java @@ -51,6 +51,7 @@ public class MonoAudioOutput extends AudioOutput private AudioEvent mAudioStartEvent; private AudioEvent mAudioStopEvent; + private AudioEvent mAudioContinuationEvent; public MonoAudioOutput( Mixer mixer ) { @@ -60,6 +61,8 @@ public class MonoAudioOutput extends AudioOutput getChannelName() ); mAudioStopEvent = new AudioEvent( AudioEvent.Type.AUDIO_STOPPED, getChannelName() ); + mAudioContinuationEvent = new AudioEvent( AudioEvent.Type.AUDIO_CONTINUATION, + getChannelName() ); try { @@ -130,6 +133,8 @@ public class MonoAudioOutput extends AudioOutput if( packets.size() > 0 ) { + broadcast( mAudioContinuationEvent ); + for( AudioPacket packet: packets ) { if( mCanProcessAudio ) diff --git a/src/audio/output/StereoAudioOutput.java b/src/audio/output/StereoAudioOutput.java index a8182359..db54e80f 100644 --- a/src/audio/output/StereoAudioOutput.java +++ b/src/audio/output/StereoAudioOutput.java @@ -51,6 +51,7 @@ public class StereoAudioOutput extends AudioOutput private AudioEvent mAudioStartEvent; private AudioEvent mAudioStopEvent; + private AudioEvent mAudioContinuationEvent; private MixerChannel mMixerChannel; @@ -66,6 +67,8 @@ public class StereoAudioOutput extends AudioOutput getChannelName() ); mAudioStopEvent = new AudioEvent( AudioEvent.Type.AUDIO_STOPPED, getChannelName() ); + mAudioContinuationEvent = new AudioEvent( AudioEvent.Type.AUDIO_CONTINUATION, + getChannelName() ); try { @@ -166,6 +169,8 @@ public class StereoAudioOutput extends AudioOutput if( packets.size() > 0 ) { + broadcast( mAudioContinuationEvent ); + for( AudioPacket packet: packets ) { if( mCanProcessAudio )