[vlc-devel] commit: jvlc: wait for correct player status before releasing libvlc ( Filippo Carone )
git version control
git at videolan.org
Thu Jul 31 23:49:42 CEST 2008
vlc | branch: master | Filippo Carone <littlejohn at videolan.org> | Thu Jul 31 23:51:33 2008 +0200| [39511f2b9c05cbefde171b0fc70ac2f45db5e972]
jvlc: wait for correct player status before releasing libvlc
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=39511f2b9c05cbefde171b0fc70ac2f45db5e972
---
.../jvlc/internal/LibVlcMediaPlayerTest.java | 1 +
.../jvlc/internal/MediaListPlayerTest.java | 32 ++++++++++++++++++++
2 files changed, 33 insertions(+), 0 deletions(-)
diff --git a/bindings/java/core/src/test/java/org/videolan/jvlc/internal/LibVlcMediaPlayerTest.java b/bindings/java/core/src/test/java/org/videolan/jvlc/internal/LibVlcMediaPlayerTest.java
index bb66411..0f43356 100644
--- a/bindings/java/core/src/test/java/org/videolan/jvlc/internal/LibVlcMediaPlayerTest.java
+++ b/bindings/java/core/src/test/java/org/videolan/jvlc/internal/LibVlcMediaPlayerTest.java
@@ -106,6 +106,7 @@ public class LibVlcMediaPlayerTest extends AbstractVLCInternalTest
libvlc.libvlc_media_player_play(mi, exception);
Thread.sleep(100);
libvlc.libvlc_media_player_stop(mi, exception);
+ Thread.sleep(500);
Assert.assertEquals(0, exception.raised);
}
diff --git a/bindings/java/core/src/test/java/org/videolan/jvlc/internal/MediaListPlayerTest.java b/bindings/java/core/src/test/java/org/videolan/jvlc/internal/MediaListPlayerTest.java
index 8a6b0f3..bad8138 100644
--- a/bindings/java/core/src/test/java/org/videolan/jvlc/internal/MediaListPlayerTest.java
+++ b/bindings/java/core/src/test/java/org/videolan/jvlc/internal/MediaListPlayerTest.java
@@ -27,6 +27,7 @@ package org.videolan.jvlc.internal;
import junit.framework.Assert;
+import org.junit.After;
import org.junit.Test;
import org.videolan.jvlc.internal.LibVlc.LibVlcMediaDescriptor;
import org.videolan.jvlc.internal.LibVlc.LibVlcMediaInstance;
@@ -38,6 +39,8 @@ import org.videolan.jvlc.internal.LibVlc.libvlc_exception_t;
public class MediaListPlayerTest extends AbstractVLCInternalTest
{
+ private LibVlcMediaListPlayer current;
+
@Test
public void mediaListPlayerNewTest()
{
@@ -103,6 +106,7 @@ public class MediaListPlayerTest extends AbstractVLCInternalTest
{
libvlc_exception_t exception = new libvlc_exception_t();
LibVlcMediaListPlayer mediaListPlayer = libvlc.libvlc_media_list_player_new(libvlcInstance, exception);
+ current = mediaListPlayer;
LibVlcMediaList mediaList = libvlc.libvlc_media_list_new(libvlcInstance, exception);
LibVlcMediaDescriptor mediaDescriptor = libvlc.libvlc_media_new(libvlcInstance, mrl, exception);
libvlc.libvlc_media_list_add_media(mediaList, mediaDescriptor, exception);
@@ -138,6 +142,11 @@ public class MediaListPlayerTest extends AbstractVLCInternalTest
Thread.sleep(150);
}
libvlc.libvlc_media_list_player_stop(mediaListPlayer, exception);
+ while (libvlc.libvlc_media_list_player_get_state(mediaListPlayer, exception) != LibVlcState.libvlc_Ended
+ .ordinal())
+ {
+ Thread.sleep(100);
+ }
libvlc.libvlc_media_release(mediaDescriptor);
libvlc.libvlc_media_list_release(mediaList);
libvlc.libvlc_media_list_player_release(mediaListPlayer);
@@ -298,4 +307,27 @@ public class MediaListPlayerTest extends AbstractVLCInternalTest
libvlc.libvlc_media_list_release(mediaList);
}
+ @Override
+ @After
+ public void tearDown()
+ {
+ if (current != null)
+ {
+ libvlc.libvlc_media_list_player_stop(current, exception);
+ while (libvlc.libvlc_media_list_player_get_state(current, exception) != LibVlcState.libvlc_Ended.ordinal())
+ {
+ try
+ {
+ Thread.sleep(100);
+ }
+ catch (InterruptedException e)
+ {
+ //
+ }
+ }
+ }
+ current = null;
+ super.tearDown();
+ }
+
}
More information about the vlc-devel
mailing list