Source code for models.FrameQueue
#
# TI Voxel Viewer component.
#
# Copyright (c) 2014 Texas Instruments Inc.
#
from DataQueue import DataQueue
from collections import deque
[docs]class FrameQueue(DataQueue):
def __init__(self, maxlen = 3):
super(FrameQueue, self).__init__(maxlen)
self.availableQueue = deque(maxlen = maxlen)
def _put(self, item):
if len(self.availableQueue) == 0:
self.queue.append(item.copy())
else:
it = self.availableQueue.popleft()
item.copyTo(it)
self.queue.append(it)
[docs] def release(self, item):
self.condition.acquire()
self.availableQueue.append(item)
self.condition.release()