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