<div>Hi Filippo,</div>  <div> </div>  <div>When I correct the logic the destroy method kills the running application. I used my debugger (Eclipse) and right when the destroy method is called the application or in this case jre crashes. On the other hand if not fixed there is a fairly big memory leak because I found out the instance of libvlc stays in memory if destory is never called as indicated in the method I pasted in previous email.</div>  <div> </div>  <div>Lets try to figure this out quickly I hate to see such unstable code in a project.</div>  <div> </div>  <div>Regards,</div>  <div>-Tony<BR><BR><B><I>Tony Anecito <adanecito@yahoo.com></I></B> wrote:</div>  <BLOCKQUOTE class=replbq style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #1010ff 2px solid">  <DIV>Hi Filippo,</DIV>  <DIV> </DIV>  <DIV>I figured out the problem. The destroy method in JVLC.java will never work. The logic is wrong. I am not sure what was being attempted but
 being destroyed should be false.</DIV>  <DIV> </DIV>  <DIV>Again, not sure why the logic is this way.</DIV>  <DIV> </DIV>  <DIV>Regards,</DIV>  <DIV>-Tony</DIV>  <DIV> </DIV><FONT size=2>  <DIV>/**</DIV>  <DIV>* Destroys the current instance of jvlc, cleaning up objects.</DIV>  <DIV>* This is unreversible.</DIV>  <DIV>*/</DIV>  <DIV>public void destroy() {</DIV>  <DIV>beingDestroyed = true;</DIV>  <DIV>if (!beingDestroyed)</DIV>  <DIV>{</DIV>  <DIV>_destroy();</DIV>  <DIV>}</DIV>  <DIV>}</DIV>  <DIV></FONT><BR><BR><B><I>Filippo Carone <filippo@carone.org></I></B> wrote:</DIV>  <BLOCKQUOTE class=replbq style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #1010ff 2px solid">Tony Anecito ha scritto:<BR>> ...<BR><BR>Hi Tony,<BR>a workaround for avoiding the removal of the first libvlc instance,<BR>could the use of addNotify() and removeNotify() methods, as Daniel<BR>Kaufmann recently suggested to me. Java awt controls implement these 2<BR>methods,
 which are invoked when the window peer is created (-><BR>addNotify()) and removed (removeNotify()). A test I ask you to do could<BR>do would be:<BR><BR>1. do not implement natively paint(), but leave the default implementation<BR>2. override addNotify to run the current native code used for paint()<BR>3. override removeNotify to destroy the libvlc instance<BR><BR>this could help avoiding the vout window to be created without a peer. <BR>The problem you exposed could be a missing delay time between the play() <BR>command and the peer creation. If the operating system has not created <BR>the peer window and you run play() on jvlc, it will happen vlc will <BR>spawn a new window.<BR><BR>> Now I run the same test but with only one child with the libvlc video<BR>> step 7 above has matching libvlc instances so get the correct window<BR>> handle back and the video plays int the canvas as expected.<BR><BR>That's normal.<BR><BR>> So I was curious where in the code the
 p_vout->p_libvlc is set since<BR>> that is part of the key for the retrieval of the window handle from<BR>> the var_Get( p_vout->p_libvlc, "drawable", &val ) function. The<BR>> other part of the key for retrieval is the "drawable" string.<BR>> <BR>> Does that help more?<BR><BR>Let me know your thoughts about the above suggestion,<BR>cheers,<BR>Filippo<BR><BR>-- <BR>This is the vlc-devel mailing-list, see http://www.videolan.org/vlc/<BR>To unsubscribe, please read http://developers.videolan.org/lists.html<BR><BR></BLOCKQUOTE><BR>  <div>  <HR SIZE=1>  <A href="http://us.rd.yahoo.com/evt=49938/*http://tools.search.yahoo.com/toolbar/features/mail/">Never miss an email again!<BR>Yahoo! Toolbar</A> alerts you the instant new Mail arrives.<A href="http://us.rd.yahoo.com/evt=49937/*http://tools.search.yahoo.com/toolbar/features/mail/"> Check it out.</A></BLOCKQUOTE><BR><p>

<hr size=1>Expecting? Get great news right away with <a href="http://us.rd.yahoo.com/evt=49982/*http://advision.webevents.yahoo.com/mailbeta/newmail_tools.html">email Auto-Check.</a><br>Try the <a href="http://us.rd.yahoo.com/evt=49982/*http://advision.webevents.yahoo.com/mailbeta/newmail_tools.html">Yahoo! Mail Beta.</a>