Пример #1
0
    def clear(self):
        al.alSourceStop(self._al_source)
        self._playing = False

        processed = al.ALint()
        al.alGetSourcei(self._al_source, al.AL_BUFFERS_PROCESSED, processed)
        if processed.value:
            buffers = (al.ALuint * processed.value)()
            al.alSourceUnqueueBuffers(self._al_source, len(buffers), buffers)
            al.alDeleteBuffers(len(buffers), buffers)

        self._pause_timestamp = 0.0
        self._buffered_time = 0.0
        self._timestamps = []
Пример #2
0
    def clear(self):
        al.alSourceStop(self._al_source)
        self._playing = False

        processed = al.ALint()
        al.alGetSourcei(self._al_source, al.AL_BUFFERS_PROCESSED, processed)
        if processed.value:
            buffers = (al.ALuint * processed.value)()
            al.alSourceUnqueueBuffers(self._al_source, len(buffers), buffers)
            al.alDeleteBuffers(len(buffers), buffers)

        self._pause_timestamp = 0.0
        self._buffered_time = 0.0
        self._timestamps = []
Пример #3
0
    def _clear_buffers(self):
        '''Stop source and remove all queued buffers.'''
        al.alSourceStop(self._al_source)
        self._al_playing = False

        processed = al.ALint()
        al.alGetSourcei(self._al_source, 
                        al.AL_BUFFERS_PROCESSED, processed)
        processed = processed.value

        if processed:
            buffers = (al.ALuint * processed)()
            al.alSourceUnqueueBuffers(self._al_source, 
                                      len(buffers), buffers)
            for buffer in buffers:
                info = self._queued_buffers.pop(0)
                assert info is buffer_pool.info[buffer]
                buffer_pool.release(buffer)
        assert not self._queued_buffers
Пример #4
0
 def stop(self):
     al.alSourceStop(self.source)
Пример #5
0
 def stop(self):
     al.alSourceStop(self.source)