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