mirror of
https://github.com/tuxbox-fork-migrations/recycled-ni-neutrino.git
synced 2025-08-27 07:22:57 +02:00
our current experimental Neutrino branch
git-svn-id: file:///home/bas/coolstream_public_svn/THIRDPARTY/applications/neutrino-experimental@27 e54a6e83-5905-42d5-8d5c-058d10e6a962
Origin commit data
------------------
Commit: bc5bd4154e
Author: mrcolor <mrcolor@e54a6e83-5905-42d5-8d5c-058d10e6a962>
Date: 2009-12-08 (Tue, 08 Dec 2009)
This commit is contained in:
47
lib/libdvbsub/PacketQueue.cpp
Normal file
47
lib/libdvbsub/PacketQueue.cpp
Normal file
@@ -0,0 +1,47 @@
|
||||
#include <cstdlib>
|
||||
#include <pthread.h>
|
||||
#include <list>
|
||||
#include "Debug.hpp"
|
||||
#include "PacketQueue.hpp"
|
||||
|
||||
PacketQueue::PacketQueue()
|
||||
{
|
||||
pthread_mutex_init(&mutex, NULL);
|
||||
}
|
||||
|
||||
PacketQueue::~PacketQueue()
|
||||
{
|
||||
while (queue.begin() != queue.end()) {
|
||||
delete[] queue.front();
|
||||
queue.pop_front();
|
||||
}
|
||||
}
|
||||
|
||||
void PacketQueue::push(uint8_t* data)
|
||||
{
|
||||
pthread_mutex_lock(&mutex);
|
||||
|
||||
queue.push_back(data);
|
||||
|
||||
pthread_mutex_unlock(&mutex);
|
||||
}
|
||||
|
||||
uint8_t* PacketQueue::pop()
|
||||
{
|
||||
uint8_t* retval;
|
||||
|
||||
pthread_mutex_lock(&mutex);
|
||||
|
||||
retval = queue.front();
|
||||
queue.pop_front();
|
||||
|
||||
pthread_mutex_unlock(&mutex);
|
||||
|
||||
return retval;
|
||||
}
|
||||
|
||||
size_t PacketQueue::size()
|
||||
{
|
||||
return queue.size();
|
||||
}
|
||||
|
Reference in New Issue
Block a user