<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div><blockquote type="cite"><div>I'm needing to be able to detect and log the<br>connect/disconnect/playing/paused/etc events done on the<br>ProxyServerMediaSession against the remote camera</div></blockquote><div><br></div>I'm not sure exactly what you mean by this, but if your intention is to detect/log every client connection (etc.) to the proxy server, then you need to know that if two or more clients are accessing the same proxy stream concurrently, then the code for "ProxyServerMediaSession" (and its related classes) is executed only for the *first* such client. I.e., the "Proxy*" code is unaware of the second and subsequent clients.</div><div><br></div><div>So if you want to detect/log every client connection (etc.) to the proxy server, then you would not modify (or subclass) the "Proxy*" code at all. Instead, you would subclass "RTSPServer" and "RTSPServer::RTSPClientSession", and reimplement the "handleCmd_SETUP()" (etc.) virtual functions.</div><div><br></div><div><br></div><div>But if your intention is instead to detect/log only connections from the proxy server to the 'back-end' server (which is only a subset of the number of connections from front-end clients to the proxy server), then:</div><div><br></div><div><blockquote type="cite"><div>The fact is that reviewing the code it seems to me it's the correct<br>aproach, just use a ProxyServerMediaSession child constructor that<br>inits ProxyServerMediaSession::fProxyRTSPClient to my own<br>ProxyRTSPClient child class</div></blockquote><div><br></div>Yes, but note that the existing "ProxyServerMediaSession" constructor already initializes the "fProxyRTSPClient" field (to a new "ProxyRTSPClient" object), so you'll need to delete this (using "Medium::close()") first, before assigning your new "ProxyRTSPClient" subclass object.</div><div><br></div><div>But hold on: At present, the "ProxyRTSPClient" class is defined only inside the "ProxyServerMediaSession.cpp" file, not in a header file, so you shouldn't even have the ability to access it, let alone subclass it. So, are you sure that this is something that you really want to do??</div><br><br><div apple-content-edited="true">
<span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; "><span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; font-size: medium; ">Ross Finlayson<br>Live Networks, Inc.<br><a href="http://www.live555.com/">http://www.live555.com/</a></span></span>
</div>
<br></body></html>