[h323plus] Changing video codec transmit bit rate

Simon Horne s.horne at packetizer.com
Thu Nov 24 14:29:40 EST 2011


Josh

Unfortunately the OpenVideoChannel is called after the H.245 TCS stage so
you cannot use it to negotiate a bandwidth limit for a call.

To set the Initial Bandwidth limit in the TCS there is a callback which is
called when building.
H323EndPoint::OnSetInitialBandwidth(H323VideoCodec * codec);

So you could do something like this in your code

void MyH323EndPoint::OnSetInitialBandwidth(H323VideoCodec * codec) 
{
	unsigned bitrate = <your rate in kbps> * 1000;
	if ((bitrate != 0) && (codec->GetMediaFormat().GetBandwidth() >
bitrate)) {
		PTRACE(4,"My\tAdjusting maximum video bitrate to " <<
bitrate);
		codec->SetMaxBitRate(bitrate);
	} 
}

During a call the bitrate may change via FlowControl requests but will not
exceed the value you set in this callback.

Simon


-----Original Message-----
From: h323plus-bounces at lists.packetizer.com
[mailto:h323plus-bounces at lists.packetizer.com] On Behalf Of J C Mercier
Sent: 25 November 2011 05:08
To: h323plus at lists.packetizer.com
Subject: [h323plus] Changing video codec transmit bit rate

Hi all,

How would one go about adjusting the video codec max transmission bit rate?

I understand thus can be done in OpenVideoChannel by calling
codec.SetMaxBitRate but I I get  no flow control supported when I attempted
to do so.

I am using v 1.23 for H323plus downloaded from h323plus.org and pitlib v
2.8.5. I noticed that flow control is not supported in ptlib less than 2.9
but would there be another way of changing the bit rate?

Thanks!

Josh C.




More information about the h323plus mailing list