On a deeper look (re:the memory leak), it just looks like VPMedia isn't freeing the packet in the RTP callback. I'm not sure why this didn't happen with the if-media version of the common library - it doesn't look like anything related (like RTP_OPT_REUSE_PACKET_BUFS) was changed.<br>
Is it safe to say that the RTP callback should always free that packet regardless of what type it is?<br><br>--Andrew<br><br><div class="gmail_quote">2011/1/10 Andrew Ford <span dir="ltr"><<a href="mailto:andrew.ford@rit.edu">andrew.ford@rit.edu</a>></span><br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Hi,<br><br>I've been having some issues (on Linux, Ubuntu 10.10) with my video app that relies on VPMedia & the common library. There's a massive memory leak when I tried to switch from using the if-media library to the UCL library - based on some quick valgrind runs it seems to be in rtp_recv. I'm not totally sure yet whether this is actually a problem in the UCL library or if something in VPMedia needs to be changed, I'll be investigating this a bit deeper soon.<br>
<br>I thought I saw some reference in the VPMedia SVN log to compiling against UCL common, but I'm not sure if that was fully tested, since on a normal install, the if-media include files (assuming prefix is /usr/local) actually installs to /usr/local/include/common whereas the UCL version goes to /usr/local/include/uclmmbase, and VPMedia includes files from common/. I changed the includes to point to the right spot before confirming my tests above, so that's not the problem.<br>
<br>Side note - should client apps now directly include uclconf.h? It seems like the if-media version had an #ifdef to include it in certain cases (via config_unix or config_win32) but the most recent UCL code doesn't, so I had to add that manually to VPMedia or else it would complain about things like a #def for endianness not being set.<br>
<br>Also, it looks like the make install target in UCL common doesn't actually copy the static version of the lib (.a), even if static is enabled and it has been built. I haven't checked the specifics in the makefile yet.<br>
<font color="#888888">
<br>--Andrew<br>
</font></blockquote></div><br>