diff options
author | jeremy <jeremy@f38db490-d61c-443f-a65b-d21fe96a405b> | 2003-11-19 22:46:35 +0000 |
---|---|---|
committer | jeremy <jeremy@f38db490-d61c-443f-a65b-d21fe96a405b> | 2003-11-19 22:46:35 +0000 |
commit | 7ec4f9883c997bafb95cd2f560f24ec20ae0f6a4 (patch) | |
tree | d4ad9a2237db93afeb2ada6e42b35d66eafaf33c /channels/h323/ast_h323.h | |
parent | 8db1793f0aacf20872cc09fe82e763923a6e8882 (diff) |
apply G.729 patches (with changes) from bug #421
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@1767 f38db490-d61c-443f-a65b-d21fe96a405b
Diffstat (limited to 'channels/h323/ast_h323.h')
-rwxr-xr-x | channels/h323/ast_h323.h | 94 |
1 files changed, 94 insertions, 0 deletions
diff --git a/channels/h323/ast_h323.h b/channels/h323/ast_h323.h index 081934e65..5c0c2b4a9 100755 --- a/channels/h323/ast_h323.h +++ b/channels/h323/ast_h323.h @@ -98,6 +98,100 @@ class H323_G7231Capability : public H323AudioCapability BOOL annexA; }; +/**This class describes the (fake) G729 codec capability. + */ +class AST_G729Capability : public H323AudioCapability +{ + PCLASSINFO(AST_G729Capability, H323AudioCapability); + + public: + /**@name Construction */ + //@{ + /**Create a new G.729 capability. + */ + AST_G729Capability(); + //@} + + /**@name Overrides from class PObject */ + //@{ + /**Create a copy of the object. + */ + virtual PObject * Clone() const; + //@} + + /**@name Operations */ + //@{ + /**Create the codec instance, allocating resources as required. + */ + virtual H323Codec * CreateCodec( + H323Codec::Direction direction /// Direction in which this instance runs + ) const; + //@} + + /**@name Identification functions */ + //@{ + /**Get the sub-type of the capability. This is a code dependent on the + main type of the capability. + + This returns one of the four possible combinations of mode and speed + using the enum values of the protocol ASN H245_AudioCapability class. + */ + virtual unsigned GetSubType() const; + + /**Get the name of the media data format this class represents. + */ + virtual PString GetFormatName() const; + //@} +}; + + +/**This class describes the VoiceAge G729A codec capability. + */ +class AST_G729ACapability : public H323AudioCapability +{ + PCLASSINFO(AST_G729ACapability, H323AudioCapability); + + public: + /**@name Construction */ + //@{ + /**Create a new G.729A capability. + */ + AST_G729ACapability(); + //@} + + /**@name Overrides from class PObject */ + //@{ + /**Create a copy of the object. + */ + virtual PObject * Clone() const; + //@} + + /**@name Operations */ + //@{ + /**Create the codec instance, allocating resources as required. + */ + virtual H323Codec * CreateCodec( + H323Codec::Direction direction /// Direction in which this instance runs + ) const; + //@} + + /**@name Identification functions */ + //@{ + /**Get the sub-type of the capability. This is a code dependent on the + main type of the capability. + + This returns one of the four possible combinations of mode and speed + using the enum values of the protocol ASN H245_AudioCapability class. + */ + virtual unsigned GetSubType() const; + + /**Get the name of the media data format this class represents. + */ + virtual PString GetFormatName() const; + //@} +}; + + class MyH323EndPoint : public H323EndPoint { PCLASSINFO(MyH323EndPoint, H323EndPoint); |