From: Filippo Carone Date: Sun, 15 Oct 2006 10:54:15 +0000 (+0000) Subject: Use playlist loop libvlc facility X-Git-Tag: 0.9.0-test0~9955 X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=4e4171f1ae1f088029fd5635ec5ad81f9331e4e3;p=vlc Use playlist loop libvlc facility --- diff --git a/bindings/java/org/videolan/jvlc/Playlist.java b/bindings/java/org/videolan/jvlc/Playlist.java index 0d007efbe7..82626433ac 100644 --- a/bindings/java/org/videolan/jvlc/Playlist.java +++ b/bindings/java/org/videolan/jvlc/Playlist.java @@ -1,5 +1,5 @@ /***************************************************************************** - * PlaylistIntf.java: The playlist interface + * Playlist.java: PlaylistIntf implementation class ***************************************************************************** * * Copyright (C) 1998-2006 the VideoLAN team @@ -49,7 +49,7 @@ public class Playlist implements PlaylistIntf { native private int _itemsCount(); native private int _isRunning(); - + native private void _setLoop(boolean loop); public synchronized void play(int id, String[] options) throws VLCException { @@ -66,7 +66,13 @@ public class Playlist implements PlaylistIntf { public synchronized void stop() throws VLCException { _stop(); - +// do { +// try { +// Thread.sleep(50); +// } catch (InterruptedException e) { +// e.printStackTrace(); +// } +// } while (isRunning()); } public boolean isRunning() throws VLCException { @@ -108,7 +114,16 @@ public class Playlist implements PlaylistIntf { _deleteItem(itemID); } + public synchronized void setLoop(boolean loop) { + _setLoop(loop); + } + public long getInstance() throws VLCException { return libvlcInstance; } + + public void setPause(boolean pause) throws VLCException { + // TODO Auto-generated method stub + } + } diff --git a/bindings/java/org/videolan/jvlc/PlaylistIntf.java b/bindings/java/org/videolan/jvlc/PlaylistIntf.java index cd45cb8b4f..46dad0339c 100644 --- a/bindings/java/org/videolan/jvlc/PlaylistIntf.java +++ b/bindings/java/org/videolan/jvlc/PlaylistIntf.java @@ -30,14 +30,17 @@ package org.videolan.jvlc; public interface PlaylistIntf { - /** + + /** + * Plays the item specified in id, with options. At the moment options + * has no effect and can be safely set to null. * @param id The ID to play - * @param options Options to play the item withs + * @param options Options to play the item with */ void play(int id, String[] options) throws VLCException; /** - * Plays the current item + * Plays the current item in the playlist. */ void play() throws VLCException; @@ -46,38 +49,59 @@ public interface PlaylistIntf { */ void togglePause() throws VLCException; + /** - * Stops the playlist. + * Pauses the currently playing item if pause value is true. Plays it + * otherwise. If you set pause to true and the current item is already + * playing, this has no effect. + * + * @param pause + * @throws VLCException + */ + void setPause(boolean pause) throws VLCException; + + /** + * Stops the currently playing item. Differently from pause, stopping + * an item destroys any information related to the item. */ void stop() throws VLCException; /** - * @return True if playlist is not stopped + * This function returns true if the current item has not been stopped. + * @return True if the current item has not been stopped */ boolean isRunning() throws VLCException; /** + * TODO: this should return the number of items added with add, with no + * respect to videolan internal playlist. + * + * Returns the number of items in the playlist. Beware that this number + * could be bigger than the number of times add() has been called. + * * @return Current number of items in the playlist */ int itemsCount() throws VLCException; /** - * Move to next item + * Move to next item in the playlist and play it. */ void next() throws VLCException; /** - * Move to previous item + * Move to previous item in the playlist and play it. */ void prev() throws VLCException; /** - * Clear the playlist + * Clear the playlist which becomes empty after this call. */ void clear() throws VLCException; /** - * Add a new item in the playlist + * TODO: document the kind of items that can be added. + * Add a new item in the playlist. + * * @param uri Location of the item * @param name Name of the item * @return The item ID @@ -89,5 +113,8 @@ public interface PlaylistIntf { */ void addExtended(); - + /** + * @param loop + */ + void setLoop(boolean loop); }