Re: [h323plus] MyPhone 0.4 Released
Hi,
Simon, I've traced down using the VS 2003 debugger, and the function which is being called is H323VideoCodec::SetmaxBitRate(), because the function OpenVideoChannel() receives a reference to H323VideoCodec, not to H323PluginVideoCodec. You can see this easily setting a breakpoint in this line codec.SetMaxBitRate(videoBitRate * 1024);, stepping into it and seeing the call stack. Here it is:
MyPhone.exe!H323VideoCodec::SetMaxBitRate(unsigned int bitRate=52428800) Line 737 C++
MyPhone.exe!CMyPhoneEndPoint::OpenVideoChannel(H323Connection & connection={...}, int isEncoding=1, H323VideoCodec & codec={...}) Line 522 + 0x1d C++ MyPhone.exe!H323Connection::OpenVideoChannel(int isEncoding=1, H323VideoCodec & codec={...}) Line 4361 C++ MyPhone.exe!H323VideoCodec::Open(H323Connection & connection={...}) Line 587 C++ MyPhone.exe!H323_RTPChannel::Open() Line 1171 + 0x18 C++ MyPhone.exe!H245NegLogicalChannel::OpenWhileLocked(const H323Capability & capability={...}, unsigned int sessionID=2, unsigned int replacementFor=0, unsigned int roleLabel=0) Line 843 + 0x19 C++ MyPhone.exe!H245NegLogicalChannel::Open(const H323Capability & capability={...}, unsigned int sessionID=2, unsigned int replacementFor=0, unsigned int roleLabel=0) Line 754 + 0x1b C++ MyPhone.exe!H245NegLogicalChannels::Open(const H323Capability & capability={...}, unsigned int sessionID=2, H323ChannelNumber & channelnumber={...}, unsigned int replacementFor=0, unsigned int roleLabel=0) Line 1285 C++ MyPhone.exe!H245NegLogicalChannels::Open(const H323Capability & capability={...}, unsigned int sessionID=2, unsigned int replacementFor=0) Line 1262 + 0x1d C++ MyPhone.exe!H323Connection::OpenLogicalChannel(const H323Capability & capability={...}, unsigned int sessionID=2, H323Channel::Directions dir=IsTransmitter) Line 4026 + 0x21 C++ MyPhone.exe!H323Connection::SelectDefaultLogicalChannel(unsigned int sessionID=2) Line 3978 + 0x18 C++ MyPhone.exe!H323Connection::OnSelectLogicalChannels() Line 3923 C++ MyPhone.exe!H323Connection::InternalEstablishedConnectionCheck() Line 3887 C++ MyPhone.exe!H323Connection::HandleControlData(PPER_Stream & strm={...}) Line 3040 C++ MyPhone.exe!H323Connection::HandleReceivedControlPDU(int readStatus=1, PPER_Stream & strm={...}) Line 2968 + 0x12 C++ MyPhone.exe!H323Connection::HandleControlChannel() Line 2950 + 0x13 C++ MyPhone.exe!H245TransportThread::Main() Line 694 C++ MyPhone.exe!PThread::MainFunction(void * threadPtr=0x0160fa48) Line 1268 C++ msvcr71d.dll!_threadstartex(void * ptd=0x0160ff48) Line 241 + 0xd C kernel32.dll!7c80b683()
Best regards,
----- Mensaje original ---- De: Simon Horne s.horne@packetizer.com Para: JF NP jfnp090274@yahoo.es CC: H323plus h323plus@lists.packetizer.com Enviado: martes, 12 de febrero, 2008 2:09:55 Asunto: RE: [h323plus] MyPhone 0.4 Released
H323PluginVideoCodec::SetMaxBitRate() sends a messages "Max Bit Rate" to the plugin codec to set the maximum bitrate. This function also overrides H323VideoCodec::SetMaxBitRate() since H323PluginVideoCodec is a descendent of H323VideoCodec so the problem most likely is in the plugin codec not setting the max bit rate. I suggest you look at the H.263 plugin codec perhaps there is something missing.
Simon
-----Original Message-----
From: h323plus-bounces@lists.packetizer.com
[mailto:h323plus-bounces@lists.packetizer.com]On Behalf Of JF NP
Sent: Tuesday, February 12, 2008 2:50 AM
To: H323plus
Subject: Re: [h323plus] MyPhone 0.4 Released
Hi,
I've downloaded the latest version of the plugin
codecs from the CVS, and I've seen that the frames are
being grabbed at 10 fps.
Additional testing has showed me that the problem
seems to be with the following line of code, in
CMyPhoneEndPoint::OpenVideoChannel:
codec.SetMaxBitRate(videoBitRate * 1024);
I think that the problem is that codec is an instance
of H323VideoCodec, and the implementation of
H323VideoCodec::SetMaxBitRate does nothing but an
assignment. I think that what it should be called is
H323PluginVideoCodec::SetMaxBitRate, which is in fact
a descendant of H323VideoCodec. I've tried to do a
cast from H323VideoCodec to H323PluginVideoCodec, but
I get compilation erros due to the undefined class
H323PluginVideoCodec, because in fact it is defined in
a *.cxx file, not a *.h.
Am I correct? Or am I missing something?
Best regards,
--- Simon Horne s.horne@packetizer.com escribió:
This is strange. The bitrate is sent to the plugin
codec. What codec are you using? what version of
h323plus and how old is your video plugin? I updated
the H.263 plugin about a month or so ago, prior to
that it just ignored these settings so that might be
the problem.
From the tracefile make sure the video frames are
being grabbed at the right fps (for 10 fps every
100ms)
Simon
-----Original Message-----
From: h323plus-bounces@lists.packetizer.com
[mailto:h323plus-bounces@lists.packetizer.com]On
Behalf Of JF NP
Sent: Friday, February 08, 2008 8:57 PM
To: H323plus
Subject: Re: [h323plus] MyPhone 0.4 Released
Hi, Simon:
I've downloaded the latest CVS code with the
support for bitrate, fps and Adaptive packet delay.
But it seems that MyPhone2 is not using the
settings. Let me explain this:
1. I've configured the following vlues for video:
fps = 10, Maxbitrate =50 kbit/s. and quality = 15.
Size = QCIF.
2. If I capture the video packets with Wireskark,
I can see that the bitrate is about 300kbit/s.
Where is the problem? Am I missing any additional
setup?
Best regards,
----- Mensaje original ----
De: Simon Horne s.horne@packetizer.com
Para: JF NP jfnp090274@yahoo.es; H323plus
Enviado: viernes, 8 de febrero, 2008 3:53:05
Asunto: RE: [h323plus] MyPhone 0.4 Released

looks like you are right.
I have added support for bitrate, fps and also
adaptive packet delay to the CVS.
Simon
-----Original Message-----
From: h323plus-bounces@lists.packetizer.com
[mailto:h323plus-bounces@lists.packetizer.com]On
Behalf Of JF NP
Sent: Thursday, February 07, 2008 8:44 PM
To: H323plus
Subject: Re: [h323plus] MyPhone 0.4 Released
Hi,
I'v been looking at MyPhone2 0.4 source code,
and I was wondering how is the videobitrate, fps,
etc... managed, because I've seen that all of this
parameters are read from the configuration, but they
are never used.
Best regards,
----- Mensaje original ----
De: Simon Horne s.horne@packetizer.com
Para: H323plus h323plus@lists.packetizer.com
Enviado: viernes, 1 de febrero, 2008 21:57:15
Asunto: [h323plus] MyPhone 0.4 Released
Guys
I have uploaded MyPhone 0.4 installer to the
h323plus website to garnish
some feedback on the upcoming 1.20 release on
h323plus.
Download here
http://www.h323plus.org/source/download/MyPhoneSetup04.exe
(2.12Mb)
Important Features
Native NAT traversal with GnuGk : This uses the
new GnuGk NAT module now in
H323plus. You can send and receive calls behind
a NAT when registered to
GnuGk on the public internet. The only
requirement is that you enable
SupportNatedEndpoints in GnuGk. Note this is the
GnuGk NAT Method
http://www.gnugk.org/nat-traversal.html. It is
not the standard H.460.18/19.
Built off the latest h323plus CVS. (hopefully
the baseline for v1.20)
Notes:
To run in debug mode start myphone with
commandline switches -ttttt (number
of t indicate tracelevel)
After Install adjust the audio and video codecs
to your preferred order.
G.711 & H.261 are the default.
The installer contains the full myphone2 source
code. The exe was built with
vs2003. If you wish to build it with a later
version of visual studio,
although not tested, you will need the $ version
as the express version does
not seem to support MFC.
Hopefully next week if there are not too many
problems we will do the
snapshot and release v1.20.
Simon
------------------------------------------------------------------
----------
¿Con Mascota por primera vez? - Sé un mejor
Amigo
Entra en Yahoo! Respuestas.
------------------------------------------------------------------
------------
¿Con Mascota por primera vez? - Sé un mejor
Amigo
Entra en Yahoo! Respuestas.
______________________________________________
¿Con Mascota por primera vez? Sé un mejor Amigo. Entra en Yahoo!
Respuestas http://es.answers.yahoo.com/info/welcome
______________________________________________ ¿Con Mascota por primera vez? Sé un mejor Amigo. Entra en Yahoo! Respuestas http://es.answers.yahoo.com/info/welcome
Ya'oops when a decendent is not a descendent. :( I have checked in a fix to h323plus CVS so the correct H323PluginVideoCodec::SetMaxBitRate() is called.
Thanks again Simon -----Original Message----- From: h323plus-bounces@lists.packetizer.com [mailto:h323plus-bounces@lists.packetizer.com]On Behalf Of JF NP Sent: Tuesday, February 12, 2008 5:48 PM To: H323plus Subject: Re: [h323plus] MyPhone 0.4 Released
Hi,
Simon, I've traced down using the VS 2003 debugger, and the function which is being called is H323VideoCodec::SetmaxBitRate(), because the function OpenVideoChannel() receives a reference to H323VideoCodec, not to H323PluginVideoCodec. You can see this easily setting a breakpoint in this line codec.SetMaxBitRate(videoBitRate * 1024);, stepping into it and seeing the call stack. Here it is:
MyPhone.exe!H323VideoCodec::SetMaxBitRate(unsigned int bitRate=52428800) Line 737 C++
MyPhone.exe!CMyPhoneEndPoint::OpenVideoChannel(H323Connection & connection={...}, int isEncoding=1, H323VideoCodec & codec={...}) Line 522 + 0x1d C++ MyPhone.exe!H323Connection::OpenVideoChannel(int isEncoding=1, H323VideoCodec & codec={...}) Line 4361 C++ MyPhone.exe!H323VideoCodec::Open(H323Connection & connection={...}) Line 587 C++ MyPhone.exe!H323_RTPChannel::Open() Line 1171 + 0x18 C++ MyPhone.exe!H245NegLogicalChannel::OpenWhileLocked(const H323Capability & capability={...}, unsigned int sessionID=2, unsigned int replacementFor=0, unsigned int roleLabel=0) Line 843 + 0x19 C++ MyPhone.exe!H245NegLogicalChannel::Open(const H323Capability & capability={...}, unsigned int sessionID=2, unsigned int replacementFor=0, unsigned int roleLabel=0) Line 754 + 0x1b C++ MyPhone.exe!H245NegLogicalChannels::Open(const H323Capability & capability={...}, unsigned int sessionID=2, H323ChannelNumber & channelnumber={...}, unsigned int replacementFor=0, unsigned int roleLabel=0) Line 1285 C++ MyPhone.exe!H245NegLogicalChannels::Open(const H323Capability & capability={...}, unsigned int sessionID=2, unsigned int replacementFor=0) Line 1262 + 0x1d C++ MyPhone.exe!H323Connection::OpenLogicalChannel(const H323Capability & capability={...}, unsigned int sessionID=2, H323Channel::Directions dir=IsTransmitter) Line 4026 + 0x21 C++ MyPhone.exe!H323Connection::SelectDefaultLogicalChannel(unsigned int sessionID=2) Line 3978 + 0x18 C++ MyPhone.exe!H323Connection::OnSelectLogicalChannels() Line 3923 C++ MyPhone.exe!H323Connection::InternalEstablishedConnectionCheck() Line 3887 C++ MyPhone.exe!H323Connection::HandleControlData(PPER_Stream & strm={...}) Line 3040 C++ MyPhone.exe!H323Connection::HandleReceivedControlPDU(int readStatus=1, PPER_Stream & strm={...}) Line 2968 + 0x12 C++ MyPhone.exe!H323Connection::HandleControlChannel() Line 2950 + 0x13 C++ MyPhone.exe!H245TransportThread::Main() Line 694 C++ MyPhone.exe!PThread::MainFunction(void * threadPtr=0x0160fa48) Line 1268 C++ msvcr71d.dll!_threadstartex(void * ptd=0x0160ff48) Line 241 + 0xd C kernel32.dll!7c80b683()
Best regards,
----- Mensaje original ---- De: Simon Horne s.horne@packetizer.com Para: JF NP jfnp090274@yahoo.es CC: H323plus h323plus@lists.packetizer.com Enviado: martes, 12 de febrero, 2008 2:09:55 Asunto: RE: [h323plus] MyPhone 0.4 Released
H323PluginVideoCodec::SetMaxBitRate() sends a messages "Max Bit Rate" to the plugin codec to set the maximum bitrate. This function also overrides H323VideoCodec::SetMaxBitRate() since H323PluginVideoCodec is a descendent of H323VideoCodec so the problem most likely is in the plugin codec not setting the max bit rate. I suggest you look at the H.263 plugin codec perhaps there is something missing.
Simon
-----Original Message----- From: h323plus-bounces@lists.packetizer.com [mailto:h323plus-bounces@lists.packetizer.com]On Behalf Of JF NP Sent: Tuesday, February 12, 2008 2:50 AM To: H323plus Subject: Re: [h323plus] MyPhone 0.4 Released
Hi,
I've downloaded the latest version of the plugin codecs from the CVS, and I've seen that the frames are being grabbed at 10 fps. Additional testing has showed me that the problem seems to be with the following line of code, in CMyPhoneEndPoint::OpenVideoChannel: codec.SetMaxBitRate(videoBitRate * 1024);
I think that the problem is that codec is an instance of H323VideoCodec, and the implementation of H323VideoCodec::SetMaxBitRate does nothing but an assignment. I think that what it should be called is H323PluginVideoCodec::SetMaxBitRate, which is in fact a descendant of H323VideoCodec. I've tried to do a cast from H323VideoCodec to H323PluginVideoCodec, but I get compilation erros due to the undefined class H323PluginVideoCodec, because in fact it is defined in a *.cxx file, not a *.h.
Am I correct? Or am I missing something?
Best regards,
--- Simon Horne s.horne@packetizer.com escribió:
This is strange. The bitrate is sent to the plugin codec. What codec are you using? what version of h323plus and how old is your video plugin? I updated the H.263 plugin about a month or so ago, prior to that it just ignored these settings so that might be the problem.
From the tracefile make sure the video frames are being grabbed at the right fps (for 10 fps every 100ms)
Simon -----Original Message----- From: h323plus-bounces@lists.packetizer.com [mailto:h323plus-bounces@lists.packetizer.com]On Behalf Of JF NP Sent: Friday, February 08, 2008 8:57 PM To: H323plus Subject: Re: [h323plus] MyPhone 0.4 Released
Hi, Simon:
I've downloaded the latest CVS code with the support for bitrate, fps and Adaptive packet delay. But it seems that MyPhone2 is not using the settings. Let me explain this:
- I've configured the following vlues for video:
fps = 10, Maxbitrate =50 kbit/s. and quality = 15. Size = QCIF. 2. If I capture the video packets with Wireskark, I can see that the bitrate is about 300kbit/s.
Where is the problem? Am I missing any additional setup?
Best regards,
----- Mensaje original ---- De: Simon Horne s.horne@packetizer.com Para: JF NP jfnp090274@yahoo.es; H323plus h323plus@lists.packetizer.com Enviado: viernes, 8 de febrero, 2008 3:53:05 Asunto: RE: [h323plus] MyPhone 0.4 Released
 looks like you are right. I have added support for bitrate, fps and also adaptive packet delay to the CVS.
Simon -----Original Message----- From: h323plus-bounces@lists.packetizer.com [mailto:h323plus-bounces@lists.packetizer.com]On Behalf Of JF NP Sent: Thursday, February 07, 2008 8:44 PM To: H323plus Subject: Re: [h323plus] MyPhone 0.4 Released
Hi,
I'v been looking at MyPhone2 0.4 source code, and I was wondering how is the videobitrate, fps, etc... managed, because I've seen that all of this parameters are read from the configuration, but they are never used.
Best regards,
----- Mensaje original ---- De: Simon Horne s.horne@packetizer.com Para: H323plus h323plus@lists.packetizer.com Enviado: viernes, 1 de febrero, 2008 21:57:15 Asunto: [h323plus] MyPhone 0.4 Released
Guys
I have uploaded MyPhone 0.4 installer to the h323plus website to garnish some feedback on the upcoming 1.20 release on h323plus. Download here
http://www.h323plus.org/source/download/MyPhoneSetup04.exe
(2.12Mb)
Important Features Native NAT traversal with GnuGk : This uses the new GnuGk NAT module now in H323plus. You can send and receive calls behind a NAT when registered to GnuGk on the public internet. The only requirement is that you enable SupportNatedEndpoints in GnuGk. Note this is the GnuGk NAT Method http://www.gnugk.org/nat-traversal.html. It is not the standard H.460.18/19.
Built off the latest h323plus CVS. (hopefully the baseline for v1.20)
Notes: To run in debug mode start myphone with commandline switches -ttttt (number of t indicate tracelevel) After Install adjust the audio and video codecs to your preferred order. G.711 & H.261 are the default.
The installer contains the full myphone2 source code. The exe was built with vs2003. If you wish to build it with a later version of visual studio, although not tested, you will need the $ version as the express version does not seem to support MFC.
Hopefully next week if there are not too many problems we will do the snapshot and release v1.20.
Simon
¿Con Mascota por primera vez? - Sé un mejor Amigo Entra en Yahoo! Respuestas.
¿Con Mascota por primera vez? - Sé un mejor Amigo Entra en Yahoo! Respuestas.
¿Con Mascota por primera vez? Sé un mejor Amigo. Entra en Yahoo! Respuestas http://es.answers.yahoo.com/info/welcome
------------------------------------------------------------------------------
¿Con Mascota por primera vez? - Sé un mejor Amigo Entra en Yahoo! Respuestas.
participants (2)
-
JF NP
-
Simon Horne