Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
#ifndef _NAC_PACKET_SENDER_H_
#define _NAC_PACKET_SENDER_H_
#define PS_INITSIZE 32
#define PS_GROWRATE 10
#define PS_AUDIO 1
#define PS_VIDEO 2
#include "NacList.h"
class MediaPacket; class TxStream;
typedef struct _psqelement { MediaPacket *pMP; DWORD dwPacketType; IRTPSend *pRTPSend; BYTE *data; DWORD dwSize; UINT fMark; BYTE *pHeaderInfo; DWORD dwHdrSize; } PS_QUEUE_ELEMENT;
class PacketSender { private:
// adding to the queue is done via the interface exposed by
// m_SendQueue. It's thread safe, but we don't want both
// threads trying to send from this queue at the same time,
// we may accidentally send packets our of order
CRITICAL_SECTION m_cs; public:
// audio thread will "PushFront" elements containing packets
// to this queue. VideoThread will PushRear packets.
ThreadSafeList<PS_QUEUE_ELEMENT> m_SendQueue; BOOL SendPacket(); // sends one packet in a thread safe manner
PacketSender(); ~PacketSender(); };
#endif
|