Hi
I faced same problem few months back. After looking into plugins I noted down few missing things. I am listing these It may help you.
my operating system is Windows, and I have used VS2008. I may not be 100% correct :)
1) file H261vic.xx
step1) When I debugged this file I find that waitFactor is uninitialsesd. Value can be get in function
line 616: static int encoder_set_options(const PluginCodec_Definition *,
This value is available in options[i] parameter
if (STRCMPI(options[i], "Max Bit Rate") == 0) // Use this line
context->waitFactor = atoi(options[i + 1]);
step2)
You may have to add your logic in function
line 552: unsigned H261EncoderContext::SetEncodedPacket(RTPFrame & dstRTP, bool isLast, unsigned char payloadCode, unsigned long
// these line were not working for me
565 if (isLast) {
566 if (packetDelay) adaptiveDelay(frameLength);
567 frameLength = 0;
2) In H323plus you need to overload function OnSetInitialBandwidth(H323VideoCodec * codec)
for setting bandwidth and bitratemodes
Reply if you need more help
Regards
alam
On Apr 21, 2009 9:21pm, Zack Tidwell <ztidwell@caregivertech.com> wrote:
> Hello,
>
>
>
> I have video call application using h323plus v 1.20.1 and PTLIB v 2.0.1. I am using the Vic H.261 codec V 1.20.0. I am trying to set the codec video mode to either AdaptivePacketDelay or DynamicVideoQuality in the OpenVideoChannel callback when isEncoding is true. However, after I set it, codec.GetVideoMode always returns 0. Furthermore, as far as I can tell, I am unable to set any other codec options, such as max bitrate, TxQualityLevel, or TargetFrameTimeMS.
>
>
>
> This is the same place I was calling SetVideoMode back when the application used OpenH323. Furthermore, it is the same place these functions are called in the myphone2 application.
>
>
>
> I have tried using the ffmpeg h.263 codec to the same effect. I have also tried using the latest version from CVS, which didn't help.
>
>
>
> Can someone give me a hint as to why this is not working?
>
>
>
> -Zack
>