29 #ifndef PTLIB_PCAPFILE_H
30 #define PTLIB_PCAPFILE_H
38 #include <ptlib/sockets.h>
54 void PrintOn(ostream & strm)
const;
56 bool WriteFrame(
const PEthSocket::Frame & frame);
60 int GetIP(PBYTEArray & payload);
61 int GetTCP(PBYTEArray & payload);
62 int GetUDP(PBYTEArray & payload);
91 const PIPSocket::Address & ip
96 const PIPSocket::Address & ip
118 Comparison
Compare(
const PObject & obj)
const;
119 void PrintOn(ostream & strm)
const;
128 void PrintOn(ostream & strm)
const;
153 const PString & format = PString::Empty()
156 typedef std::map<RTP_DataFrame::PayloadTypes, OpalMediaFormat>
PayloadMap;
160 bool overwrite =
false
170 bool InternalOpen(OpenMode mode, OpenOptions opt, PFileInfo::Permissions permissions);
193 class Frame :
public PEthSocket::Frame {
199 PINDEX packetSize = P_MAX_INDEX
215 struct DiscoveryInfo;
216 typedef std::map<DiscoveredRTPKey, DiscoveryInfo>
DiscoveryMap;
220 #endif // PTLIB_PCAPFILE_H
bool m_otherEndian
Definition: pcapfile.h:202
Definition: pcapfile.h:133
int GetUDP(PBYTEArray &payload)
Definition: pcapfile.h:65
OpalTranscoder * m_transcoder
Definition: pcapfile.h:67
std::map< RTP_DataFrame::PayloadTypes, OpalMediaFormat > PayloadMap
Definition: pcapfile.h:156
OpalMediaFormat m_mediaFormat
Definition: pcapfile.h:124
int GetRTP(RTP_DataFrame &rtp)
void PrintOn(ostream &strm) const
int GetIP(PBYTEArray &payload)
RTP_SyncSourceId m_ssrc
Definition: pcapfile.h:115
RTP_DataFrame::PayloadTypes m_payloadType
Definition: pcapfile.h:123
void SetPayloadMap(const PayloadMap &payloadMap, bool overwrite=false)
int GetDataLink(PBYTEArray &payload)
WORD GetFilterSrcPort() const
Definition: pcapfile.h:103
uint16_t RTP_SequenceNumber
Definition: rtp.h:45
PayloadTypes
Definition: rtp.h:556
off_t m_filePosition
Definition: pcapfile.h:143
int DecodeRTP(RTP_DataFrame &encodedRTP, RTP_DataFrame &decodedRTP, DecodeContext &context)
WORD GetSrcPort() const
Definition: pcapfile.h:87
FileHeader m_fileHeader
Definition: pcapfile.h:191
WORD GetDstPort() const
Definition: pcapfile.h:88
bool SetFilters(const DiscoveredRTPInfo &discoveredRTP, const PString &format=PString::Empty())
void SetFilterSrcIP(const PIPSocket::Address &ip)
Definition: pcapfile.h:90
int GetTCP(PBYTEArray &payload)
const PIPSocket::Address & GetSrcIP() const
Definition: pcapfile.h:84
PArray< DiscoveredRTPInfo > DiscoveredRTP
Definition: pcapfile.h:131
std::map< DiscoveredRTPKey, DiscoveryInfo > DiscoveryMap
Definition: pcapfile.h:215
Frame m_rawPacket
Definition: pcapfile.h:204
Progress(off_t length)
Definition: pcapfile.h:135
Definition: pcapfile.h:111
RTP_SyncSourceId m_lastSSRC
Definition: pcapfile.h:69
const PTime & GetPacketTime() const
Definition: pcapfile.h:83
Definition: transcoders.h:134
PIPAddressAndPort m_dst
Definition: pcapfile.h:114
off_t m_fileLength
Definition: pcapfile.h:142
PayloadMap m_payloadType2mediaFormat
Definition: pcapfile.h:213
unsigned m_packets
Definition: pcapfile.h:144
bool DiscoverRTP(DiscoveredRTP &discoveredRTP, const ProgressNotifier &progressNotifier=NULL)
void PrintOn(ostream &strm) const
unsigned IsFragmentated() const
Definition: pcapfile.h:86
bool WriteRTP(const RTP_DataFrame &rtp, WORD port=5000)
Definition: pcapfile.h:193
void SetFilterSrcPort(WORD port)
Definition: pcapfile.h:100
OpalMediaFormat GetMediaFormat(const RTP_DataFrame &rtp) const
PNotifierTemplate< Progress & > ProgressNotifier
Definition: pcapfile.h:147
int GetDecodedRTP(RTP_DataFrame &decodedRTP, DecodeContext &context)
bool m_abort
Definition: pcapfile.h:145
bool WriteFrame(const PEthSocket::Frame &frame)
PIPAddressAndPort m_src
Definition: pcapfile.h:113
const PIPSocket::Address & GetFilterDstIP() const
Definition: pcapfile.h:98
const PIPSocket::Address & GetDstIP() const
Definition: pcapfile.h:85
off_t m_lastPacketsFilePosition
Definition: pcapfile.h:70
Definition: pcapfile.h:122
RTP_SequenceNumber m_lastSequenceNumber
Definition: pcapfile.h:68
PIPSocketAddressAndPort m_packetSrc
Definition: pcapfile.h:210
Frame()
Definition: pcapfile.h:195
void PrintOn(ostream &strm) const
PIPSocketAddressAndPort m_packetDst
Definition: pcapfile.h:211
void SetFilterDstPort(WORD port)
Definition: pcapfile.h:105
int InternalDecodeRTP(RTP_DataFrame &encodedRTP, RTP_DataFrame &decodedRTP, DecodeContext &context)
bool InternalOpen(OpenMode mode, OpenOptions opt, PFileInfo::Permissions permissions)
DecodeContext()
Definition: pcapfile.h:71
WORD GetFilterDstPort() const
Definition: pcapfile.h:108
Definition: pcapfile.h:46
Comparison Compare(const PObject &obj) const
PIPSocketAddressAndPort m_filterDst
Definition: pcapfile.h:208
virtual bool Read(PChannel &channel, PINDEX packetSize=P_MAX_INDEX)
uint32_t RTP_SyncSourceId
Definition: rtp.h:46
PIPSocketAddressAndPort m_filterSrc
Definition: pcapfile.h:207
RTP_SyncSourceId m_filterSSRC
Definition: pcapfile.h:209
PDECLARE_MUTEX(m_writeMutex)
void SetFilterDstIP(const PIPSocket::Address &ip)
Definition: pcapfile.h:95
const PIPSocket::Address & GetFilterSrcIP() const
Definition: pcapfile.h:93