I don’t know if this is the only way or the best way to do it but you can override the method OnReceivedPDU in your child class of H323_ExternalRTPChannel.
Would be something like this for video OLC:
PBoolean MyExternalRTPChannel::OnReceivedPDU(const H245_DataType & dataType, const H245_H2250LogicalChannelParameters & param, unsigned & errorCode)
{
if (!H323_ExternalRTPChannel::OnReceivedPDU(param, errorCode))
return FALSE;
if (mediaType == H323Capability::e_Video)
{
const H245_VideoCapability & videoData = (const H245_VideoCapability &) dataType;
if (videoData.GetTag() == H245_VideoCapability::e_genericVideoCapability)
{
const H245_GenericCapability & genericVideoCapability = (const H245_GenericCapability &) videoData;
if (genericVideoCapability.HasOptionalField(H245_GenericCapability::e_maxBitRate))
{
maxBitrate = genericVideoCapability.m_maxBitRate.GetValue();
}
}
}
return TRUE;
}
It is kind complex because you have to go deep in the message structure until you find the field you want. Again, I don’t know of a simpler way. I hope it helps.
Regards,
Diego Carvalho Domingos
From: h323plus-bounces@lists.packetizer.com [mailto:h323plus-bounces@lists.packetizer.com]
On Behalf Of Ankur Deep Jaiswal
Sent: Monday, August 25, 2014 7:26 AM
To: h323plus@lists.packetizer.com
Subject: [h323plus] maxBitrate in External RTP
Hi,
I have a doubt,
How do you get Max-Bitrate supported by a Capability in H323_ExternalRTPChannel.
Help appreciated.
--
Ankur Deep Jaiswal