JVLC status

This forum is about all development around libVLC.
NeoSyRenity
Blank Cone
Blank Cone
Posts: 43
Joined: 17 Dec 2008 20:49

JVLC status

Postby NeoSyRenity » 15 Mar 2009 15:18

Hi.

I wanted to check out JVLC, but the site seems to be down.

Also, is there any tutorial for using JVLC in a non-interactive (service) application?

Thanks.

Gangadhar
New Cone
New Cone
Posts: 3
Joined: 24 Feb 2009 16:15

Re: JVLC status

Postby Gangadhar » 22 Mar 2009 16:52

Hi,

Im facing the same issue.

Is JVLC supported by VideoLAN now? or moved to some other site?

Thanks

quorthon
Blank Cone
Blank Cone
Posts: 28
Joined: 22 Mar 2009 17:32

Re: JVLC status

Postby quorthon » 22 Mar 2009 18:07

hello

same here...would be nice to get an answer so we could decide if jvlc is useful for our project...

Kind regards,
Peter

catchmartin
New Cone
New Cone
Posts: 2
Joined: 24 Mar 2009 19:35

Re: JVLC status

Postby catchmartin » 24 Mar 2009 19:40

Same again here

Thanks.

dhirwinjr
Blank Cone
Blank Cone
Posts: 35
Joined: 14 Jan 2008 17:46
Operating System: Windows / Linux

Re: JVLC status

Postby dhirwinjr » 25 Mar 2009 02:15

I too would like to see some kind of status update. The main Wiki doesn't look like it any longer has a link to the jVLC bindings webpage.

sherington
Cone that earned his stripes
Cone that earned his stripes
Posts: 491
Joined: 10 Sep 2008 11:57
VLC version: master
Operating System: Linux

Re: JVLC status

Postby sherington » 01 Apr 2009 21:49

I persevered with JVLC for a long time in my own project but I was never completely happy with it. It seemed like it hadn't been updated for quite a while, used deprecated libvlc features, didn't bind all of the libvlc functions I needed, and it also had quite a lot of classes and implementation that I simply didn't need.

So, with that in mind I decided to produce my own cut-down Java binding to libvlc. I used the JVLC code as a model, but stripped out everything I didn't need and basically re-wrote a wholly encapsulated VideoPlayer class. I still use JNA, but my LibVlc.java has only the methods I need. All my client application needs to worry about is calling the methods in the right order.

The reason I'm writing this is to say that it's not actually all that hard or that much effort to make your own Java bindings against libvlc and you can forget about JVLC completely. You can obviously tailor your own bindings to your particular need.

It is possible to create a working video player component quite easily using only a subset of the functions in libvlc.

In case anyone is interested in what I did to get rid of JVLC and create my own bindings I'll post some more details in subsequent posts. Such information would have been useful to me when I started out on my own project so I hope someone else can get some benefit from what I did.

sherington
Cone that earned his stripes
Cone that earned his stripes
Posts: 491
Joined: 10 Sep 2008 11:57
VLC version: master
Operating System: Linux

Re: JVLC status

Postby sherington » 01 Apr 2009 21:57

My video player component is built using only these functions (see below) in my own LibVlc.java.

Note that the JVLC source code did NOT include all of these methods. I looked in /usr/local/include/vlc/libvlc.h for the functions that I needed, and create the appropriate methods in LibVlc.java. It's quite easy to convert from the "C" method signatures to the Java versions as there are plenty of examples already in LibVlc.java.

So, here are ALL of the methods I need in my own LibVlc.java:

Code: Select all

LibVlcInstance libvlc_new(int argc, String[] argv, libvlc_exception_t exception); void libvlc_release(LibVlcInstance instance); void libvlc_media_player_set_drawable(LibVlcMediaInstance mediaInstance, int drawable, libvlc_exception_t exception); void libvlc_media_player_play(LibVlcMediaInstance mediaInstance, libvlc_exception_t exception); void libvlc_media_player_stop(LibVlcMediaInstance mediaInstance, libvlc_exception_t exception); void libvlc_media_player_pause(LibVlcMediaInstance mediaInstance, libvlc_exception_t exception); void libvlc_audio_toggle_mute(LibVlcInstance instance, libvlc_exception_t exception); void libvlc_audio_set_mute(LibVlcInstance instance, int mute, libvlc_exception_t exception); int libvlc_audio_get_mute(LibVlcInstance instance, libvlc_exception_t exception); int libvlc_audio_get_volume(LibVlcInstance instance, libvlc_exception_t exception); int libvlc_audio_set_volume(LibVlcInstance instance, int volume, libvlc_exception_t exception); int libvlc_media_player_get_chapter_count(LibVlcMediaInstance mediaInstance, libvlc_exception_t exception); void libvlc_media_player_set_chapter(LibVlcMediaInstance mediaInstance, int chapter, libvlc_exception_t exception); int libvlc_media_player_get_chapter(LibVlcMediaInstance mediaInstance, libvlc_exception_t exception); LibVlcMediaInstance libvlc_media_player_new(LibVlcInstance instance, libvlc_exception_t exception); LibVlcMediaInstance libvlc_media_player_new_from_media(LibVlcMediaDescriptor mediaDescriptor, libvlc_exception_t exception); void libvlc_media_player_release(LibVlcMediaInstance instance); LibVlcMediaDescriptor libvlc_media_new(LibVlcInstance instance, String mrl, libvlc_exception_t exception); void libvlc_media_add_option(LibVlcMediaDescriptor mediaDescriptor, String option, libvlc_exception_t exception); void libvlc_media_player_set_media(LibVlcMediaInstance mediaInstance, LibVlcMediaDescriptor mediaDescriptor, libvlc_exception_t exception); void libvlc_media_release(LibVlcMediaDescriptor mediaDescriptor); LibVlcEventManager libvlc_media_player_event_manager(LibVlcMediaInstance mediaInstance, libvlc_exception_t exception); void libvlc_event_attach(LibVlcEventManager eventManager, int eventType, LibVlcCallback callback, Pointer userData, libvlc_exception_t exception); void libvlc_event_detach(LibVlcEventManager eventManager, int eventType, LibVlcCallback callback, Pointer userData, libvlc_exception_t exception);
With only these methods, I can:
  • Embed a video player in my Java application;
  • Control volume, mute;
  • Add basic controls like play/stop/pause;
  • Listen for events (like playing, stopped, paused);
  • Perform DVD chapter navigation (next chapter, previous chapter, go to chapter etc).
I do NOT use libvlc for any sort of playlist management - I find it a lot easier to manage the playlist in Java, and only use libvlc for the video playback itself. You can use a listener to listen for the end of a video and then play the next item in your own playlist implementation yourself.

sherington
Cone that earned his stripes
Cone that earned his stripes
Posts: 491
Joined: 10 Sep 2008 11:57
VLC version: master
Operating System: Linux

Re: JVLC status

Postby sherington » 01 Apr 2009 22:10

I have a rich client Swing media player application that uses my own libvlc bindings as described in earlier posts.

Before I had that, I created a very simple Java client application that used my libvlc Java bindings. This was basically a conversion of the "C" application that I found on the VideoLan WIKI somewhere.

Here's that test class (I didn't include the imports):

Code: Select all

public class RawTest { public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { try { new RawTest().start(); } catch(Exception e) { e.printStackTrace(); System.exit(1); } } }); } Frame f; Canvas c; LibVlc libvlc; String[] vlc_args = {"-I", "dummy", "--ignore-config"}; public void start() throws Exception { c = new Canvas(); f = new Frame(); f.setBounds(100, 100, 800, 500); f.setLayout(new BorderLayout()); f.add(c, BorderLayout.CENTER); f.setVisible(true); rawTest(); } public void rawTest() throws Exception { libvlc = LibVlc.SYNC_INSTANCE; libvlc_exception_t ex = new libvlc_exception_t(); LibVlcInstance inst; LibVlcMediaInstance mp; LibVlcMediaDescriptor m; inst = libvlc.libvlc_new(vlc_args.length, vlc_args, ex); raise(ex); m = libvlc.libvlc_media_new(inst, "dvd:///data/dvd/SomeTitle.iso", ex); raise(ex); mp = libvlc.libvlc_media_player_new_from_media(m, ex); raise(ex); libvlc.libvlc_media_release(m); long drawable = Native.getComponentID(c); libvlc.libvlc_media_player_set_drawable(mp, (int)drawable, ex); // <--- WATCH OUT (see below) raise(ex); libvlc.libvlc_media_player_play(mp, ex); raise(ex); Thread.sleep(10000); libvlc.libvlc_media_player_stop(mp, ex); libvlc.libvlc_media_player_release(mp); libvlc.libvlc_release(inst); raise(ex); } private void raise(libvlc_exception_t ex) { if(ex.raised != 0) { System.out.println(ex.code); System.out.println(ex.message); System.exit(1); } } }
I use this test class as my base-line. It works flawlessly, with no errors or warnings reported to the console. The playback works reliably, and the video appears in my own Canvas component rather than opening it's own window. I don't see any hard failures in the JVM.

Some crucial points of note:
  • Look at the vlc_args array - if I don't specify those args, I don't get video embedded in my own Canvas;
  • On the set drawable function, the drawable parameter must be cast to an int from a long - this obviously is a potential problem - apparently this is a know bug with the libvlc api and will be fixed for 1.0.
There is another sequence of calls that will work if you want to re-use a media player instance for multiple videos rather than creating a new media player each time, something like:

Code: Select all

libvlc_exception_t exception = new libvlc_exception_t(); LibVlcMediaDescriptor mediaDescriptor = libvlc.libvlc_media_new(instance, media, exception); checkException(exception); libvlc.libvlc_media_add_option(mediaDescriptor, output, exception); checkException(exception); libvlc.libvlc_media_player_set_media(mediaPlayerInstance, mediaDescriptor, exception); checkException(exception); libvlc.libvlc_media_release(mediaDescriptor);

sherington
Cone that earned his stripes
Cone that earned his stripes
Posts: 491
Joined: 10 Sep 2008 11:57
VLC version: master
Operating System: Linux

Re: JVLC status

Postby sherington » 01 Apr 2009 22:24

For my actual video player implementation, as stated in an earlier post I have a wholly encapsulated video player class - it's a single class that encapsulates all of the behaviour I need - playback controls, volume controls, setting media and so on. The existing JVLC has a lot of classes like Audio.java and Video.java that I simply didn't need so I was able to simplify my implementation a lot by getting rid of all of that stuff - one class.

The usage looks like this:

Code: Select all

VideoPlayer vp = new VlcVideoPlayer(vlc_args); vp.setVideoSurface(c); <--- "c" is a Canvas vp.playMedia("dvd:///data/dvd/SomeTitle.iso");
There are only something like 500 lines in the video player Java implementation class, and a fair proportion of those are comments.

In case you're interested in what I managed to achieve with Java and libvlc, I have a Java rich client and a Java server network streaming project. The Java client has a custom user interface and embeds a VLC video player. The client provides a menu of the videos available on the network and allows you to choose one for playback. On selection, a request is sent to a remote network service to begin streaming the selected video to the client. All playback requests, such as pause, next chapter and so on, are sent from the client to the remote server for processing. I also integrated JLIRC for infra-red remote control. This all works with multiple clients too.

sherington
Cone that earned his stripes
Cone that earned his stripes
Posts: 491
Joined: 10 Sep 2008 11:57
VLC version: master
Operating System: Linux

Re: JVLC status

Postby sherington » 01 Apr 2009 22:32

A few other things.

First,

I wanted my own Canvas to exclusively manage keyboard input.

Well, vlc adds it's own keyboard (and mouse) bindings (e.g. to set volume, or toggle full-screen mode), which I did not want. So I had to do a custom build of vlc that removed vlc's keyboard bindings. This was actually quite simple under Ubuntu after making sure all of the vlc build dependencies are installed, I just commented out the code that handled keyboard/mouse input and did a full rebuild.

Second,

I just couldn't get streaming subtitles to work reliably. But that's a whole other story (posted elsewhere on this forum). I own a lot of foreign language movies so I need to get that working if possible.

Finally...

Well, I hope this series of posts helps someone out. I spent a LOT of time and effort integrating Java with vlc for my own project and I would have really appreciated it if someone else had posted information like the above to give me a head start.

I hope I've shown that you do NOT need to rely on JVLC to achieve something on a similar project. I'm not knocking JVLC and my work is based on it, it just seemed to have stopped development and didn't deliver exactly what I needed.

svensson
New Cone
New Cone
Posts: 3
Joined: 28 Mar 2009 16:43

Re: JVLC status

Postby svensson » 02 Apr 2009 09:15

hey sherington.

thanks for your knowledge. pretty cool stuff you've done. i'm interested in more details of the following:
The client provides a menu of the videos available on the network and allows you to choose one for playback. On selection, a request is sent to a remote network service to begin streaming the selected video to the client. All playback requests, such as pause, next chapter and so on, are sent from the client to the remote server for processing. I also integrated JLIRC for infra-red remote control. This all works with multiple clients too.
- what's that for a network service? might you have used the telnet interface of vlc (default port 4212) for setting up the stream and start playing it?

another question:
- is it possible to build a unique "vlcplayer.jar" which can run under different operating systems, e.g. linux and windows where no vlc is installed. there are different libraries available, logically. but have they somehow to be installed/registered?

thanks.

sherington
Cone that earned his stripes
Cone that earned his stripes
Posts: 491
Joined: 10 Sep 2008 11:57
VLC version: master
Operating System: Linux

Re: JVLC status

Postby sherington » 02 Apr 2009 12:49

- what's that for a network service? might you have used the telnet interface of vlc (default port 4212) for setting up the stream and start playing it?
I don't use any of vlc's control interfaces.

My service has a streaming video player component that can play/stop/pause/skip chapters and so forth. This means all of my control can be done in Java on the server side. Once you have that, you can use any sort of client/server interface from the client to control the service.

I happen to use an embedded HTTP server (Jetty) on the server, with a servlet that responds to client HTTP requests such as "/play/somemovie.iso" and "/chapter/3". The server maintains state (e.g. a video player instance) for each client.

My client uses HttpClient (from Apache) to make the calls. I use dynamic service discovery for the clients to locate the media server.

You could use Restlet, JMS, EJB, RMI or any remoting technology you can think of.

The key thing is that I only use libvlc for the media player itself. Everything else is done in pure Java, including the control interface.

I can't help with your other question, I only target Linux and rely on vlc being correctly installed.

Gangadhar
New Cone
New Cone
Posts: 3
Joined: 24 Feb 2009 16:15

Re: JVLC status

Postby Gangadhar » 13 Apr 2009 16:26

Hi Sherington,

Thanks for your posts, now I have started testing like this.

I wanted to clarify one JVLC issue with you. When I have created several JVLC instances (possibly more than 10) in my application (everyone attached to a listener), my JVM crashes. Could you please perform a test in your application like this and post your result, if your application is working in this scenario, I will have some hope.

Thanks & Regards,
Gangadhar

coolmak
New Cone
New Cone
Posts: 5
Joined: 14 Apr 2009 11:06

Re: JVLC status

Postby coolmak » 14 Apr 2009 11:08

would you share the libvlc.java code with us?


i need to do exactly the same like you:
1) embedding a videoplayer in my java application
2) fully control vlc from my java app
this means
2a) use my own keyboard shortcuts - the vlc ones disturb the application
2b) use no vlc control overlays or anything

thank you in advance, what you have done seems very promising to me.

sherington
Cone that earned his stripes
Cone that earned his stripes
Posts: 491
Joined: 10 Sep 2008 11:57
VLC version: master
Operating System: Linux

Re: JVLC status

Postby sherington » 14 Apr 2009 16:59

would you share the libvlc.java code with us?
1. Take the existing LibVlc.java file
2. Remove all of the method declarations
3. Add all of the method declarations from Post #7 in this topic, or just the ones you need, or some new ones from libvlc.h, to your LibVlc.java (since it's just an interface to the native library you don't need provide any implementation of course)
4. You now have, essentially, my LibVlc.java
2a) use my own keyboard shortcuts - the vlc ones disturb the application
For this, I rebuilt vlc from scratch.

Assuming you have the source already...

1. In ./modules/video_output/x11/xcommon.c, find the ManageVideo method.
2. Find the comment starting /* Handle X11 events: ConfigureNotify events are parsed to know if the...*/, and then keep going down the file...
3. Remove the else clause commented with /* Keyboard event */
4. Remove the else clause commented with /* Mouse click */
5. Remove the else clause commented with /* Mouse release */
6. Remove the else clause commented with /* Mouse move */
7. Do a "make" and "sudo make install" to build and install your custom vlc build.
2b) use no vlc control overlays or anything
This is controlled with the args you pass when you initialise vlc.

I use these args (this is an excerpt from my Spring XML configuration file, but you get the idea, the important bits are inside the <value> tags):

Code: Select all

<constructor-arg> <list> <value>-I</value> <value>dummy</value> <value>--ignore-config</value> <value>--mouse-hide-timeout</value> <value>100</value> <value>--no-osd</value> <value>--no-video-title-show</value> <value>--no-overlay</value> </list> </constructor-arg>

sherington
Cone that earned his stripes
Cone that earned his stripes
Posts: 491
Joined: 10 Sep 2008 11:57
VLC version: master
Operating System: Linux

Re: JVLC status

Postby sherington » 14 Apr 2009 18:00

I wanted to clarify one JVLC issue with you. When I have created several JVLC instances (possibly more than 10) in my application (everyone attached to a listener), my JVM crashes.
What are you doing in your callback/listener code? I think you need to be very careful not to re-enter libvlc in the same thread as the callback/listener. I have seen JVM terminations under these circumstances.

It's not easy for me to test what you've asked.

coolmak
New Cone
New Cone
Posts: 5
Joined: 14 Apr 2009 11:06

Re: JVLC status

Postby coolmak » 16 Apr 2009 08:49

sounds like a plan. i'l try this.

the biggest problem i guess will be to compile vlc for windows xp/vista....

thank you very much for your verbose answer!

coxflush
New Cone
New Cone
Posts: 3
Joined: 24 Feb 2009 20:33

Re: JVLC status

Postby coxflush » 24 Apr 2009 01:05

Hi sherington,

I see you are very experienced VLC/JVLC user. I have a project in Java, and I have to know the amount of data in the vlc stream buffer.
Vlc code is a bit comlex, and unfortunately I haven't got enough time to discover it.
Could you give mi any Idea how to add function to vlc native lib, which I can access from java, and it gives back the actual state of the stream buffer.

Thanks a lot!

silvia15
New Cone
New Cone
Posts: 9
Joined: 17 Mar 2009 06:24

Re: JVLC status

Postby silvia15 » 27 May 2009 11:35

Hi sherington ,

Thanks for such good example of JVLC, you simplified JVLC use.

I am trying to use JVLC in my java application but struggling to get it run.

I found the steps to execute JVLC in eclipse on this link viewtopic.php?f=14&t=49758 and it is working fine. But when I try to use jvlc.setVideoOutput(c); it is throwing error.
I have executable jar file jvlc-core-0.9.0-SNAPSHOT-20080727. It has LibVlc.class file. As per your earlier post, we need to modify the LibVlc file as per the applications requirement. I am not able to do that, can you give complete steps to create such a file from this jar file. As in the application we have to embed the video in a pan which will be static means there is a pan which will display the video, the position of the pan will not change, only it will play different videos.

Before using VLC in java application I have successfully used VLCObject and VLCControl js files and they are working fine.

Can you suggest something on this.

kryptonite
Blank Cone
Blank Cone
Posts: 52
Joined: 22 May 2009 12:01

Re: JVLC status

Postby kryptonite » 27 May 2009 13:47

Hi Sherington,

Thanks for the info.
I've been trying something very similar but haven't gotten lucky.

I used JVLC's LibVlc.java with minor changes & the libVlc tutorial on the VideoLan webpage
I can successfully play a .mp3 file, but not video. I tried mov & mp4 files, but nothing happens. I don't get any error message, and there's not audio or video.
(I'm trying to play a local file)

Am I missing out on any video-related setup/initializing?

I have:

Code: Select all

String vlc_args[] = { "-I", "dummy", "--ignore-config", "--plugin-path=C:\\Program Files\\VideoLAN\\VLC" };
Code flow:

Code: Select all

ex = new LibVlc.libvlc_exception_t(); inst = libvlc_new(args.length, args, ex); med = libvlc_media_new (inst, "D:\\WOW_PearlJam.mov", ex); mp = libvlc_media_player_new_from_media (med, ex); libvlc_media_release (med); int canvasId = (int)Native.getComponentID(canvas); libvlc_media_player_set_drawable (mp, canvasId, ex); libvlc_media_player_play (mp, ex);
Thanks!

sherington
Cone that earned his stripes
Cone that earned his stripes
Posts: 491
Joined: 10 Sep 2008 11:57
VLC version: master
Operating System: Linux

Re: JVLC status

Postby sherington » 27 May 2009 17:22

I have:

Code: Select all

String vlc_args[] = { "-I", "dummy", "--ignore-config", "--plugin-path=C:\\Program Files\\VideoLAN\\VLC" };
I don't use Windows for my own application, but when I was investigating this my vlc args specified the "plugins" directory underneath vlc, i.e.

Code: Select all

--plugin-path=C:\\Program Files\\VideoLAN\\VLC\\plugins
Also, when things don't work, putting -vvv in your vlc_args might help diagnose the problem.

sherington
Cone that earned his stripes
Cone that earned his stripes
Posts: 491
Joined: 10 Sep 2008 11:57
VLC version: master
Operating System: Linux

Re: JVLC status

Postby sherington » 27 May 2009 17:31

But when I try to use jvlc.setVideoOutput(c); it is throwing error.
Well, what is the error?
As per your earlier post, we need to modify the LibVlc file as per the applications requirement. I am not able to do that, can you give complete steps to create such a file from this jar file.
Can you suggest something on this.
I would suggest that you use the latest release version of vlc, and get the same tagged version of vlc source code from the repository.

That will contain all of the Java source files you need. Do your edits in those files. You can build the JVLC jar very simply using maven. Use this jar that contains your changes rather than the rather dated JVLC jar file you're using currently.

Note that you don't need to modify LibVlc if it already fits your needs - I just wanted a bare minimum version of my own for the sake of simplicity.

I won't go into the detail of how you get the source code since that's explained on this web-site somewhere already, and I can't tell you how to edit the LibVLc.java file to suit your own application since I don't know it. If you know how to read a C header file, and you know how to build Java applications, that should be enough.

sherington
Cone that earned his stripes
Cone that earned his stripes
Posts: 491
Joined: 10 Sep 2008 11:57
VLC version: master
Operating System: Linux

Re: JVLC status

Postby sherington » 28 May 2009 00:34

Hi,

I finally got around to bundling up my own Java bindings that have been discussed in this forum topic.

I hope it's ok to post external links here, it's a GPL project in keeping with VLC and the original JVLC bindings.

http://code.google.com/p/vlcj/

If you go to that site, you can check out my bindings and a very basic video player application to demonstrate the bindings do actually work. At present there are no downloads as such, you will need to check out the files from subversion. Instructions are provided. Windows people will need to edit the test application source code to specify the vlc plugins folder. I'd recommend importing it into Eclipse, make your changes, run the test application.

I think it should be quite easy for anyone interested to take what's there and do their own thing with it as there are only really two classes of any note - the new LibVlc and the MediaPlayer class.

I hope someone finds it useful.

I'm basically done with it. For my own application I can get away with using mplayer's slave mode so I'm doing that now instead.

Jean-Baptiste Kempf
Site Administrator
Site Administrator
Posts: 37519
Joined: 22 Jul 2005 15:29
VLC version: 4.0.0-git
Operating System: Linux, Windows, Mac
Location: Cone, France
Contact:

Re: JVLC status

Postby Jean-Baptiste Kempf » 28 May 2009 00:43

Very interesting, thanks.
Jean-Baptiste Kempf
http://www.jbkempf.com/ - http://www.jbkempf.com/blog/category/Videolan
VLC media player developer, VideoLAN President and Sites administrator
If you want an answer to your question, just be specific and precise. Don't use Private Messages.

kryptonite
Blank Cone
Blank Cone
Posts: 52
Joined: 22 May 2009 12:01

Re: JVLC status

Postby kryptonite » 28 May 2009 12:57

Hi Sherington,

Thanks for your suggestions. Haven't solved the issue yet, but the '-vvv' implies some path related problem.
I did try your project as well and ran into the same issue - plays mp3, but not mov, mp4

I'm using NetBeans.
I tried using

Code: Select all

System.setProperty("java.library.path", "C:\\Program Files\\VideoLAN\\VLC\\plugins");
as well as setting the same JVM run option using -D
I also reconfirmed that all the highlighted DLLs below actually do exist in the same path.
Hopefully you might be able to catch something from verbose output, thanks!

So the -vvv options spits out:
run:
[00000001] main libvlc debug: VLC media player - version 0.9.6 Grishenko - (c) 1996-2008 the VideoLAN team
[00000001] main libvlc debug: libvlc was configured with ./configure '--host=i586-mingw32msvc' '--build=i386-linux' '--enable-mkv' '--enable-release' '--without-contrib' '--enable-nls' '--enable-shared-libvlc' '--enable-update-check' '--enable-lua' '--enable-faad' '--enable-flac' '--enable-theora' '--enable-twolame' '--enable-quicktime' '--enable-real' '--enable-realrtsp' '--enable-ffmpeg' '--with-ffmpeg-mp3lame' '--with-ffmpeg-faac' '--with-ffmpeg-config-path=/usr/win32/bin' '--with-ffmpeg-zlib' '--enable-live555' '--with-live555-tree=/usr/win32/live.com' '--ena
[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 C:\Documents and Settings\....\Application Data\vlc\plugins-zxzx04.dat
[00000001] main libvlc debug: recursively browsing `C:\Program Files\Java\jdk1.6.0_07\jre\bin\modules'
[00000001] main libvlc debug: recursively browsing `C:\Program Files\Java\jdk1.6.0_07\jre\bin\plugins'
[00000001] main libvlc debug: recursively browsing `C:\Program Files\VideoLAN\VLC\plugins'
[00000001] main libvlc warning: cannot load module `C:\Program Files\VideoLAN\VLC\plugins\libskins2_plugin.dll' (The specified module could not be found. (error 126))
[00000001] main libvlc warning: cannot load module `C:\Program Files\VideoLAN\VLC\plugins\libxml_plugin.dll' (The specified module could not be found. (error 126))
[00000001] main libvlc debug: module bank initialized, found 259 modules
[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"
[00000361] main interaction debug: thread 10968 (Interaction control) created at priority 0 (interface/interaction.c:382)
[00000361] main interaction debug: thread started
[00000363] main input debug: Creating an input for 'Media Library'
[00000363] main input debug: Input is a meta file: disabling unneeded options
[00000363] main input debug: `file/xspf-open://C:\Documents and Settings\....\Application Data\vlc\ml.xspf' gives access `file' demux `xspf-open' path `C:\Documents and Settings\....\Application Data\vlc\ml.xspf'
[00000363] main input debug: creating access 'file' path='C:\Documents and Settings\....\Application Data\vlc\ml.xspf'
[00000364] main access debug: looking for access module: 2 candidates
[00000364] access_file access debug: opening file `C:\Documents and Settings\....\Application Data\vlc\ml.xspf'
[00000364] main access debug: using access module "access_file"
[00000364] main access debug: TIMER module_Need() : 27.730 ms - Total 27.730 ms / 1 intvls (Avg 27.730 ms)
[00000368] main stream debug: Using AStream*Stream
[00000368] main stream debug: pre-buffering...
[00000368] main stream debug: received first data for our buffer
[00000363] main input debug: creating demux: access='file' demux='xspf-open' path='C:\Documents and Settings\....\Application Data\vlc\ml.xspf'
[00000369] main demux debug: looking for demux module: 1 candidate
[00000369] playlist demux debug: using XSPF playlist reader
[00000369] main demux debug: using demux module "playlist"
[00000369] main demux debug: TIMER module_Need() : 14.965 ms - Total 14.965 ms / 1 intvls (Avg 14.965 ms)
[00000363] main input debug: `file/xspf-open://C:\Documents and Settings\....\Application Data\vlc\ml.xspf' successfully opened
[00000384] main xml debug: looking for xml module: 1 candidate
[00000384] main xml debug: using xml module "xtag"
[00000384] main xml debug: TIMER module_Need() : 18.288 ms - Total 18.288 ms / 1 intvls (Avg 18.288 ms)
[00000369] playlist demux warning: invalid <playlist> attribute:"xmlns:vlc"
[00000369] playlist demux debug: parsed 0 tracks successfully
[00000384] main xml debug: removing module "xtag"
[00000363] main input debug: EOF reached
[00000363] main input debug: control type=1
[00000369] main demux debug: removing module "playlist"
[00000364] main access debug: removing module "access_file"
[00000363] main input debug: TIMER input launching for 'Media Library' : 66.564 ms - Total 66.564 ms / 1 intvls (Avg 66.564 ms)
[00000386] main preparser debug: waiting for thread initialization
[00000386] main preparser debug: thread started
[00000386] main preparser debug: thread 10892 (preparser) created at priority 0 (playlist/thread.c:79)
[00000387] main fetcher debug: waiting for thread initialization
[00000387] main fetcher debug: thread started
[00000387] main fetcher debug: thread 10880 (fetcher) created at priority 0 (playlist/thread.c:108)
[00000362] main playlist debug: waiting for thread initialization
[00000362] main playlist debug: thread started
[00000362] main playlist debug: rebuilding array of current - root Playlist
[00000362] main playlist debug: rebuild done - 0 items, index -1
[00000362] main playlist debug: thread 10884 (playlist) created at priority 0 (playlist/thread.c:117)
[00000388] main interface debug: looking for interface module: 1 candidate
[00000388] main interface debug: using interface module "hotkeys"
[00000388] main interface debug: TIMER module_Need() : 16.224 ms - Total 16.224 ms / 1 intvls (Avg 16.224 ms)
[00000388] main interface debug: thread 10868 (interface) created at priority 0 (interface/interface.c:168)
[00000388] main interface debug: thread started
[00000390] main input debug: Creating an input for 'WOW_PearlJam.mov'
[00000390] main input debug: thread started
[00000390] main input debug: waiting for thread initialization
[00000390] main input debug: `D:\WOW_PearlJam.mov' gives access `' demux `' path `D:\WOW_PearlJam.mov'
[00000390] main input debug: creating demux: access='' demux='' path='D:\WOW_PearlJam.mov'
[00000390] main input debug: thread 10780 (input) created at priority 1 (input/input.c:370)
[00000391] main demux debug: looking for access_demux module: 1 candidate
[00000391] main demux debug: TIMER module_Need() : 38.267 ms - Total 38.267 ms / 1 intvls (Avg 38.267 ms)
[00000390] main input debug: creating access '' path='D:\WOW_PearlJam.mov'
[00000393] main access debug: looking for access module: 5 candidates
[00000393] vcd access debug: trying .cue file: D:\WOW_PearlJam.cue
[00000393] vcd access debug: could not find .cue file
[00000393] access_file access debug: opening file `D:\WOW_PearlJam.mov'
[00000393] main access debug: using access module "access_file"
[00000393] main access debug: TIMER module_Need() : 22.683 ms - Total 22.683 ms / 1 intvls (Avg 22.683 ms)
[00000395] main stream debug: Using AStream*Stream
[00000395] main stream debug: pre-buffering...
[00000395] main stream debug: received first data for our buffer
[00000395] main stream debug: pre-buffering done 1408981 bytes in 0s - 30901 kbytes/s
[00000390] main input debug: creating demux: access='' demux='' path='D:\WOW_PearlJam.mov'
[00000396] main demux debug: looking for demux module: 58 candidates
[00000396] main demux warning: cannot load module `C:\Program Files\VideoLAN\VLC\plugins\libmp4_plugin.dll' (The specified module could not be found. (error 126))
[00000396] main demux warning: cannot load module `C:\Program Files\VideoLAN\VLC\plugins\libsap_plugin.dll' (The specified module could not be found. (error 126))
[00000396] main demux warning: cannot load module `C:\Program Files\VideoLAN\VLC\plugins\libmkv_plugin.dll' (The specified module could not be found. (error 126))
[00000396] main demux warning: cannot load module `C:\Program Files\VideoLAN\VLC\plugins\libavformat_plugin.dll' (The specified module could not be found. (error 126))
[00000396] lua demux debug: Trying Lua scripts in C:\Documents and Settings\....\Application Data\vlc\lua\playlist
[00000396] lua demux debug: Trying Lua scripts in C:\Program Files\Java\jdk1.6.0_07\jre\bin\\lua\playlist
[00000396] lua demux debug: Trying Lua scripts in C:\Program Files\Java\jdk1.6.0_07\jre\bin\\share\lua\playlist
[00000396] ps demux warning: this does not look like an MPEG PS stream, continuing anyway
[00000396] main demux debug: using demux module "ps"
[00000396] main demux debug: TIMER module_Need() : 963.067 ms - Total 963.067 ms / 1 intvls (Avg 963.067 ms)
[00000390] main input debug: looking for a subtitle file in D:\
[00000390] main input debug: `D:\WOW_PearlJam.mov' successfully opened
Playing
[00000396] ps demux warning: garbage at input, trying to resync...
[00000390] main input debug: control type=1
[00000396] ps demux warning: found sync code
[00000396] ps demux warning: garbage at input, trying to resync...
[00000396] ps demux warning: found sync code
[00000390] main input debug: selecting program id=0
[00000432] main decoder debug: looking for decoder module: 33 candidates
[00000432] main decoder warning: cannot load module `C:\Program Files\VideoLAN\VLC\plugins\libpng_plugin.dll' (The specified module could not be found. (error 126))
[00000432] main decoder warning: cannot load module `C:\Program Files\VideoLAN\VLC\plugins\liblibass_plugin.dll' (The specified module could not be found. (error 126))
[00000432] main decoder debug: using decoder module "mpeg_audio"
[00000432] main decoder debug: TIMER module_Need() : 377.604 ms - Total 377.604 ms / 1 intvls (Avg 377.604 ms)
[00000432] main decoder debug: thread 10640 (decoder) created at priority 2 (input/decoder.c:217)
[00000432] main decoder debug: thread started
[00000432] mpeg_audio decoder debug: waiting for PTS
[00000396] ps demux warning: garbage at input, trying to resync...
[00000396] ps demux warning: found sync code
[00000451] main decoder debug: looking for decoder module: 33 candidates
[00000451] main decoder warning: cannot load module `C:\Program Files\VideoLAN\VLC\plugins\libpng_plugin.dll' (The specified module could not be found. (error 126))
[00000451] main decoder debug: using decoder module "libmpeg2"
[00000451] main decoder debug: TIMER module_Need() : 96.615 ms - Total 96.615 ms / 1 intvls (Avg 96.615 ms)
[00000451] main decoder debug: thread 10620 (decoder) created at priority 0 (input/decoder.c:217)
[00000451] main decoder debug: thread started
[00000451] libmpeg2 decoder warning: invalid picture encountered
[00000451] libmpeg2 decoder warning: invalid picture encountered
[00000451] libmpeg2 decoder warning: invalid picture encountered
[00000396] ps demux warning: garbage at input, trying to resync...
[00000396] ps demux warning: found sync code
[00000452] main decoder debug: looking for decoder module: 33 candidates
[00000452] main decoder warning: cannot load module `C:\Program Files\VideoLAN\VLC\plugins\libpng_plugin.dll' (The specified module could not be found. (error 126))
[00000452] main decoder debug: using decoder module "libmpeg2"
[00000452] main decoder debug: TIMER module_Need() : 98.322 ms - Total 98.322 ms / 1 intvls (Avg 98.322 ms)
[00000452] main decoder debug: thread 10580 (decoder) created at priority 0 (input/decoder.c:217)
[00000452] main decoder debug: thread started
[00000452] libmpeg2 decoder warning: invalid picture encountered
[00000396] ps demux warning: garbage at input, trying to resync...
[00000452] libmpeg2 decoder warning: invalid picture encountered
[00000396] ps demux warning: found sync code
[00000452] libmpeg2 decoder warning: invalid picture encountered
[00000396] ps demux debug: es id=0xf5 format unknown
[00000452] libmpeg2 decoder warning: invalid picture encountered
[00000396] ps demux warning: garbage at input, trying to resync...
[00000452] libmpeg2 decoder warning: invalid picture encountered
[00000452] libmpeg2 decoder warning: invalid picture encountered
[00000452] libmpeg2 decoder warning: invalid picture encountered
[00000396] ps demux warning: found sync code
[00000452] libmpeg2 decoder warning: invalid picture encountered
[00000453] main decoder debug: looking for decoder module: 33 candidates
[00000452] libmpeg2 decoder warning: invalid picture encountered
[00000452] libmpeg2 decoder warning: invalid picture encountered
[00000452] libmpeg2 decoder warning: invalid picture encountered
[00000452] libmpeg2 decoder warning: invalid picture encountered
[00000452] libmpeg2 decoder warning: invalid picture encountered
[00000452] libmpeg2 decoder warning: invalid picture encountered
[00000452] libmpeg2 decoder warning: invalid picture encountered
[00000452] libmpeg2 decoder warning: invalid picture encountered
[00000452] libmpeg2 decoder warning: invalid picture encountered
[00000452] libmpeg2 decoder warning: invalid picture encountered
[00000452] libmpeg2 decoder warning: invalid picture encountered
[00000452] libmpeg2 decoder warning: invalid picture encountered
[00000452] libmpeg2 decoder warning: invalid picture encountered
[00000452] libmpeg2 decoder warning: invalid picture encountered
[00000452] libmpeg2 decoder warning: invalid picture encountered
[00000452] libmpeg2 decoder warning: invalid picture encountered
[00000452] libmpeg2 decoder warning: invalid picture encountered
[00000452] libmpeg2 decoder warning: invalid picture encountered
[00000452] libmpeg2 decoder warning: invalid picture encountered
[00000452] libmpeg2 decoder warning: invalid picture encountered
[00000452] libmpeg2 decoder warning: invalid picture encountered
[00000452] libmpeg2 decoder warning: invalid picture encountered
[00000452] libmpeg2 decoder warning: invalid picture encountered
[00000452] libmpeg2 decoder warning: invalid picture encountered
[00000452] libmpeg2 decoder warning: invalid picture encountered
[00000452] libmpeg2 decoder warning: invalid picture encountered
[00000452] libmpeg2 decoder warning: invalid picture encountered
[00000452] libmpeg2 decoder warning: invalid picture encountered
[00000452] libmpeg2 decoder warning: invalid picture encountered
[00000452] libmpeg2 decoder warning: invalid picture encountered
[00000452] libmpeg2 decoder warning: invalid picture encountered
[00000453] main decoder warning: cannot load module `C:\Program Files\VideoLAN\VLC\plugins\libpng_plugin.dll' (The specified module could not be found. (error 126))
[00000453] main decoder debug: using decoder module "libmpeg2"
[00000453] main decoder debug: TIMER module_Need() : 121.015 ms - Total 121.015 ms / 1 intvls (Avg 121.015 ms)
[00000453] main decoder debug: thread 10552 (decoder) created at priority 0 (input/decoder.c:217)
[00000453] main decoder debug: thread started
[00000396] ps demux warning: garbage at input, trying to resync...
[00000396] ps demux warning: found sync code
[00000396] ps demux warning: garbage at input, trying to resync...
[00000396] ps demux warning: found sync code
[00000396] ps demux warning: garbage at input, trying to resync...
[00000396] ps demux warning: found sync code
[00000452] libmpeg2 decoder warning: invalid picture encountered
[00000452] libmpeg2 decoder warning: invalid picture encountered
[00000452] libmpeg2 decoder warning: invalid picture encountered
[00000396] ps demux debug: es id=0xf7 format unknown
[00000396] ps demux warning: garbage at input, trying to resync...
[00000396] ps demux warning: found sync code
[00000396] ps demux debug: es id=0xf4 format unknown
[00000396] ps demux warning: garbage at input, trying to resync...
[00000396] ps demux warning: found sync code
[00000396] ps demux warning: garbage at input, trying to resync...
[00000396] ps demux warning: found sync code
[00000454] main decoder debug: looking for decoder module: 33 candidates
[00000454] main decoder warning: cannot load module `C:\Program Files\VideoLAN\VLC\plugins\libpng_plugin.dll' (The specified module could not be found. (error 126))
[00000454] main decoder debug: using decoder module "libmpeg2"
[00000454] main decoder debug: TIMER module_Need() : 90.119 ms - Total 90.119 ms / 1 intvls (Avg 90.119 ms)
[00000454] main decoder debug: thread 10524 (decoder) created at priority 0 (input/decoder.c:217)
[00000454] main decoder debug: thread started
[00000454] libmpeg2 decoder warning: invalid picture encountered
[00000396] ps demux warning: garbage at input, trying to resync...
[00000454] libmpeg2 decoder warning: invalid picture encountered
[00000454] libmpeg2 decoder warning: invalid picture encountered
[00000454] libmpeg2 decoder warning: invalid picture encountered
[00000454] libmpeg2 decoder warning: invalid picture encountered
[00000396] ps demux warning: found sync code
[00000396] ps demux warning: garbage at input, trying to resync...
[00000396] ps demux warning: found sync code
[00000396] ps demux warning: garbage at input, trying to resync...
[00000396] ps demux warning: found sync code
[00000455] main decoder debug: looking for decoder module: 33 candidates
[00000455] main decoder warning: cannot load module `C:\Program Files\VideoLAN\VLC\plugins\libpng_plugin.dll' (The specified module could not be found. (error 126))
[00000455] main decoder debug: using decoder module "libmpeg2"
[00000455] main decoder debug: TIMER module_Need() : 93.156 ms - Total 93.156 ms / 1 intvls (Avg 93.156 ms)
[00000455] main decoder debug: thread 10496 (decoder) created at priority 0 (input/decoder.c:217)
[00000455] main decoder debug: thread started
[00000456] main decoder debug: looking for decoder module: 33 candidates
[00000456] main decoder warning: cannot load module `C:\Program Files\VideoLAN\VLC\plugins\libpng_plugin.dll' (The specified module could not be found. (error 126))
[00000456] main decoder debug: using decoder module "libmpeg2"
[00000456] main decoder debug: TIMER module_Need() : 17.332 ms - Total 17.332 ms / 1 intvls (Avg 17.332 ms)
[00000456] main decoder debug: thread 10468 (decoder) created at priority 0 (input/decoder.c:217)
[00000456] main decoder debug: thread started
[00000396] ps demux debug: contains a PSM
[00000396] ps demux debug: es id=0xff format unknown
[00000396] ps demux debug: es id=0xfa format unknown
[00000457] main decoder debug: looking for decoder module: 33 candidates
[00000457] main decoder warning: cannot load module `C:\Program Files\VideoLAN\VLC\plugins\libpng_plugin.dll' (The specified module could not be found. (error 126))
[00000457] main decoder debug: using decoder module "libmpeg2"
[00000457] main decoder debug: TIMER module_Need() : 14.655 ms - Total 14.655 ms / 1 intvls (Avg 14.655 ms)
[00000457] main decoder debug: thread 10440 (decoder) created at priority 0 (input/decoder.c:217)
[00000457] main decoder debug: thread started
[00000396] ps demux debug: es id=0xfc format unknown
[00000396] ps demux debug: es id=0xf6 format unknown
[00000458] main decoder debug: looking for decoder module: 33 candidates
[00000458] main decoder warning: cannot load module `C:\Program Files\VideoLAN\VLC\plugins\libpng_plugin.dll' (The specified module could not be found. (error 126))
[00000458] main decoder debug: using decoder module "libmpeg2"
[00000458] main decoder debug: TIMER module_Need() : 18.304 ms - Total 18.304 ms / 1 intvls (Avg 18.304 ms)
[00000458] main decoder debug: thread 10412 (decoder) created at priority 0 (input/decoder.c:217)
[00000458] main decoder debug: thread started
[00000459] main decoder debug: looking for decoder module: 33 candidates
[00000459] main decoder warning: cannot load module `C:\Program Files\VideoLAN\VLC\plugins\libpng_plugin.dll' (The specified module could not be found. (error 126))
[00000459] main decoder debug: using decoder module "libmpeg2"
[00000459] main decoder debug: TIMER module_Need() : 15.392 ms - Total 15.392 ms / 1 intvls (Avg 15.392 ms)
[00000459] main decoder debug: thread 10384 (decoder) created at priority 0 (input/decoder.c:217)
[00000459] main decoder debug: thread started
[00000396] ps demux debug: es id=0xf1 format unknown
[00000396] ps demux debug: es id=0xfd format unknown
[00000460] main decoder debug: looking for decoder module: 33 candidates
[00000460] main decoder warning: cannot load module `C:\Program Files\VideoLAN\VLC\plugins\libpng_plugin.dll' (The specified module could not be found. (error 126))
[00000460] main decoder debug: using decoder module "libmpeg2"
[00000460] main decoder debug: TIMER module_Need() : 16.357 ms - Total 16.357 ms / 1 intvls (Avg 16.357 ms)
[00000460] main decoder debug: thread 10356 (decoder) created at priority 0 (input/decoder.c:217)
[00000460] main decoder debug: thread started
[00000461] main decoder debug: looking for decoder module: 33 candidates
[00000461] main decoder warning: cannot load module `C:\Program Files\VideoLAN\VLC\plugins\libpng_plugin.dll' (The specified module could not be found. (error 126))
[00000461] main decoder debug: using decoder module "libmpeg2"
[00000461] main decoder debug: TIMER module_Need() : 14.615 ms - Total 14.615 ms / 1 intvls (Avg 14.615 ms)
[00000461] main decoder debug: thread 10328 (decoder) created at priority 0 (input/decoder.c:217)
[00000461] main decoder debug: thread started
[00000462] main decoder debug: looking for decoder module: 33 candidates
[00000462] main decoder warning: cannot load module `C:\Program Files\VideoLAN\VLC\plugins\libpng_plugin.dll' (The specified module could not be found. (error 126))
[00000462] main decoder debug: using decoder module "libmpeg2"
[00000462] main decoder debug: TIMER module_Need() : 15.364 ms - Total 15.364 ms / 1 intvls (Avg 15.364 ms)
[00000462] main decoder debug: thread 10300 (decoder) created at priority 0 (input/decoder.c:217)
[00000462] main decoder debug: thread started
[00000463] main decoder debug: looking for decoder module: 33 candidates
[00000463] main decoder warning: cannot load module `C:\Program Files\VideoLAN\VLC\plugins\libpng_plugin.dll' (The specified module could not be found. (error 126))
[00000463] main decoder debug: using decoder module "libmpeg2"
[00000463] main decoder debug: TIMER module_Need() : 19.253 ms - Total 19.253 ms / 1 intvls (Avg 19.253 ms)
[00000463] main decoder debug: thread started
[00000463] main decoder debug: thread 10272 (decoder) created at priority 0 (input/decoder.c:217)
[00000396] ps demux debug: es id=0xfe format unknown
[00000464] main decoder debug: looking for decoder module: 33 candidates
Finished
[00000464] main decoder warning: cannot load module `C:\Program Files\VideoLAN\VLC\plugins\libpng_plugin.dll' (The specified module could not be found. (error 126))
[00000464] main decoder debug: using decoder module "libmpeg2"
[00000464] main decoder debug: TIMER module_Need() : 13.669 ms - Total 13.669 ms / 1 intvls (Avg 13.669 ms)
[00000464] main decoder debug: thread 10244 (decoder) created at priority 0 (input/decoder.c:217)
[00000464] main decoder debug: thread started
[00000390] main input debug: EOF reached
BUILD SUCCESSFUL (total time: 10 seconds)


Return to “Development around libVLC”

Who is online

Users browsing this forum: MSN [Bot] and 2 guests