Files
recycled-ni-neutrino/lib/libdvbsub/PacketQueue.cpp
mrcolor bcecfb6585 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
------------------
Branch: ni/coolstream
Commit: bc5bd4154e
Author: mrcolor <mrcolor@e54a6e83-5905-42d5-8d5c-058d10e6a962>
Date: 2009-12-08 (Tue, 08 Dec 2009)



------------------
This commit was generated by Migit
2009-12-08 11:05:11 +00:00

48 lines
655 B
C++

#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();
}