private VLM vlm;
- private volatile boolean released;
+ private volatile boolean released;
public JVLC()
{
this(args.split(" "));
}
+ /*
+ * Core methods
+ */
+ private LibVlcInstance createInstance(String[] args)
+ {
+ libvlc_exception_t exception = new libvlc_exception_t();
+ return libvlc.libvlc_new(args.length, args, exception);
+ }
+
public MediaInstance play(String media)
{
MediaDescriptor mediaDescriptor = new MediaDescriptor(this, media);
MediaInstance mediaInstance = new MediaInstance(mediaDescriptor);
mediaInstance.play();
+ mediaDescriptor.release();
return mediaInstance;
}
libvlc.libvlc_video_set_parent(instance, drawable, exception );
}
- /*
- * Core methods
- */
- private LibVlcInstance createInstance(String[] args)
- {
- libvlc_exception_t exception = new libvlc_exception_t();
- libvlc.libvlc_exception_init(exception);
-
- return libvlc.libvlc_new(args.length, args, exception);
- }
-
public Logger getLogger()
{
return new Logger(this);
}
+ /**
+ * Returns the mediaList.
+ * @return the mediaList
+ */
+ public MediaList getMediaList()
+ {
+ return mediaList;
+ }
+
public VLM getVLM()
{
if (vlm != null)
*/
public void release()
{
- if (!released)
+ if (released)
{
- released = true;
- if (vlm != null)
- {
- vlm.release();
- vlm = null;
- }
- libvlc.libvlc_release(instance);
+ return;
}
+ released = true;
+ if (vlm != null)
+ {
+ vlm.release();
+ vlm = null;
+ }
+ libvlc.libvlc_release(instance);
}
/*
@Override
protected void finalize() throws Throwable
{
- if (!released)
- {
- released = true;
- libvlc.libvlc_release(instance);
- }
+ release();
super.finalize();
}
- /**
- * Returns the mediaList.
- * @return the mediaList
- */
- public MediaList getMediaList()
- {
- return mediaList;
- }
-
}