[h323plus] Issue with H.263 codecs set

Konstantin kay27 at bk.ru
Fri Jan 22 19:34:08 EST 2016

Hi Jan,
I confirm, we have trouble with differentiating these codecs in openmcu, Andrey (xak) described it when tried to get worked new version of h323plus, his Russian notice: http://openmcu.ru/forum/index.php/topic,714.msg13067.html#msg13067
Fix he talk about: https://github.com/muggot/openmcu/commit/8002f803c128c1cbed1b3fd7878aa50f37e11aac
Konstantin Yeliseyev, kay27 at bk.ru
Sent from Mail.Ru app for Android Friday, 22 January 2016, 10:52PM +04:00 from Jan Willamowius < jan at willamowius.de> :

>Hi Iurii,
>this is not really my field of expetise, but are you trying to use
>multiple H.263 plugins at the same time ?
>I don't think that was ever intended. Pick the one that works best
>for you and only use that one.
>Jan Willamowius, Founder of the GNU Gatekeeper Project
>EMail  :  jan at willamowius.de
>Website:  http://www.gnugk.org
>Support:  http://www.willamowius.com/gnugk-support.html
>Relaxed Communications GmbH
>Frahmredder 91
>22393 Hamburg
>Geschäftsführer: Jan Willamowius
>HRB 125261 (Amtsgericht Hamburg)
>USt-IdNr: DE286003584
>Iurii Gordiienko wrote:
>> Hi all, 
>> I need an advice - how to work with set of H.263 codecs. Basically, I have all H.263 codec types capability implemented: H.263, H.263-1998 and H.263-2000. All these capabilities uses same H245_VideoCapability::e_h263VideoCapability value for GetSubType function. In result my localCapabilities variable has all these 3 capabilities as well. 
>> When I receiving remote capabilities the remoteCapabilities variable is loading by H323Capabilities::H323Capabilities(const H323Connection & connection, const H245_TerminalCapabilitySet & pdu) constructor and the function uses code like this (simplified): 
>> H323Capability * capability = localCapabilities.FindCapability(pdu.m_capabilityTable[i].m_capability, capabilityNo, pdu); if (capability != NULL)  {           H323Capability * copy = (H323Capability *)capability->Clone();           copy->SetCapabilityNumber(capabilityNo);           if (copy->OnReceivedPDU(pdu.m_capabilityTable[i].m_capability))             table.Append(copy);           else             delete copy; } 
>> The main issue -  localCapabilities.FindCapability function returns any first H.263 Capability from it's table, no matter which particular H.263 remote Capability was used, it only checks MainType and SubType... In result if remote side send me, for example, H.263-1998, but I have H.263 and H.263-1998 - I will have H.263 in result...  
>> Now I'm trying to override Connection::OnReceivedCapabilitySet(const H245_TerminalCapabilitySet & pdu) function, extract H.263 codecs manually, store all these capabilities and update remoteCapabilities after, but may be exists a proper solution for this case? 
>> Thanks -- Iurii Gordiienko 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.packetizer.com/pipermail/h323plus/attachments/20160123/f15837b4/attachment-0002.html>

More information about the h323plus mailing list