Commit 4e4171f1 authored by Filippo Carone's avatar Filippo Carone

Use playlist loop libvlc facility

parent 62e9fa55
/*****************************************************************************
* 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
}
}
......@@ -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;
/**
* 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 playlist.
* 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);
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment