<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns="http://www.w3.org/TR/REC-html40" xmlns:v =
"urn:schemas-microsoft-com:vml" xmlns:o =
"urn:schemas-microsoft-com:office:office" xmlns:w =
"urn:schemas-microsoft-com:office:word" xmlns:dt =
"uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:m =
"http://schemas.microsoft.com/office/2004/12/omml"><HEAD>
<META http-equiv=Content-Type content="text/html; charset=iso-8859-1">
<META content="MSHTML 6.00.6000.21264" name=GENERATOR><!--[if !mso]>
<STYLE>v\:* {
        BEHAVIOR: url(#default#VML)
}
o\:* {
        BEHAVIOR: url(#default#VML)
}
w\:* {
        BEHAVIOR: url(#default#VML)
}
.shape {
        BEHAVIOR: url(#default#VML)
}
</STYLE>
<![endif]-->
<STYLE>@font-face {
        font-family: Calibri;
}
@font-face {
        font-family: Tahoma;
}
@page WordSection1 {size: 8.5in 11.0in; margin: 1.0in 1.25in 1.0in 1.25in; }
P.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman","serif"
}
LI.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman","serif"
}
DIV.MsoNormal {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman","serif"
}
H2 {
        FONT-SIZE: 13pt; MARGIN: 10pt 0in 0pt; COLOR: #4f81bd; FONT-FAMILY: "Cambria","serif"; mso-style-priority: 9; mso-style-link: "Heading 2 Char"
}
A:link {
        COLOR: blue; TEXT-DECORATION: underline; mso-style-priority: 99
}
SPAN.MsoHyperlink {
        COLOR: blue; TEXT-DECORATION: underline; mso-style-priority: 99
}
A:visited {
        COLOR: purple; TEXT-DECORATION: underline; mso-style-priority: 99
}
SPAN.MsoHyperlinkFollowed {
        COLOR: purple; TEXT-DECORATION: underline; mso-style-priority: 99
}
P.MsoAcetate {
        FONT-SIZE: 8pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Tahoma","sans-serif"; mso-style-priority: 99; mso-style-link: "Balloon Text Char"
}
LI.MsoAcetate {
        FONT-SIZE: 8pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Tahoma","sans-serif"; mso-style-priority: 99; mso-style-link: "Balloon Text Char"
}
DIV.MsoAcetate {
        FONT-SIZE: 8pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Tahoma","sans-serif"; mso-style-priority: 99; mso-style-link: "Balloon Text Char"
}
P.MsoNoSpacing {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman","serif"; mso-style-priority: 1
}
LI.MsoNoSpacing {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman","serif"; mso-style-priority: 1
}
DIV.MsoNoSpacing {
        FONT-SIZE: 12pt; MARGIN: 0in 0in 0pt; FONT-FAMILY: "Times New Roman","serif"; mso-style-priority: 1
}
SPAN.BalloonTextChar {
        FONT-FAMILY: "Tahoma","sans-serif"; mso-style-priority: 99; mso-style-link: "Balloon Text"; mso-style-name: "Balloon Text Char"
}
SPAN.EmailStyle19 {
        COLOR: #1f497d; FONT-FAMILY: "Calibri","sans-serif"; mso-style-type: personal
}
SPAN.EmailStyle20 {
        COLOR: #1f497d; FONT-FAMILY: "Calibri","sans-serif"; mso-style-type: personal-reply
}
SPAN.Heading2Char {
        FONT-WEIGHT: bold; COLOR: #4f81bd; FONT-FAMILY: "Cambria","serif"; mso-style-priority: 9; mso-style-link: "Heading 2"; mso-style-name: "Heading 2 Char"
}
.MsoChpDefault {
        FONT-SIZE: 10pt; mso-style-type: export-only
}
DIV.WordSection1 {
        page: WordSection1
}
</STYLE>
<!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></HEAD>
<BODY lang=EN-US vLink=purple link=blue>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN
class=638343116-12072010>Thank you,</SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN
class=638343116-12072010>I'm going to do that and Dektec is also preparing a
small log of what happening on the DTE-3114 side... Perhaps it is the way to
treat the rtp packets on its side that causes the issue.</SPAN></FONT></DIV>
<DIV dir=ltr align=left><FONT face=Arial color=#0000ff size=2><SPAN
class=638343116-12072010></SPAN></FONT> </DIV><BR>
<DIV class=OutlookMessageHeader lang=fr dir=ltr align=left>
<HR tabIndex=-1>
<FONT face=Tahoma size=2><B>De :</B> live-devel-bounces@ns.live555.com
[mailto:live-devel-bounces@ns.live555.com] <B>De la part de</B> BONNEAU
Guy<BR><B>Envoyé :</B> lundi 12 juillet 2010 17:22<BR><B>À :</B>
LIVE555 Streaming Media - development & use<BR><B>Objet :</B> Re:
[Live-devel] RTP packet lostwhenLive555MediaServerstreamsforward Dektec
DTE3114<BR></FONT><BR></DIV>
<DIV></DIV>
<DIV class=WordSection1>
<P class=MsoNormal><SPAN
style="FONT-SIZE: 11pt; COLOR: #1f497d; FONT-FAMILY: 'Calibri','sans-serif'">You
shouldn’t try to modify the code of the library unless you find a bug. The
library send the packets at the appropriate time following the RTP specification
unless the OS timer resolution create an issue. The library does indeed call the
sendPacketIfNecessary routine to send the packets. >From what I remember the
library does a good job at computing the time when the Mpeg2 TS RTP packets are
to be sent. I suggest you try to use the function gettimeofday() to log the time
and the delay requested when nextTask() =
envir().taskScheduler().scheduleDelayedTask(…) is called in function
sendPacketIfNecessary() in file MultiFramedTPSink. Then log the time again
with gettimeofday() in function MultiFramedRTPSink::sendNext. Then check check
that you were called at the time requested by the library scheduler. If you are
not then you know the problem is likely to be a timer resolution issue with the
OS. This is how I was able to find my issue and find why the library was
bursting the RTP packets.<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN
style="FONT-SIZE: 11pt; COLOR: #1f497d; FONT-FAMILY: 'Calibri','sans-serif'"><o:p> </o:p></SPAN></P>
<P class=MsoNormal><SPAN
style="FONT-SIZE: 11pt; COLOR: #1f497d; FONT-FAMILY: 'Calibri','sans-serif'">GB</SPAN><SPAN
style="FONT-SIZE: 11pt; COLOR: #1f497d; FONT-FAMILY: 'Calibri','sans-serif'"><o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN
style="FONT-SIZE: 11pt; COLOR: #1f497d; FONT-FAMILY: 'Calibri','sans-serif'"><o:p> </o:p></SPAN></P>
<DIV
style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: blue 1.5pt solid; PADDING-TOP: 0in; BORDER-BOTTOM: medium none">
<DIV>
<DIV
style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; PADDING-LEFT: 0in; PADDING-BOTTOM: 0in; BORDER-LEFT: medium none; PADDING-TOP: 3pt; BORDER-BOTTOM: medium none">
<P class=MsoNormal><B><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'">From:</SPAN></B><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'">
live-devel-bounces@ns.live555.com [mailto:live-devel-bounces@ns.live555.com]
<B>On Behalf Of </B>Lambert Marc<BR><B>Sent:</B> Monday, July 12, 2010
6:31<BR><B>To:</B> LIVE555 Streaming Media - development &
use<BR><B>Subject:</B> Re: [Live-devel] RTP packet lost
whenLive555MediaServerstreamsforward Dektec
DTE3114<o:p></o:p></SPAN></P></DIV></DIV>
<P class=MsoNormal><o:p> </o:p></P>
<P class=MsoNormal><SPAN
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'">I just
tried to modify the fDurationInMicroseconds but it doesn't
work.</SPAN><o:p></o:p></P>
<P class=MsoNormal><SPAN
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'">Actually,
It seems the task sends packet through "sendPacketIfNecessary" as soon as the
packet is prepared when I would like to wait for 3 or 4 packets ready before to
send them on the network.</SPAN><o:p></o:p></P>
<P class=MsoNormal><SPAN
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'">I tried
to find a way to skip to send data but when I do that, it seems also than the
packet is lost...</SPAN><o:p></o:p></P>
<DIV>
<P class=MsoNormal> <o:p></o:p></P></DIV>
<DIV>
<P class=MsoNormal><SPAN
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'">It looks
like the output buffer gathers frames and when there are enough frames to do a
packet the RTP packet is done and sent, could I let prepare many packets and
wait for few to effectively send them ?</SPAN><o:p></o:p></P></DIV>
<DIV>
<P class=MsoNormal> <o:p></o:p></P></DIV>
<DIV>
<P class=MsoNormal> <o:p></o:p></P></DIV>
<P class=MsoNormal><o:p> </o:p></P>
<DIV class=MsoNormal style="TEXT-ALIGN: center" align=center><SPAN lang=FR>
<HR align=center width="100%" SIZE=2>
</SPAN></DIV>
<P class=MsoNormal style="MARGIN-BOTTOM: 12pt"><B><SPAN lang=FR
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'">De :</SPAN></B><SPAN
lang=FR style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'">
live-devel-bounces@ns.live555.com [mailto:live-devel-bounces@ns.live555.com]
<B>De la part de</B> BONNEAU Guy<BR><B>Envoyé :</B> dimanche 11 juillet
2010 05:51<BR><B>À :</B> LIVE555 Streaming Media - development &
use<BR><B>Objet :</B> Re: [Live-devel] RTP packet lost when
Live555MediaServerstreamsforward Dektec DTE3114</SPAN><SPAN
lang=FR><o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN
style="FONT-SIZE: 11pt; COLOR: #1f497d; FONT-FAMILY: 'Calibri','sans-serif'">This
problem seems to be very similar to one I have had about 1 year ago while
trying to stream a Mpeg2 TS with the live555 library with a very high datarate.
Unfortunately I do not remember all the details but I eventually pinpointed the
problem to the scheduler of Windows. (My testing application was Windows based).
If a remember the library would compute a delay to callback a routine to
schedule a new RTP packet to be sent over the network. I believe that was done
through a select or sleep() function. The computing of the delay was well done
by the library. But the timer resolution of Windows is 15 or 10 ms by default
and the requested delay in my case was much lower given the requested bitrate
from the Mpeg2 TS stream. The jitter of the packets over the network was
terrible and the library much of the time was trying to catch-up from the
misbehavior of the Windows Timer default resolution of 15 ms by bursting the RTP
packets over the network.<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN
style="FONT-SIZE: 11pt; COLOR: #1f497d; FONT-FAMILY: 'Calibri','sans-serif'"><o:p> </o:p></SPAN></P>
<P class=MsoNormal><SPAN
style="FONT-SIZE: 11pt; COLOR: #1f497d; FONT-FAMILY: 'Calibri','sans-serif'">I
solved that problem by using the TimeBeginPeriod(1) to change the Windows period
of the timer to 1 ms. The callback function would then wakeup much faster and
the jitter of the packets went down to an acceptable
level.<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN
style="FONT-SIZE: 11pt; COLOR: #1f497d; FONT-FAMILY: 'Calibri','sans-serif'"><o:p> </o:p></SPAN></P>
<P class=MsoNormal><SPAN
style="FONT-SIZE: 11pt; COLOR: #1f497d; FONT-FAMILY: 'Calibri','sans-serif'">Guy
Bonneau<o:p></o:p></SPAN></P>
<P class=MsoNormal><SPAN
style="FONT-SIZE: 11pt; COLOR: #1f497d; FONT-FAMILY: 'Calibri','sans-serif'"><o:p> </o:p></SPAN></P>
<P class=MsoNormal><SPAN
style="FONT-SIZE: 11pt; COLOR: #1f497d; FONT-FAMILY: 'Calibri','sans-serif'"><o:p> </o:p></SPAN></P>
<DIV
style="BORDER-RIGHT: medium none; PADDING-RIGHT: 0in; BORDER-TOP: medium none; PADDING-LEFT: 4pt; PADDING-BOTTOM: 0in; BORDER-LEFT: blue 1.5pt solid; PADDING-TOP: 0in; BORDER-BOTTOM: medium none">
<P class=MsoNormal><SPAN
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'">Just to
complet my explaination, please find the 2 IO Graphs Qvidium vs Live555 rtp
streaming.</SPAN><o:p></o:p></P>
<P class=MsoNormal> <o:p></o:p></P>
<P class=MsoNormal><SPAN
style="FONT-SIZE: 10pt; COLOR: blue; FONT-FAMILY: 'Arial','sans-serif'">Regards</SPAN><o:p></o:p></P>
<P class=MsoNormal><o:p> </o:p></P>
<DIV class=MsoNormal style="TEXT-ALIGN: center" align=center><SPAN lang=FR>
<HR align=center width="100%" SIZE=2>
</SPAN></DIV>
<P class=MsoNormal style="MARGIN-BOTTOM: 12pt"><B><SPAN lang=FR
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'">De :</SPAN></B><SPAN
lang=FR style="FONT-SIZE: 10pt; FONT-FAMILY: 'Tahoma','sans-serif'"> Lambert
Marc <BR><B>Envoyé :</B> vendredi 9 juillet 2010 15:35<BR><B>À :</B>
'live-devel@lists.live555.com'<BR><B>Objet :</B> RTP packet lost when
Live555MediaServer streams forward Dektec DTE3114</SPAN><SPAN
lang=FR><o:p></o:p></SPAN></P>
<DIV>
<P class=MsoNormal><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'">Hello,</SPAN><o:p></o:p></P></DIV>
<DIV>
<P class=MsoNormal> <o:p></o:p></P></DIV>
<DIV>
<P class=MsoNormal><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'">First of all, I'm
certainly not the first to say that but thank you for this very nice
software.</SPAN><o:p></o:p></P></DIV>
<DIV>
<P class=MsoNormal><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'">I use
live555MediaServer in the context of my job and I compilled it with the option
"RTSP_ALLOW_CLIENT_DESTINATION_SETTING" to make me able to control the server
from a device connected on the network and to stream forward an IPtoTS modulator
(DTE-3114 from Dektec) providing a DVB-C signal to a
TV.</SPAN><o:p></o:p></P></DIV>
<DIV>
<P class=MsoNormal><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'">My client is working
well and everything is working perfectly with VLC
but...</SPAN><o:p></o:p></P></DIV>
<DIV>
<P class=MsoNormal><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'">When I replace VLC by
the DTE-3114, the outgoing signal is not good with many RTP packet
loss.</SPAN><o:p></o:p></P></DIV>
<DIV>
<P class=MsoNormal><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'">Then, I tryed to
change many parameters on each sides but nothing is fixing
that.</SPAN><o:p></o:p></P></DIV>
<DIV>
<P class=MsoNormal> <o:p></o:p></P></DIV>
<DIV>
<P class=MsoNormal><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'">I also used the
DTE-3114 with the QVidium file streamer (it doesn't have the rtsp server, just
the rtp streamer) and, in that case, I succeed to stream perfectly until
25Mbps...</SPAN><o:p></o:p></P></DIV>
<DIV>
<P class=MsoNormal><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'">I captured with
Wireshark and there is a difference between the 2 streaming methodes, the
Qvidium seems to allow more time before to send the next frame and the
frame is composed of many UDP packet when Live555 try to gather perfectly the
packets during the time and I guess it is stressing too much the DTE-3114 to
treat this bandwidth on the fly.</SPAN><o:p></o:p></P></DIV>
<DIV>
<P class=MsoNormal><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'">Then, I would like to
know if it is possible to change the way to send packet on the network to try to
make my test bench working.</SPAN><o:p></o:p></P></DIV>
<DIV>
<P class=MsoNormal> <o:p></o:p></P></DIV>
<DIV>
<P class=MsoNormal><SPAN
style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'">Thank's in
advance</SPAN><o:p></o:p></P></DIV>
<DIV>
<P class=MsoNormal> <o:p></o:p></P></DIV></DIV></DIV></DIV></BODY></HTML>