<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">It is not really explicit but I guess that's comes from the "seekable" and "pausable" variable that gets changed/destroyed.<div><br class="webkit-block-placeholder"></div><div>I'll try to fix that in the next days.</div><div><br class="webkit-block-placeholder"></div><div>Pierre.<br><div><div><br class="webkit-block-placeholder"></div><div>On Jan 15, 2008, at 9:36 PM, jboileau wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>Hi Pierre,</div> <div> </div> <div>I may not be as much help has I would like to, but here goes. My application is under Windows and I use Visual Studio to develop it. I do not link with libvlc-control.lib because there is no lib file for M$VS. Instead I use getProcAddress to retrieve the addresses of the functions I need in libvlc-control.dll. The traces I get when I breakpoint in my function that is called when libvlc_MediaInstanceReachedEvent is triggered are listed below. I have done my best to derive in which function each of the stack addresses point to and have added these names next to the the trace. </div> <div> </div> <div>When the movie finishes, the first call to my libvlc_MediaInstanceReachedEvent callback has this call stack when it hits my breakpoint:</div> <div> </div> <div>> LibVLCTest.exe!ALibVLC::mMediaInstanceReachedEnd(const libvlc_event_t * p_event=0x037bfe18, void * p_user_data=0x00327048)  Line 901 C++<br>  libvlc-control.dll!6d7c76e0()  libvlc_event_send<br>  msvcrt.dll!77c2c2e3 ()  <br>  libvlc-control.dll!6d7ca472()  libvlc_media_instance_get_drawable<br>  libvlc.dll!6a38a8e2()  __var_Change<br>  libvlc.dll!6a388e1e()  __vlc_object_find<br>  libvlc.dll!6a38b872()  __var_Set<br>  libvlc.dll!6a38b6bb ()  __var_Get<br>  libvlc.dll!6a335644()  __input_Preparse<br>  libvlc.dll!6a3364e7()  __input_Preparse<br>  msvcrt.dll!77c3a3b0()  <br>  ntdll.dll!7c96cde9()  <br>  kernel32.dll!7c80b683()  <br>  ntdll.dll!7c96cde9()  <br> </div> <div>The second event generates this call stack for the same breakpoint:</div> <div> </div> <div>> LibVLCTest.exe!ALibVLC::mMediaInstanceReachedEnd(const libvlc_event_t * p_event=0x037bfea8, void * p_user_data=0x00327048)  Line 901 C++<br>  libvlc-control.dll!6d7c76e0()  libvlc_event_send<br>  msvcrt.dll!77c2c2e3 ()  <br>  libvlc-control.dll!6d7ca472()  libvlc_media_instance_get_drawable<br>  libvlc.dll!6a38a8e2()  __var_Change<br>  libvlc.dll!6a38b872()  __var_Set<br>  libvlc.dll!6a32df46()  input_DestroyThread<br>  libvlc.dll!6a336597 ()  __input_Read<br>  msvcrt.dll!77c3a3b0()  <br>  ntdll.dll!7c96cde9()  <br>  kernel32.dll!7c80b683()  <br>  ntdll.dll!7c96cde9()  <br></div> <div>After that I get an unhandled exception with the folowing call stack:</div> <div> </div> <div> Unhandled exception at 0x7c918fea in LibVLCTest.exe: 0xC0000005: Access violation writing location 0x00000010.<br> <br> > ntdll.dll!7c918fea()  <br>  libvlc.dll!6a370e88()  mdate<br>  ntdll.dll!7c90104b()  <br>   libvlc.dll!6a345dee()  decoder_SynchroNewPicture<br>  msvcrt.dll!77c3a3b0()  <br>  kernel32.dll!7c80b683()  <br></div> <div> </div> <div>I hope I am of some help!</div> <div> </div> <div>Jacques Boileau<br><br></div> <div class="gmail_quote">On Jan 15, 2008 2:38 PM, Pierre d'Herbemont <<a href="mailto:pdherbemont@free.fr">pdherbemont@free.fr</a>> wrote:<br> <blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid"> <div style="WORD-WRAP: break-word">That's weird. I have committed something to fix that problem of libvlc_MediaInstanceReachedEnd called twice, it should send libvlcMediaInstanceEncounteredError on error now. <div><br></div> <div>Could you provide a back trace to see who is sending that libvlc_MediaInstanceReachedEnd twice?</div> <div><br></div> <div>Thanks!</div><font color="#888888"> <div><br></div> <div>Pierre.</div></font> <div class="Ih2E3d"> <div><br> <div> <div>On Jan 15, 2008, at 8:22 PM, jboileau wrote:</div><br> <blockquote type="cite"> <div>Hi Pierre,</div> <div> </div> <div>just to let you know, I have tried last night's build and now the workaround does not work anymore. The event libvlc_MediaInstanceReachedEnd is triggered twice for each play but each time the state is libvlc_Ended. I can't differiantiate between the two anymore. </div> <div> </div> <div>Jacques Boileau</div> <div> </div> <div>PS. I have done a week long test with the january 2nd build, which works pretty well for me, and everything was stable with very little memory increase over the week long test! Hooray for libvlc! The test consisted of a movie playing the video locally and streaming its audio and 7 mp3s being streamded to different ports using UDP. libvlc_MediaInstanceReachedEnd was used to detect the end of any of these and restart it. Played for the full week, no problem! <br><br></div> <div class="gmail_quote">On Jan 2, 2008 3:53 PM, Pierre d'Herbemont <<a href="mailto:pdherbemont@free.fr" target="_blank">pdherbemont@free.fr</a>> wrote:<br> <blockquote class="gmail_quote" style="PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid"> <div style="WORD-WRAP: break-word"> <div>Hi Jacques,</div> <div><br></div>Well, that's a work around because some demuxer announce the end by an ERROR_S state. Obviously this is wrong, but I didn't take the time to investigate more on that. I think it will stay like that a bit more until I take the time to fix that, <div><br></div> <div>Thanks for the report!<br> <div><br></div> <div>Pierre.</div> <div><br> <div> <div> <div></div> <div> <div>On Jan 2, 2008, at 8:47 PM, jboileau wrote:</div><br></div></div> <blockquote type="cite"> <div> <div></div> <div> <div>Hi,</div> <div> </div> <div>I have playing with the latest build and found a small problem with the <font size="2">libvlc_MediaInstanceReachedEnd event. It is called twice after each play. The first time the state is at libvlc_Ended the second time the state is at libvlc_Error. This makes it easy to differentiate between the two, but I guess this is not the way things where intended. </font><br clear="all"><br>Jacques Boileau </div></div></div>_______________________________________________<br>vlc-devel mailing list<br>To unsubscribe or modify your subscription options:<br><a href="http://mailman.videolan.org/listinfo/vlc-devel" target="_blank"> http://mailman.videolan.org/listinfo/vlc-devel</a><br></blockquote></div><br></div></div></div><br>_______________________________________________<br>vlc-devel mailing list<br>To unsubscribe or modify your subscription options: <br><a href="http://mailman.videolan.org/listinfo/vlc-devel" target="_blank">http://mailman.videolan.org/listinfo/vlc-devel</a><br><br></blockquote></div><br><br clear="all"><br>-- <br>Jacques Boileau _______________________________________________ <br>vlc-devel mailing list<br>To unsubscribe or modify your subscription options:<br><a href="http://mailman.videolan.org/listinfo/vlc-devel" target="_blank">http://mailman.videolan.org/listinfo/vlc-devel</a><br></blockquote> </div><br></div></div></div><br>_______________________________________________<br>vlc-devel mailing list<br>To unsubscribe or modify your subscription options:<br><a href="http://mailman.videolan.org/listinfo/vlc-devel" target="_blank"> http://mailman.videolan.org/listinfo/vlc-devel</a><br><br></blockquote></div><br><br clear="all"><br>-- <br>Jacques Boileau _______________________________________________<br>vlc-devel mailing list<br>To unsubscribe or modify your subscription options:<br><a href="http://mailman.videolan.org/listinfo/vlc-devel">http://mailman.videolan.org/listinfo/vlc-devel</a><br></blockquote></div><br></div></body></html>