import org.videolan.jvlc.internal.LibVlc;
import org.videolan.jvlc.internal.LibVlc.LibVlcEventManager;
-import org.videolan.jvlc.internal.LibVlc.LibVlcMediaDescriptor;
+import org.videolan.jvlc.internal.LibVlc.LibVlcMedia;
import org.videolan.jvlc.internal.LibVlc.libvlc_exception_t;
public class MediaDescriptor
{
- private LibVlcMediaDescriptor instance;
+ private LibVlcMedia instance;
private LibVlc libvlc;
private LibVlcEventManager eventManager;
- private boolean released;
+ private volatile boolean released;
+
+ private MediaPlayer mediaPlayer;
/**
* @param jvlc The jvlc instance to create the media descriptor for.
eventManager = libvlc.libvlc_media_event_manager(instance, exception);
}
- MediaDescriptor(JVLC jvlc, LibVlcMediaDescriptor instance)
+ MediaDescriptor(JVLC jvlc, LibVlcMedia instance)
{
libvlc_exception_t exception = new libvlc_exception_t();
libvlc = jvlc.getLibvlc();
public String getMrl()
{
- return libvlc.libvlc_media_get_mrl(instance);
+ libvlc_exception_t exception = new libvlc_exception_t();
+ return libvlc.libvlc_media_get_mrl(instance, exception);
}
- public MediaInstance getMediaInstance()
+ public MediaPlayer getMediaPlayer()
{
- return new MediaInstance(this);
+ if (mediaPlayer == null)
+ {
+ this.mediaPlayer = new MediaPlayer(this);
+ }
+ return this.mediaPlayer;
}
/**
* Returns the instance.
* @return the instance
*/
- LibVlcMediaDescriptor getInstance()
+ LibVlcMedia getInstance()
{
return instance;
}