OPAL
Version 3.10.10
iax2medstrm.h
Go to the documentation of this file.
1
/*
2
*
3
* Inter Asterisk Exchange 2
4
*
5
* Open Phone Abstraction Library (OPAL)
6
*
7
* Extension of the Opal Media stream, where the media from the IAX2 side is
8
* linked to the OPAL
9
*
10
* Copyright (c) 2005 Indranet Technologies Ltd.
11
*
12
* The contents of this file are subject to the Mozilla Public License
13
* Version 1.0 (the "License"); you may not use this file except in
14
* compliance with the License. You may obtain a copy of the License at
15
* http://www.mozilla.org/MPL/
16
*
17
* Software distributed under the License is distributed on an "AS IS"
18
* basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See
19
* the License for the specific language governing rights and limitations
20
* under the License.
21
*
22
* The Original Code is Open Phone Abstraction Library.
23
*
24
* The Initial Developer of the Original Code is Indranet Technologies Ltd.
25
*
26
* The author of this code is Derek J Smithies
27
*
28
* $Revision: 27149 $
29
* $Author: rjongbloed $
30
* $Date: 2012-03-07 18:32:36 -0600 (Wed, 07 Mar 2012) $
31
*/
32
33
#ifndef OPAL_IAX2_MEDIASTRM_H
34
#define OPAL_IAX2_MEDIASTRM_H
35
36
#ifdef P_USE_PRAGMA
37
#pragma interface
38
#endif
39
40
#include <
opal/buildopts.h
>
41
42
#if OPAL_IAX2
43
44
#include <
opal/mediafmt.h
>
45
#include <
iax2/iax2con.h
>
46
47
class
RTP_Session
;
48
class
OpalMediaPatch
;
49
class
OpalLine
;
50
51
55
class
OpalIAX2MediaStream
:
public
OpalMediaStream
56
{
57
PCLASSINFO(
OpalIAX2MediaStream
,
OpalMediaStream
);
63
OpalIAX2MediaStream
(
64
IAX2Connection
&con,
65
const
OpalMediaFormat
&
mediaFormat
,
66
unsigned
sessionID
,
67
PBoolean
isSource
68
);
71
~
OpalIAX2MediaStream
();
73
74
75
76
public
:
83
virtual
PBoolean
Open
();
84
90
virtual
PBoolean
Start
();
91
97
virtual
PBoolean
ReadPacket
(
98
RTP_DataFrame
& packet
99
);
100
104
virtual
PBoolean
WriteData
(
105
const
BYTE * data,
106
PINDEX length,
107
PINDEX & written
108
);
109
114
virtual
PBoolean
IsSynchronous
()
const
;
115
117
118
protected
:
119
virtual
void
InternalClose
() { }
120
122
IAX2Connection
&
connection
;
123
127
PBYTEArray
pendingData
;
128
};
129
130
131
#endif // OPAL_IAX2
132
133
#endif // OPAL_IAX2_MEDIASTRM_H
134
135
/* The comment below is magic for those who use emacs to edit this file.
136
* With the comment below, the tab key does auto indent to 2 spaces.
137
*
138
* Local Variables:
139
* mode:c
140
* c-basic-offset:2
141
* End:
142
*/
OpalIAX2MediaStream::Start
virtual PBoolean Start()
OpalIAX2MediaStream
Definition:
iax2medstrm.h:55
OpalIAX2MediaStream::ReadPacket
virtual PBoolean ReadPacket(RTP_DataFrame &packet)
RTP_Session
Definition:
rtp.h:502
OpalMediaStream::isSource
bool isSource
Definition:
mediastrm.h:421
buildopts.h
IAX2Connection
Definition:
iax2con.h:63
OpalIAX2MediaStream::InternalClose
virtual void InternalClose()
Definition:
iax2medstrm.h:119
OpalIAX2MediaStream::Open
virtual PBoolean Open()
iax2con.h
OpalMediaStream::sessionID
unsigned sessionID
Definition:
mediastrm.h:417
RTP_DataFrame
Definition:
rtp.h:71
OpalMediaPatch
Definition:
patch.h:60
OpalIAX2MediaStream::WriteData
virtual PBoolean WriteData(const BYTE *data, PINDEX length, PINDEX &written)
OpalMediaFormat
Definition:
mediafmt.h:724
OpalIAX2MediaStream::connection
IAX2Connection & connection
Definition:
iax2medstrm.h:122
mediafmt.h
OpalIAX2MediaStream::pendingData
PBYTEArray pendingData
Definition:
iax2medstrm.h:127
OpalMediaStream
Definition:
mediastrm.h:111
OpalMediaStream::mediaFormat
OpalMediaFormat mediaFormat
Definition:
mediastrm.h:419
OpalLine
Definition:
lid.h:906
OpalIAX2MediaStream::IsSynchronous
virtual PBoolean IsSynchronous() const
include
iax2
iax2medstrm.h
Generated on Fri Oct 13 2017 05:32:03 for OPAL by
1.8.13