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
Regards,
Konstantin Yeliseyev, kay27@bk.ru
http://openmcu.ru/
--
Sent from Mail.Ru app for Android
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.
Regards,
Jan
--
Jan Willamowius, Founder of the GNU Gatekeeper Project
EMail : jan@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