Simon, Thanks for your quick answer, just noticed that I had a bad thread name;) Well, I have the codec.SetFrameSize(w, h); in my OpenVideoChannel When adding capabilities I use AddAllCapabilities(0, P_MAX_INDEX, "*"); SetVideoFrameSize(H323Capability::cifMPI); Capabilities table shows as Set 0: 0: audio 1: H.261-CIF{sw} I receive an OpenVideoChannel for encoder, I open channel and attach video reader + colourConverter, just after that I receive a close video signal from a H245Negotation, here I join Call Stack
testApp.exe!mmDDSVideoOutputBridge::close2() Ligne 359 C++
testApp.exe!mmVideoInputDevice::~mmVideoInputDevice() Ligne 43 + 0x1b C++ testApp.exe!mmVideoInputDevice::`scalar deleting destructor'() + 0x2b C++ testApp.exe!PVideoChannel::CloseVideoReader() Ligne 203 + 0x24 C++ testApp.exe!PVideoChannel::Close() Ligne 145 C++ testApp.exe!H323Codec::CloseRawDataChannel() Ligne 488 + 0x11 C++ testApp.exe!H323VideoCodec::Close() Ligne 747 C++ testApp.exe!H323Channel::CleanUpOnTermination() Ligne 716 C++ testApp.exe!H323_RTPChannel::CleanUpOnTermination() Ligne 1160 C++ testApp.exe!H245NegLogicalChannel::Release() Ligne 1219 C++ testApp.exe!H245NegLogicalChannel::HandleCloseAck(const H245_CloseLogicalChannelAck & __formal={...}) Ligne 1086 C++ testApp.exe!H245NegLogicalChannels::HandleCloseAck(const H245_CloseLogicalChannelAck & pdu={...}) Ligne 1372 + 0xf C++ testApp.exe!H323Connection::OnH245Response(const H323ControlPDU & pdu={...}) Ligne 3293 + 0x22 C++ testApp.exe!H323Connection::HandleControlPDU(const H323ControlPDU & pdu={...}) Ligne 3189 + 0x12 C++ testApp.exe!H323Connection::HandleControlData(PPER_Stream & strm={...}) Ligne 3170 + 0x18 C++ testApp.exe!H323Connection::HandleReceivedControlPDU(bool readStatus=true, PPER_Stream & strm={...}) Ligne 3103 + 0x12 C++ testApp.exe!H323Connection::HandleControlChannel() Ligne 3085 + 0x13 C++ testApp.exe!H245TransportThread::Main() Ligne 700 C++ If I remove the "SetVideoFrameSize(H323Capability::cifMPI);", I get the following capabilities set 1: H.261-CIF{sw} H.261-QCIF{sw} H.261{sw} with exactly same strange behaviour, QCIF is not sending while CIF is being received, by the way qcif endpoint says Local Video Codec - H.261-CIF{sw} Local Resolution - 176x144 Remote Video Codec - H.261-CIF{sw} Remote Resolution - 352x288 I tried a "ReorderCapabilities(PStringArray("QCIF"));" after my addcapabilities, I ended up with both endpoints using QCIF and ignoring my SetFrameSize anyway!! Is there a glitch using H323Plus video plugins? my code works perfectly on openh323 stack. "SetVideoFrameSize(H323Capability::cifMPI);" is supposed to define a maximum video resolution?! as you said in API doc "... to set the maximum framesize allowed to the specified value " Is that usual to have H.261-CIF with a QCIF resolution? On which order codec plugins can be added to avoid such problems of negotiation? Regards From: s.horne@packetizer.com To: unazona@hotmail.com; h323plus@lists.packetizer.com Subject: RE: [h323plus] Valid sessionID in OpenLogicalChannel command Date: Fri, 15 Jan 2010 08:12:54 +1000 Carlos In your derived H323EndPoint::OpenVideoChannel(() (isEncoding) codec.SetFrameSize(w,h); Simon From: h323plus-bounces@lists.packetizer.com [mailto:h323plus-bounces@lists.packetizer.com] On Behalf Of Carlos Haj Sent: Friday, 15 January 2010 12:59 AM To: h323plus@lists.packetizer.com Subject: Re: [h323plus] Valid sessionID in OpenLogicalChannel command Hello Guys, I would like to have different frame sizes for two endpoints, first I tried to play around with H323Endpoint::SetVideoFrameSize, but it seems that part changes the maximum allowed size, which means that if I switch the videoFrameSize to qCIF, I wouldn't be able to receive CIF from the other endpoint. my test only received QCIF. I tried also to modify the OpalMediaFormat by using a GetWritableMediaFormat for a capability, that ended with unusual CIF format while having a QCIF resolution. On the other hand, I looked Opal examples where they use an OpalManager, but unfortuntly that seems incompatible with h323plus, while old openh323 tutorials and exampls don't have any video plugins support. How I can manage to receive and send different resolutions (frame sizes) using H323plus? I appreciate a lot your help Carlos _________________________________________________________________ Discutez en direct avec vos amis sur Messenger ! http://www.windowslive.fr/messenger