Pops data from the @queue. If the queue is empty, blocks until
data from the queue or null, when no data is received before @end_time.
a #GTimeVal, determining the final time