Add an underflow() method to Voice
This commit is contained in:
parent
36b1a6d016
commit
c5e2cdd3c5
|
@ -107,6 +107,10 @@ impl Voice {
|
|||
pub fn pause(&mut self) {
|
||||
unimplemented!()
|
||||
}
|
||||
|
||||
pub fn underflowed(&self) -> bool {
|
||||
false // TODO:
|
||||
}
|
||||
}
|
||||
|
||||
unsafe impl Send for Voice {}
|
||||
|
|
|
@ -339,6 +339,12 @@ impl Voice {
|
|||
pub fn pause(&mut self) {
|
||||
self.0.pause()
|
||||
}
|
||||
|
||||
/// Returns true if the voice has finished reading all the data you sent to it.
|
||||
#[inline]
|
||||
pub fn underflowed(&self) -> bool {
|
||||
self.0.underflowed()
|
||||
}
|
||||
}
|
||||
|
||||
impl<'a, T> Deref for Buffer<'a, T> where T: Sample {
|
||||
|
|
|
@ -70,6 +70,10 @@ impl Voice {
|
|||
|
||||
pub fn pause(&mut self) {
|
||||
}
|
||||
|
||||
pub fn underflowed(&self) -> bool {
|
||||
false
|
||||
}
|
||||
}
|
||||
|
||||
pub struct Buffer<'a, T: 'a> {
|
||||
|
|
|
@ -296,6 +296,16 @@ impl Voice {
|
|||
|
||||
self.playing = false;
|
||||
}
|
||||
|
||||
pub fn underflowed(&self) -> bool {
|
||||
unsafe {
|
||||
let mut padding = mem::uninitialized();
|
||||
let hresult = (*self.audio_client).GetCurrentPadding(&mut padding);
|
||||
check_result(hresult).unwrap();
|
||||
|
||||
padding == 0
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
impl Drop for Voice {
|
||||
|
|
Loading…
Reference in New Issue