<div dir="ltr">Hi Keith,<br><br>Thanks for your answer. I have been analyzing the JVLC source code (specially MediaList and MediaListPlayer classes) and the problematic methods, such as MediaList.addMedia(MediaDescriptor), MediaListPlayer.play() and MediaListPlayer.next().<br>
<br><br><b>The problems:</b><br><br><b>1</b>. Once the MediaList has been created with one or more elements through either MediaList.addMedia(String) or MediaList.addMedia(MediaDescriptor) (the two methods have the same effect), when MediaListPlayer.play() is executed this message appear in the console:<br>
<br style="color: rgb(255, 0, 0); font-family: courier new,monospace;"><span style="color: rgb(255, 0, 0); font-family: courier new,monospace;">*** LibVLC Exception not handled: No more element to play</span><br style="color: rgb(255, 0, 0); font-family: courier new,monospace;">
<span style="color: rgb(255, 0, 0); font-family: courier new,monospace;">Set a breakpoint in 'libvlc_exception_not_handled' to debug.</span><br><br>Just the same message as if I try to play with an empty MediaList. Anyway, calling MediaList.size() after each MediaList.add(MediaDescriptor) execution shows a proper number corresponding the added items. I have noticed that the MediaList class has an 'items' ArrayList, which is only used for checking procedures, so the actual MediaList management is done through the Libvlc methods. In order to get it working properly it must be used the MediaListPlayer.playItem(int) and similar methods.<br>
<br><b>2</b>. Once the playlist has started to be played through MediaListPlayer.playItem(0), when the first item finishes the player stops. If I call MediaListPlayer.next() while playing the first playlist item (before it reaches its end) the application becomes blocked at this call while the item 0 continues playing till its end, so it seems that the 'next'method implementation has some problems (Maybe this method is called as well when the MediaListPlayer listeners get a 'end-reached'-like event, so that could be a connection between the errors). Anyway, the MediaListPlayer.next() method code is quite simple as it only delegates on the Libvlc C function (just as the MediaList.addMedia(MediaDescriptor), MediaList.size() and nearly all the JVLC methods):<br>
<br> <span style="font-family: courier new,monospace;">public void next()</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">    {</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">        libvlc_exception_t exception = new libvlc_exception_t();</span><br style="font-family: courier new,monospace;"><span style="font-family: courier new,monospace;">        jvlc.getLibvlc().libvlc_media_list_player_next(instance, exception);</span><br style="font-family: courier new,monospace;">
<span style="font-family: courier new,monospace;">    }</span><br><br><br><b>Conclusions:</b><br><br>a) I have checked VLC 0.9.0 test 3 as stand-alone application and managed the playlist through the GUI, added many files, jumped from one to next and previous and all works perfectly.<br>
<br>b) Using the corresponding Java bindings (the latest on JVLC website) I have created a Java Swing application which should allow creating a playlist and play it, with some additional and simple commands like clearing or jumping to next items. The source code of this simple application is attached to this email. However, some bugs have been detected as some methods doesn't work as expected.<br>
<br>c) The deprecated Playlist class has also been tested, reporting better results. Anyway, due to the deprecated status of the class, checking the new MediaList and MediaListPlayer classes behaviour was a priority in order to develop applications compliant with future VLC releases.<br>
<br>d) The JVLC of MediaList and MediaListPlayer classes seem quite simple and doesn't give any clue in order to guess which are the causes of these issues. Nearly all the code lines are based in the LibVlc object which is a JNA native library binding object, so the calls to VLC C code are made through this object.<br>
<br>e) I have taken a look at the C implementation of the related functions and, as far as I can guess how it works, it seems to be ok (obvious? xD). Anyway, this assertion is supposed to be a stupid one as, as I said in (a), I have checked the VLC application and it worked properly.<br>
<br>f) C code works fine. Java bindings not, but the conflictive methods are entirely based in the C functions. So... WHAT THE HELL CAN I DO? xDDDD. <br><br><br><br>If I could find the errors (always considering that actually they are... It could be that I don't know how to use the API properly, but this is why I asked for some help from other developers), then I could recode some JVLC parts rebuild it and get the jar library as Keith suggested, but I don't know where the errors are...<br>
<br><br>So, as always, any help would be much appreciated.<br><br>Thanks,<br>Javi<br><br><br><div class="gmail_quote">
2008/9/3 Keith Kyzivat <span dir="ltr"><<a href="mailto:kkyzivat@tripleplayint.com" target="_blank">kkyzivat@tripleplayint.com</a>></span><br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">

<div dir="ltr">Hi Javi,<div><br></div><div>I'm currently using JVLC as well, however I haven't chimed up in this conversation because I don't use the playlist functionality at all -- just the straight media player, and I manage the media choosing, loading separately in my java application.</div>


<div><br></div><div>I'm not sure if I'll have time to investigate switching over to using MediaList or Playlist (it seems to work pretty well for me as-is, however there have been some niggling things with my implementation that may eventually get me to switch, and look into MediaList -- granted, sounds like there are some bugs that need to be fixed).</div>


<div><br></div><div>Have a look at the JVLC source code, and see if you can spot the bugs -- Just <a href="http://wiki.videolan.org/GetTheSource" target="_blank">check out the VLC source with git</a>, and you'll find the Java binding code in <vlc working directory>/bindings/java .</div>


<div>To build it, install a recent JDK (1.5.x is fine, earlier might be fine even) and Apache Maven.  When it's all built, you'll have the jars, which you should be able to use with any recent 0.9.x vlc build (not sure if there are any very new changes that require you to use a latest snapshot, however I doubt it) -- no need to actually build the entire vlc sources.</div>


<div><br></div><div>The Java bindings should only take a few minutes to fetch and build.</div><div><br></div><div><br><div class="gmail_quote"><div><div></div><div>On Wed, Sep 3, 2008 at 11:52 AM, Javier Gálvez Guerrero <span dir="ltr"><<a href="mailto:javier.galvez.guerrero@gmail.com" target="_blank">javier.galvez.guerrero@gmail.com</a>></span> wrote:<br>


</div></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><div><div></div><div><div dir="ltr">Hi,<br><br>I'm trying to implement a multimedia playlist with the last JVLC API (0.9.0 test3), so I should use MediaList and
MediaListPlayer. Anyway, I've tried through many ways to create a
playlist and play it but there's no way, it only plays the first media content of the playlist. With the deprecated Playlist
class it's so easy and straight-forward and, the most important, it
works.<br><br>I was wondering if anyone got any application using successfully the
MediaList and MediaListPlayer objects. If so, how did you get it
working?<br><br>In addition, I would like to know if there is any way to know which item from the
MediaList is being played by the MediaListPlayer, getting the
MediaDescriptor instance or any other way. Moreover, I can't either see any function to play the previous item at the MediaList but I can see the function 'next()' (although it doesn't work...). <br>
<br>As said before, I'm working with VLC 0.9.0 test 3 version due to compatibility
requirements with last JVLC library, so, if these methods are
implemented in newer VLC versions, please tell me.<br><br>By the way, is going to appear a new JVLC jar library release in the next days due to the VLC 0.9.1/2 release?<br><br><br>Any help is much appreciated.<br>Thank you for your time,<br>



Javi</div>
<br></div></div>______________________________________________________<br>
vlc mailing list<br>
To unsubscribe or modify your subscription options:<br>
<a href="http://mailman.videolan.org/listinfo/vlc" target="_blank">http://mailman.videolan.org/listinfo/vlc</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br>Keith Kyzivat<br><br>SIPez LLC.<br>SIP VoIP, IM and Presence Consulting<br><a href="http://www.SIPez.com" target="_blank">http://www.SIPez.com</a><br>tel: +1 (617) 273-4000<br>


</div></div>
<br>______________________________________________________<br>
vlc mailing list<br>
To unsubscribe or modify your subscription options:<br>
<a href="http://mailman.videolan.org/listinfo/vlc" target="_blank">http://mailman.videolan.org/listinfo/vlc</a><br>
<br></blockquote></div><br></div>