Re: [h323plus] MyPhone 0.4 Released
Simon,
Unfortunately, even when the plugin codec code is called, MyPhone2 stills sending more video bandwidth than established. If I don´t move the camera, it sends about 50 kbps (the configured video bandwidth), but if I move the camera, to force sending I-Frames, the bandwidth increases until reaches more than twice the configured bandwidth. The same test works fine with the previous version of openh323 and MyPhone. What's happening? If you need them, I can send you Ethereal traces.
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 9:02:48 Asunto: RE: [h323plus] MyPhone 0.4 Released
DIV { MARGIN:0px;}
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
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
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.
______________________________________________ ¿Con Mascota por primera vez? Sé un mejor Amigo. Entra en Yahoo! Respuestas http://es.answers.yahoo.com/info/welcome
If memory serves me right the openH323 version never handled I-Frames. I will relook at the plugin codec to see what we could of missed.
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 7:08 PM To: H323plus Subject: Re: [h323plus] MyPhone 0.4 Released
Simon,
Unfortunately, even when the plugin codec code is called, MyPhone2 stills sending more video bandwidth than established. If I don´t move the camera, it sends about 50 kbps (the configured video bandwidth), but if I move the camera, to force sending I-Frames, the bandwidth increases until reaches more than twice the configured bandwidth. The same test works fine with the previous version of openh323 and MyPhone. What's happening? If you need them, I can send you Ethereal traces.
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 9:02:48 Asunto: RE: [h323plus] MyPhone 0.4 Released
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: > > 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 > > 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.
------------------------------------------------------------------------------
¿Con Mascota por primera vez? - Sé un mejor Amigo Entra en Yahoo! Respuestas.
participants (2)
-
JF NP
-
Simon Horne