Commit 88ff21f1 authored by Filippo Carone's avatar Filippo Carone

VLM class almost done

parent d6339e0b
...@@ -46,6 +46,8 @@ public class JVLC ...@@ -46,6 +46,8 @@ public class JVLC
private MediaList mediaList; private MediaList mediaList;
private VLM vlm;
private volatile boolean released; private volatile boolean released;
public JVLC() public JVLC()
...@@ -96,6 +98,16 @@ public class JVLC ...@@ -96,6 +98,16 @@ public class JVLC
return new Logger(this); return new Logger(this);
} }
public VLM getVLM()
{
if (vlm != null)
{
vlm.release();
}
this.vlm = new VLM(this);
return vlm;
}
public LoggerVerbosityLevel getLogVerbosity() public LoggerVerbosityLevel getLogVerbosity()
{ {
libvlc_exception_t exception = new libvlc_exception_t(); libvlc_exception_t exception = new libvlc_exception_t();
...@@ -136,6 +148,11 @@ public class JVLC ...@@ -136,6 +148,11 @@ public class JVLC
if (!released) if (!released)
{ {
released = true; released = true;
if (vlm != null)
{
vlm.release();
vlm = null;
}
libvlc.libvlc_release(instance); libvlc.libvlc_release(instance);
} }
} }
......
...@@ -30,7 +30,6 @@ import org.videolan.jvlc.internal.LibVlc.libvlc_exception_t; ...@@ -30,7 +30,6 @@ import org.videolan.jvlc.internal.LibVlc.libvlc_exception_t;
public class VLM public class VLM
{ {
private JVLC jvlc; private JVLC jvlc;
public VLM(JVLC jvlc) public VLM(JVLC jvlc)
...@@ -140,5 +139,14 @@ public class VLM ...@@ -140,5 +139,14 @@ public class VLM
jvlc.getLibvlc().libvlc_vlm_show_media(jvlc.getInstance(), name, exception); jvlc.getLibvlc().libvlc_vlm_show_media(jvlc.getInstance(), name, exception);
} }
/**
*
*/
public void release()
{
libvlc_exception_t exception = new libvlc_exception_t();
jvlc.getLibvlc().libvlc_vlm_release(jvlc.getInstance(), exception);
}
} }
...@@ -529,6 +529,8 @@ public interface LibVlc extends Library ...@@ -529,6 +529,8 @@ public interface LibVlc extends Library
String libvlc_vlm_show_media(LibVlcInstance p_instance, String psz_name, libvlc_exception_t p_e); String libvlc_vlm_show_media(LibVlcInstance p_instance, String psz_name, libvlc_exception_t p_e);
void libvlc_vlm_release(LibVlcInstance p_instance, libvlc_exception_t p_e);
// event manager // event manager
public static interface LibVlcCallback extends Callback public static interface LibVlcCallback extends Callback
......
/*****************************************************************************
* VLMTest.java: VLC Java Bindings
*****************************************************************************
* Copyright (C) 1998-2008 the VideoLAN team
*
* Authors: Filippo Carone <filippo@carone.org>
*
*
* $Id $
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA.
*****************************************************************************/
package org.videolan.jvlc;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
public class VLMTest
{
private JVLC jvlc;
private String mrl = getClass().getResource("/raffa_voice.ogg").getFile();
@Before
public void setup()
{
jvlc = new JVLC("-I dummy --aout=dummy --vout=dummy");
jvlc.setLogVerbosity(LoggerVerbosityLevel.INFO);
}
@After
public void tearDown()
{
jvlc.release();
}
@Test
public void testPlayMedia()
{
VLM vlm = jvlc.getVLM();
vlm.playMedia(mrl);
}
}
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