Hello,
I am using VLC0.9.8a (vlc-0.9.8a-1.el5.rf.i386.rpm) with JVLC0.9.0 (jvlc-core-0.9.0-SNAPSHOT-20080727).
To launch my application, I added the following argument in VM: -Djna.library.path=/usr/lib
I use the following API of JVLC to synchronize two videos and an audio with the method "MediaPlayer.setTime(...)":
org.videolan.jvlc.JVLC
org.videolan.jvlc.MediaDescriptor
org.videolan.jvlc.MediaPlayer
org.videolan.jvlc.event.MediaPlayerListener
In my application, when I read only one video, it is OK.
However, when I read two videos in same time (in creating two instances of JVLC), I have some problems...
My traces are:
[00000001] main libvlc debug: VLC media player - version 0.9.8a Grishenko - (c) 1996-2008 the VideoLAN team
[00000001] main libvlc debug: libvlc was configured with ./configure '--build=i686-redhat-linux-gnu' '--host=i686-redhat-linux-gnu' '--target=i386-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--disable-dependency-tracking' '--disable-rpath' '--disable-static' '--with-PIC' '--enable-release' '--enable-aa' '--enable-alsa' '--enable-arts' '--enable-caca' '--enable-cddax' '--enable-dirac' '--enable-dvbpsi' '--enable-dvdread' '--enable-esd' '--enable-faad' '--enable-fbosd' '--enable-ffmpeg' '--with-ffmpeg-tree=ffmpeg-20080225' '--with-ffmpeg-a52' '--with-ffmpeg-faac' '--with-ffmpeg-mp3lame' '--enable-libamr-nb' '--enable-libamr-wb' '--with-ffmpeg-ogg' '--with-ffmpeg-theora' '--with-ffmpeg-vorbis' '--with--ffmpeg-zlib' '--enable-flac' '--enable-galaktos' '--enable-gnomevfs' '--enable-lirc' '--enable-live555' '--with-live555-tree=/dar/build/vlc-0.9.8a/live' '--enable-loader' '--enable-musicbrainz' '--enable-ncurses' '--enable-opencv' '--enable-pulse' '--enable-pvr' '--enable-real' '--enable-realrtsp' '--enable-shout' '--enable-snapshot' '--enable-svg' '--enable-svgalib' '--enable-switcher' '--enable-twolame' '--enable-upnp' '--enable-v4l' '--enable-xosd' '--enable-xvmc' 'build_alias=i686-redhat-linux-gnu' 'host_alias=i686-redhat-linux-gnu' 'target_alias=i386-redhat-linux-gnu' 'CFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables' 'LDFLAGS=-L/usr/X11R6/lib' 'CXXFLAGS=-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables' 'PKG_CONFIG_PATH=/usr/lib/pkgconfig:/usr/share/pkgconfig'
[00000001] main libvlc debug: translation test: code is "C"
[00000001] main libvlc debug: checking builtin modules
[00000001] main libvlc debug: checking plugin modules
[00000001] main libvlc debug: loading plugins cache file /home/pfs/.cache/vlc/plugins-04041e.dat
[00000001] main libvlc debug: recursively browsing `/usr/lib/vlc'
[00000001] main libvlc warning: cannot load module `/usr/lib/vlc/video_filter/libswscale_plugin.so' (/usr/lib/vlc/video_filter/libswscale_plugin.so: undefined symbol: sws_freeFilter)
[00000001] main libvlc debug: module bank initialized, found 288 modules
[00000001] main libvlc debug: opening config file (/home/pfs/.config/vlc/vlcrc)
[00000001] main libvlc debug: CPU has capabilities 486 586 MMX MMXEXT SSE SSE2 FPU
[00000001] main libvlc debug: looking for memcpy module: 3 candidates
[00000001] main libvlc debug: using memcpy module "memcpymmxext"
[00000383] main interaction debug: thread 3033717648 (Interaction control) created at priority 0 (interface/interaction.c:382)
[00000385] main input debug: Creating an input for 'Media Library'
[00000383] main interaction debug: thread started
[00000385] main input debug: Input is a meta file: disabling unneeded options
[00000385] main input debug: `file/xspf-open:///home/pfs/.local/share/vlc/ml.xspf' gives access `file' demux `xspf-open' path `/home/pfs/.local/share/vlc/ml.xspf'
[00000385] main input debug: creating access 'file' path='/home/pfs/.local/share/vlc/ml.xspf'
[00000386] main access debug: looking for access module: 3 candidates
[00000386] access_file access debug: opening file `/home/pfs/.local/share/vlc/ml.xspf'
[00000386] main access debug: using access module "access_file"
[00000386] main access debug: TIMER module_Need() : 2.145 ms - Total 2.145 ms / 1 intvls (Avg 2.145 ms)
[00000391] main stream debug: Using AStream*Stream
[00000391] main stream debug: pre-buffering...
[00000391] main stream debug: received first data for our buffer
[00000385] main input debug: creating demux: access='file' demux='xspf-open' path='/home/pfs/.local/share/vlc/ml.xspf'
[00000392] main demux debug: looking for demux module: 1 candidate
[00000392] playlist demux debug: using XSPF playlist reader
[00000392] main demux debug: using demux module "playlist"
[00000392] main demux debug: TIMER module_Need() : 0.891 ms - Total 0.891 ms / 1 intvls (Avg 0.891 ms)
[00000385] main input debug: `file/xspf-open:///home/pfs/.local/share/vlc/ml.xspf' successfully opened
[00000407] main xml debug: looking for xml module: 2 candidates
[00000407] main xml debug: using xml module "xml"
[00000407] main xml debug: TIMER module_Need() : 1.328 ms - Total 1.328 ms / 1 intvls (Avg 1.328 ms)
[00000392] playlist demux debug: parsed 0 tracks successfully
[00000407] main xml debug: removing module "xml"
[00000385] main input debug: EOF reached
[00000385] main input debug: control type=1
[00000392] main demux debug: removing module "playlist"
[00000386] main access debug: removing module "access_file"
[00000385] main input debug: TIMER input launching for 'Media Library' : 8.579 ms - Total 8.579 ms / 1 intvls (Avg 8.579 ms)
[00000409] main preparser debug: waiting for thread initialization
[00000409] main preparser debug: thread started
[00000409] main preparser debug: thread 3023215504 (preparser) created at priority 0 (playlist/thread.c:79)
[00000410] main fetcher debug: waiting for thread initialization
[00000410] main fetcher debug: thread started
[00000410] main fetcher debug: thread 3009158032 (fetcher) created at priority 0 (playlist/thread.c:108)
[00000384] main playlist debug: waiting for thread initialization
[00000384] main playlist debug: thread started
[00000384] main playlist debug: rebuilding array of current - root Playlist
[00000384] main playlist debug: rebuild done - 0 items, index -1
[00000384] main playlist debug: thread 2998668176 (playlist) created at priority 0 (playlist/thread.c:117)
[00000411] main interface debug: looking for interface module: 1 candidate
[00000411] main interface debug: using interface module "hotkeys"
[00000411] main interface debug: TIMER module_Need() : 0.589 ms - Total 0.589 ms / 1 intvls (Avg 0.589 ms)
[00000411] main interface debug: thread 2988178320 (interface) created at priority 0 (interface/interface.c:168)
[00000413] main interface debug: looking for interface module: 1 candidate
[00000411] main interface debug: thread started
[00000413] inhibit interface error: Failed to connect to the D-Bus session daemon: Failed to execute dbus-launch to autolaunch D-Bus session
[00000413] main interface warning: no interface module matching "inhibit,none" could be loaded
[00000413] main interface debug: TIMER module_Need() : 8.001 ms - Total 8.001 ms / 1 intvls (Avg 8.001 ms)
[00000413] main interface error: no suitable interface module
[00000001] main libvlc error: interface "inhibit,none" initialization failed
[00000415] main interface debug: looking for interface module: 1 candidate
[00000415] main interface debug: using interface module "screensaver"
[00000415] main interface debug: TIMER module_Need() : 1.222 ms - Total 1.222 ms / 1 intvls (Avg 1.222 ms)
[00000415] main interface debug: thread 2977688464 (interface) created at priority 0 (interface/interface.c:168)
[00000415] main interface debug: thread started
[00000415] screensaver interface warning: failed to connect to the D-BUS daemon: Failed to execute dbus-launch to autolaunch D-Bus session
[00000441] main interface warning: no interface module matching "inhibit,none" could be loaded
[00000441] main interface debug: TIMER module_Need() : 7.107 ms - Total 7.107 ms / 1 intvls (Avg 7.107 ms)
[00000441] main interface error: no suitable interface module
[00000430] main libvlc error: interface "inhibit,none" initialization failed
jVLC.setVideoOutput(canvas)
*** LibVLC Exception not handled: No active input
Set a breakpoint in 'libvlc_exception_not_handled' to debug.
jVLC.setVideoOutput(canvas) done.
jVLC.setVideoOutput(canvas)
*** LibVLC Exception not handled: No active input
Set a breakpoint in 'libvlc_exception_not_handled' to debug.
jVLC.setVideoOutput(canvas) done.
mediaPlayer.play()
mediaPlayer.play() done.
mediaPlayer.play()
mediaPlayer.play() done.
mediaPlayer.setTime(time)
mediaPlayer.setTime(time) done.
mediaPlayer.setTime(time)
mediaPlayer.setTime(time) done.
mediaPlayer.setTime(position)
mediaPlayer.setTime(position) done.
mediaPlayer.setTime(position)
mediaPlayer.setTime(position) done.
[00000513] main chroma error: Failed to create video filter2
[00000516] main chroma error: Failed to create video filter2
[00000556] main chroma error: Failed to create video filter2
[00000561] main chroma error: Failed to create video filter2
[00000567] freetype spu text error: failed to load font file /usr/share/fonts/truetype/freefont/FreeSerifBold.ttf
[00000570] freetype spu text error: failed to load font file /usr/share/fonts/truetype/freefont/FreeSerifBold.ttf
(process:26841): GLib-GObject-WARNING **: cannot register existing type `gpointer'
GLib-GObject-ERROR **: file gvaluetypes.c: line 545 (g_value_types_init): assertion failed: (type == G_TYPE_POINTER)
aborting...
./launchIhm.sh: line 11: 26841 Aborted java -cp ${CP} -Dlog4j.configuration=${LOGGER_OPTION} -Djna.library.path=/usr/lib -Dmock=false -Xmx768m -Xms768m -jar ./lib/GALAXI_CORE.jar ${CONTAINER} ${EXPOSED}
My sources (some parts):
JVLC jVLC = new JVLC();
MediaDescriptor mediaDescriptor = new MediaDescriptor(jvlc, "file://" + file.getAbsolutePath());
MediaPlayer mediaPlayer = mediaDescriptor.getMediaPlayer();
mediaPlayer.addListener(new InternalReplayerListener());;
if (canvas != null) {
jVLC.setVideoOutput(canvas);
}
Can you provide me a new version of JVLC?
// To play a video or an audio
if (mediaPlayer != null) {
mediaPlayer.play();
try {
for (; !mediaPlayer.willPlay(); Thread.sleep(100L)) {
System.out.println("Will Play : " + mediaPlayer.willPlay());
}
}
catch(InterruptedException ie) {
}
mediaPlayer.setTime(position);
}
// To pause a video or an audio
if (mediaPlayer != null) {
mediaPlayer.pause();
}
// To stop a video or an audio
if (mediaPlayer != null) {
MediaDescriptor mediaDescriptor = mediaPlayer.getMediaDescriptor();
mediaPlayer.stop();
mediaDescriptor.release();
mediaPlayer = null;
if (jVLC != null) {
jVLC.release();
jVLC = null;
}
}
Can you help me ?
Thanks.