<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<style type="text/css" style="display:none;"> P {margin-top:0;margin-bottom:0;} </style>
</head>
<body dir="ltr">
<p class="elementToProof" style="margin-top: 0px; margin-bottom: 0px;"><span style="font-family: "Helvetica Neue", Helvetica, Arial, "Segoe UI Emoji", sans-serif; font-size: 16px; color: rgb(255, 255, 255); --darkreader-inline-color: var(--darkreader-text--darkColor__ffffff, #e8e6e3);" data-darkreader-inline-color="">Hello!</span></p>
<p style="text-align: left; text-indent: 0px; white-space: pre-wrap; margin-top: 0px; margin-bottom: 1.5rem;">
<span style="font-family: "Helvetica Neue", Helvetica, Arial, "Segoe UI Emoji", sans-serif; font-size: 16px; color: rgb(255, 255, 255); --darkreader-inline-color: var(--darkreader-text--darkColor__ffffff, #e8e6e3);" data-darkreader-inline-color="">First and
foremost, I would like to express my gratitude and congratulations on your live555 project, which has directly or indirectly touched the lives of millions of people. I am writing this email in the hope that you might assist us with an issue.</span></p>
<p style="text-align: left; text-indent: 0px; white-space: pre-wrap; margin-top: 0px; margin-bottom: 1.5rem;">
<span style="font-family: "Helvetica Neue", Helvetica, Arial, "Segoe UI Emoji", sans-serif; font-size: 16px; color: rgb(255, 255, 255); --darkreader-inline-color: var(--darkreader-text--darkColor__ffffff, #e8e6e3);" data-darkreader-inline-color="">We are using
version 2023.05.10 of your </span><span style="font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; font-size: 14px; color: rgb(255, 255, 255); background-color: rgba(0, 0, 0, 0.05); --darkreader-inline-color: var(--darkreader-text--darkColor__ffffff, #e8e6e3); --darkreader-inline-bgcolor: var(--darkreader-bg--darkColor_rgba_0__0__0__0_05_, rgba(0, 0, 0, 0.05));" data-darkreader-inline-color="" data-darkreader-inline-bgcolor=""><code style="font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;">live555wrapper</code></span><span style="font-family: "Helvetica Neue", Helvetica, Arial, "Segoe UI Emoji", sans-serif; font-size: 16px; color: rgb(255, 255, 255); --darkreader-inline-color: var(--darkreader-text--darkColor__ffffff, #e8e6e3);" data-darkreader-inline-color="">
library on the Windows platform. We have a simple client written in CPP that we use as an RTSP Client. Simply put, this RTSP client connects, receives frames, and saves them to disk. The saving part is handled by C#.</span></p>
<p style="text-align: left; text-indent: 0px; white-space: pre-wrap; margin-top: 0px; margin-bottom: 1.5rem;">
<span style="font-family: "Helvetica Neue", Helvetica, Arial, "Segoe UI Emoji", sans-serif; font-size: 16px; color: rgb(255, 255, 255); --darkreader-inline-color: var(--darkreader-text--darkColor__ffffff, #e8e6e3);" data-darkreader-inline-color="">I am also
sharing the RTSP Client with you as an attachment (in case you want to review it). Imagine this client connecting to 50-100 cameras. If the network of one of the RTSP cameras we are trying to connect to is faulty, our RTSP Client starts using high CPU. And
if the CPU usage rises to 100%, it negatively affects all other clients, causing them to stop pulling frames.</span></p>
<p style="text-align: left; text-indent: 0px; white-space: pre-wrap; margin-top: 0px; margin-bottom: 1.5rem;">
<span style="font-family: "Helvetica Neue", Helvetica, Arial, "Segoe UI Emoji", sans-serif; font-size: 16px; color: rgb(255, 255, 255); --darkreader-inline-color: var(--darkreader-text--darkColor__ffffff, #e8e6e3);" data-darkreader-inline-color="">To prevent
high CPU usage, we added a 10-millisecond sleep period after each frame pull in the
</span><span style="font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; font-size: 14px; color: rgb(255, 255, 255); background-color: rgba(0, 0, 0, 0.05); --darkreader-inline-color: var(--darkreader-text--darkColor__ffffff, #e8e6e3); --darkreader-inline-bgcolor: var(--darkreader-bg--darkColor_rgba_0__0__0__0_05_, rgba(0, 0, 0, 0.05));" data-darkreader-inline-color="" data-darkreader-inline-bgcolor=""><code style="font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;">FramedSource.cpp</code></span><span style="font-family: "Helvetica Neue", Helvetica, Arial, "Segoe UI Emoji", sans-serif; font-size: 16px; color: rgb(255, 255, 255); --darkreader-inline-color: var(--darkreader-text--darkColor__ffffff, #e8e6e3);" data-darkreader-inline-color="">
file of the livemedia library in the following method:</span></p>
<pre style="background-color: rgb(51, 51, 51); margin-top: 0px; margin-bottom: 20px; padding: 10px 10px 10px 30px; width: inherit; display: block; --darkreader-inline-bgcolor: var(--darkreader-bg--darkColor_rgb_51__51__51_, #262a2b);" data-darkreader-inline-bgcolor=""><div style="text-align: left; text-indent: 0px;"><span style="font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; font-size: 14.4px; color: rgb(28, 198, 133); --darkreader-inline-color: var(--darkreader-text--darkColor_rgb_28__198__133_, #48e5a9);" data-darkreader-inline-color="">void</span><span style="font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; font-size: 14.4px; color: rgb(184, 191, 198); --darkreader-inline-color: var(--darkreader-text--darkColor_rgb_184__191__198_, #c0bab2);" data-darkreader-inline-color=""> </span><span style="font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; font-size: 14.4px; color: rgb(141, 141, 240); --darkreader-inline-color: var(--darkreader-text--darkColor_rgb_141__141__240_, #82aaef);" data-darkreader-inline-color="">FramedSource::getNextFrame</span><span style="font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; font-size: 14.4px; color: rgb(184, 191, 198); --darkreader-inline-color: var(--darkreader-text--darkColor_rgb_184__191__198_, #c0bab2);" data-darkreader-inline-color="">(</span><span style="font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; font-size: 14.4px; color: rgb(28, 198, 133); --darkreader-inline-color: var(--darkreader-text--darkColor_rgb_28__198__133_, #48e5a9);" data-darkreader-inline-color="">unsigned</span><span style="font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; font-size: 14.4px; color: rgb(184, 191, 198); --darkreader-inline-color: var(--darkreader-text--darkColor_rgb_184__191__198_, #c0bab2);" data-darkreader-inline-color=""> </span><span style="font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; font-size: 14.4px; color: rgb(28, 198, 133); --darkreader-inline-color: var(--darkreader-text--darkColor_rgb_28__198__133_, #48e5a9);" data-darkreader-inline-color="">char*</span><span style="font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; font-size: 14.4px; color: rgb(184, 191, 198); --darkreader-inline-color: var(--darkreader-text--darkColor_rgb_184__191__198_, #c0bab2);" data-darkreader-inline-color=""> to, </span><span style="font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; font-size: 14.4px; color: rgb(28, 198, 133); --darkreader-inline-color: var(--darkreader-text--darkColor_rgb_28__198__133_, #48e5a9);" data-darkreader-inline-color="">unsigned</span><span style="font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; font-size: 14.4px; color: rgb(184, 191, 198); --darkreader-inline-color: var(--darkreader-text--darkColor_rgb_184__191__198_, #c0bab2);" data-darkreader-inline-color=""> maxSize, afterGettingFunc* afterGettingFunc, </span><span style="font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; font-size: 14.4px; color: rgb(28, 198, 133); --darkreader-inline-color: var(--darkreader-text--darkColor_rgb_28__198__133_, #48e5a9);" data-darkreader-inline-color="">void*</span><span style="font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; font-size: 14.4px; color: rgb(184, 191, 198); --darkreader-inline-color: var(--darkreader-text--darkColor_rgb_184__191__198_, #c0bab2);" data-darkreader-inline-color=""> afterGettingClientData, onCloseFunc* onCloseFunc, </span><span style="font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; font-size: 14.4px; color: rgb(28, 198, 133); --darkreader-inline-color: var(--darkreader-text--darkColor_rgb_28__198__133_, #48e5a9);" data-darkreader-inline-color="">void*</span><span style="font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; font-size: 14.4px; color: rgb(184, 191, 198); --darkreader-inline-color: var(--darkreader-text--darkColor_rgb_184__191__198_, #c0bab2);" data-darkreader-inline-color=""> onCloseClientData)<br>{<br></span><span style="font-family: var(--monospace); font-size: 14.4px; color: rgb(184, 191, 198); --darkreader-inline-color: var(--darkreader-text--darkColor_rgb_184__191__198_, #c0bab2);" data-darkreader-inline-color=""> </span><span style="font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; font-size: 14.4px; color: rgb(184, 191, 198); --darkreader-inline-color: var(--darkreader-text--darkColor_rgb_184__191__198_, #c0bab2);" data-darkreader-inline-color="">...<br></span><span style="font-family: var(--monospace); font-size: 14.4px; color: rgb(184, 191, 198); --darkreader-inline-color: var(--darkreader-text--darkColor_rgb_184__191__198_, #c0bab2);" data-darkreader-inline-color=""> </span><span style="font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; font-size: 14.4px; color: rgb(184, 191, 198); --darkreader-inline-color: var(--darkreader-text--darkColor_rgb_184__191__198_, #c0bab2);" data-darkreader-inline-color="">std::this_thread::sleep_for(std::chrono::milliseconds(</span><span style="font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; font-size: 14.4px; color: rgb(100, 171, 143); --darkreader-inline-color: var(--darkreader-text--darkColor_rgb_100__171__143_, #71b299);" data-darkreader-inline-color="">10</span><span style="font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; font-size: 14.4px; color: rgb(184, 191, 198); --darkreader-inline-color: var(--darkreader-text--darkColor_rgb_184__191__198_, #c0bab2);" data-darkreader-inline-color="">)); <br></span><span style="font-family: var(--monospace); font-size: 14.4px; color: rgb(184, 191, 198); --darkreader-inline-color: var(--darkreader-text--darkColor_rgb_184__191__198_, #c0bab2);" data-darkreader-inline-color=""> </span><span style="font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; font-size: 14.4px; color: rgb(184, 191, 198); --darkreader-inline-color: var(--darkreader-text--darkColor_rgb_184__191__198_, #c0bab2);" data-darkreader-inline-color="">doGetNextFrame();<br>}</span></div></pre>
<p style="text-align: left; text-indent: 0px; white-space: pre-wrap; margin-top: 0px; margin-bottom: 1.5rem;">
<span style="font-family: "Helvetica Neue", Helvetica, Arial, "Segoe UI Emoji", sans-serif; font-size: 16px; color: rgb(255, 255, 255); --darkreader-inline-color: var(--darkreader-text--darkColor__ffffff, #e8e6e3);" data-darkreader-inline-color="">Adding this
line indeed eased the CPU usage, but then we encountered another problem. It resulted in 2-minute gaps in recordings every 8 minutes, meaning approximately 20% (±10) of the data from the camera never arrived.</span></p>
<p class="elementToProof" style="text-align: left; text-indent: 0px; white-space: pre-wrap; margin-top: 0px; margin-bottom: 1.5rem;">
<span style="font-family: "Helvetica Neue", Helvetica, Arial, "Segoe UI Emoji", sans-serif; font-size: 16px; color: rgb(255, 255, 255); --darkreader-inline-color: var(--darkreader-text--darkColor__ffffff, #e8e6e3);" data-darkreader-inline-color="">Do you have
any suggestions regarding this issue? Have you ever encountered a similar problem? We would be very grateful for a few words of advice from you.</span></p>
<div class="elementToProof" style="font-family: Aptos, Aptos_EmbeddedFont, Aptos_MSFontService, Calibri, Helvetica, sans-serif; font-size: 12pt; color: rgb(0, 0, 0); --darkreader-inline-color: var(--darkreader-text--darkColor_rgb_0__0__0_, #e8e6e3);" data-darkreader-inline-color="">
<br>
</div>
<div id="Signature">
<div style="background-color: rgb(255, 255, 255); margin: 0px; --darkreader-inline-bgcolor: var(--darkreader-bg--darkColor_rgb_255__255__255_, #181a1b);" data-darkreader-inline-bgcolor="">
</div>
<table style="text-align: left; background-color: white; width: 337.5pt; color: rgb(32, 31, 30); border-collapse: collapse; border-spacing: 0px; box-sizing: border-box; --darkreader-inline-bgcolor: var(--darkreader-bg--darkColor_white, #181a1b); --darkreader-inline-color: var(--darkreader-text--darkColor_rgb_32__31__30_, #d4d1cb);" data-darkreader-inline-bgcolor="" data-darkreader-inline-color="">
<tbody>
<tr>
<td style="text-align: left; padding: 7.5pt 0in 0in; vertical-align: top; width: 450px;">
<table style="text-align: left; background-color: white; width: 337.5pt; border-collapse: collapse; border-spacing: 0px; box-sizing: border-box; --darkreader-inline-bgcolor: var(--darkreader-bg--darkColor_white, #181a1b);" data-darkreader-inline-bgcolor="">
<tbody>
<tr>
<td style="text-align: left; border-bottom: 1pt solid rgb(243, 135, 34); padding: 0in 0in 7.5pt; vertical-align: bottom; --darkreader-inline-border-bottom: #a35309;" data-darkreader-inline-border-bottom="">
<p style="text-align: left; margin: 0in; font-family: Calibri, sans-serif; font-size: 11pt;">
<span style="font-family: Tahoma, sans-serif, serif, EmojiFont; color: rgb(243, 135, 34); --darkreader-inline-color: var(--darkreader-text--darkColor_rgb_243__135__34_, #f49134);" data-darkreader-inline-color=""><b>Fatih Bahçeci</b></span><span style="font-family: Verdana, sans-serif, serif, EmojiFont; color: rgb(59, 73, 8); --darkreader-inline-color: var(--darkreader-text--darkColor_rgb_59__73__8_, #cecac4);" data-darkreader-inline-color=""><br>
</span><span style="font-family: Tahoma, sans-serif, serif, EmojiFont; font-size: 10pt; color: rgb(51, 51, 51); --darkreader-inline-color: var(--darkreader-text--darkColor_rgb_51__51__51_, #c8c3bc);" data-darkreader-inline-color="">Software Developer</span></p>
</td>
<td style="text-align: left; border-bottom: 1pt solid rgb(243, 135, 34); padding: 0in 0in 7.5pt; vertical-align: top; --darkreader-inline-border-bottom: #a35309;" data-darkreader-inline-border-bottom="">
<p style="text-align: left; margin: 0in; font-family: Calibri, sans-serif; font-size: 11pt;">
<span style="color: rgb(59, 73, 8); --darkreader-inline-color: var(--darkreader-text--darkColor_rgb_59__73__8_, #cecac4);" data-darkreader-inline-color=""><u><a href="http://www.nanodems.com/" target="_blank" title="Nanodems" rel="noopener noreferrer" style="color: rgb(59, 73, 8); margin: 0px; --darkreader-inline-color: var(--darkreader-text--darkColor_rgb_59__73__8_, #cecac4);" data-darkreader-inline-color=""><img alt="Nanodems Corporation" style="width: 1.875in; height: 0.325in; margin: 0px;" data-outlook-trace="F:1|T:1" src="cid:87dd02ed-7ee3-4f2a-8506-8efbe16519a1"></a></u></span></p>
</td>
</tr>
<tr>
<td style="text-align: left; padding: 7.5pt 0in 0in; vertical-align: top; width: 270px;">
<p style="text-align: left; line-height: 13.5pt; margin: 0in; font-family: Calibri, sans-serif; font-size: 11pt;">
<span style="font-family: Tahoma, sans-serif, serif, EmojiFont; font-size: 10pt; color: rgb(243, 135, 34); --darkreader-inline-color: var(--darkreader-text--darkColor_rgb_243__135__34_, #f49134);" data-darkreader-inline-color="">+90 (312) 485 06 78<br>
<br>
</span><span style="font-family: Tahoma, sans-serif, serif, EmojiFont; font-size: 10pt; color: rgb(5, 99, 193); --darkreader-inline-color: var(--darkreader-text--darkColor_rgb_5__99__193_, #59b2fb);" data-darkreader-inline-color=""><u><a href="mailto:fatih.bahceci@nanodems.com" target="_blank" rel="noopener noreferrer" style="color: rgb(5, 99, 193); margin: 0px; --darkreader-inline-color: var(--darkreader-text--darkColor_rgb_5__99__193_, #59b2fb);" data-darkreader-inline-color="">fatih.bahceci@nanodems.com</a></u></span></p>
</td>
<td style="text-align: left; padding: 7.5pt 0in 0in; vertical-align: top; width: 180px;">
<p style="text-align: left; line-height: 13.5pt; margin: 0in; font-family: Calibri, sans-serif; font-size: 11pt;">
<span style="font-family: Tahoma, sans-serif, serif, EmojiFont; color: rgb(243, 135, 34); --darkreader-inline-color: var(--darkreader-text--darkColor_rgb_243__135__34_, #f49134);" data-darkreader-inline-color="">The <b>Converged Vision™</b> Company</span></p>
</td>
</tr>
<tr>
<td style="text-align: left; padding: 7.5pt 0in 0in; vertical-align: top; width: 270px;">
<p style="text-align: left; margin: 0in; font-family: Calibri, sans-serif; font-size: 11pt;">
<span style="color: blue; --darkreader-inline-color: var(--darkreader-text--darkColor_blue, #337dff);" data-darkreader-inline-color=""><u><a href="https://www.facebook.com/nanodems" target="_blank" rel="noopener noreferrer" style="color: blue; margin: 0px; --darkreader-inline-color: var(--darkreader-text--darkColor_blue, #337dff);" data-darkreader-inline-color=""><img style="width: 0.2166in; height: 0.2166in; margin: 0px;" data-outlook-trace="F:1|T:1" src="cid:1761097d-abea-48cb-a838-de2cdee77834"></a></u></span><span style="font-family: Arial, sans-serif, serif, EmojiFont; font-size: 9pt; color: rgb(68, 68, 68); --darkreader-inline-color: var(--darkreader-text--darkColor_rgb_68__68__68_, #bdb7af);" data-darkreader-inline-color=""> </span><span style="color: blue; --darkreader-inline-color: var(--darkreader-text--darkColor_blue, #337dff);" data-darkreader-inline-color=""><u><a href="https://twitter.com/nanodems" target="_blank" rel="noopener noreferrer" style="color: blue; margin: 0px; --darkreader-inline-color: var(--darkreader-text--darkColor_blue, #337dff);" data-darkreader-inline-color=""><img style="width: 0.2166in; height: 0.2166in; margin: 0px;" data-outlook-trace="F:1|T:1" src="cid:0df3dba8-4ad8-485c-ac86-1fade5d69589"></a></u></span><span style="font-family: Arial, sans-serif, serif, EmojiFont; font-size: 9pt; color: rgb(68, 68, 68); --darkreader-inline-color: var(--darkreader-text--darkColor_rgb_68__68__68_, #bdb7af);" data-darkreader-inline-color=""> </span><span style="color: blue; --darkreader-inline-color: var(--darkreader-text--darkColor_blue, #337dff);" data-darkreader-inline-color=""><u><a href="https://www.linkedin.com/company/nanodems" target="_blank" rel="noopener noreferrer" style="color: blue; margin: 0px; --darkreader-inline-color: var(--darkreader-text--darkColor_blue, #337dff);" data-darkreader-inline-color=""><img style="width: 0.2166in; height: 0.2166in; margin: 0px;" data-outlook-trace="F:1|T:1" src="cid:76a185ed-824d-4fb4-b147-01bc6ed43991"></a></u></span></p>
</td>
<td style="text-align: left; padding: 7.5pt 0in 0in; vertical-align: top; width: 180px;">
<p style="text-align: left; margin: 0in; font-family: Calibri, sans-serif; font-size: 11pt;">
<span style="font-family: Tahoma, sans-serif, serif, EmojiFont; font-size: 10pt; color: rgb(243, 135, 34); --darkreader-inline-color: var(--darkreader-text--darkColor_rgb_243__135__34_, #f49134);" data-darkreader-inline-color=""><b><u><a href="http://www.nanodems.com/" target="_blank" rel="noopener noreferrer" style="color: rgb(243, 135, 34); margin: 0px; --darkreader-inline-color: var(--darkreader-text--darkColor_rgb_243__135__34_, #f49134);" data-darkreader-inline-color="">www.nanodems.com</a></u></b></span></p>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
<p style="text-align: left; background-color: rgb(255, 255, 255); margin: 0in; font-family: Calibri, sans-serif; font-size: 11pt; color: rgb(32, 31, 30); --darkreader-inline-bgcolor: var(--darkreader-bg--darkColor_rgb_255__255__255_, #181a1b); --darkreader-inline-color: var(--darkreader-text--darkColor_rgb_32__31__30_, #d4d1cb);" data-darkreader-inline-bgcolor="" data-darkreader-inline-color="">
<span style="font-size: 8pt; color: rgb(237, 125, 49); --darkreader-inline-color: var(--darkreader-text--darkColor_rgb_237__125__49_, #ee8640);" data-darkreader-inline-color=""><u><a href="https://www.nanodems.com/security/e-mail-privacy-policy/" target="_blank" rel="noopener noreferrer" data-darkreader-inline-color="" style="color: rgb(237, 125, 49); margin: 0px; --darkreader-inline-color: var(--darkreader-text--darkColor_rgb_237__125__49_, #ee8640);">Privacy
Policy</a></u></span></p>
<div style="background-color: rgb(255, 255, 255); margin: 0px; --darkreader-inline-bgcolor: var(--darkreader-bg--darkColor_rgb_255__255__255_, #181a1b);" data-darkreader-inline-bgcolor="">
</div>
</div>
</body>
</html>