Page 1 of 1

firefox plugin installs but does not play video

Posted: 24 May 2006 05:12
by alec_robertson
Hi,

I'm building the svn vlc under debian unstable and everything works fine with the standalone player. The mozilla plugin compiles cleanly using either mozilla-dev or gecko-sdk. I copy the libvlcplugin.so and vlcintf.xpt to my ~/.mozilla/plugins directory, start firefox and the about:plugins shows that the vlc plugin is installed.

But when I try to load a video, all I get is a black box with (no picture) shown.

Interestingly, when I use the debian mozilla-vlc-plugin (0.8.5), it shows the video. Using mplayerplug-in works fine, but I would like to setup my website to use the vlc plugin for both linux and windows users.

Any suggestions?

Alec

Posted: 24 May 2006 11:26
by xtophe
In a normal vlc set the verbosity to 2 ( preferences/interfaces)
Start firefox from a console. you should see vlc debug message in the console.

hth,

Posted: 24 May 2006 15:07
by alec_robertson
OK, here's the output when I try one of the vlc plugin test videos. Firefox hangs and needs to be killed.

Code: Select all

[00000001] main vlc debug: CPU has capabilities 486 586 MMX MMXEXT SSE SSE2 FPU [00000001] main vlc debug: looking for memcpy module: 3 candidates [00000001] main vlc debug: using memcpy module "memcpymmxext" [00000481] main private debug: waiting for thread completion [00000481] main private debug: thread 2737560496 (preparser) created at priority 0 (playlist/thread.c:87) [00000480] main playlist debug: waiting for thread completion [00000480] main playlist debug: thread 2729167792 (playlist) created at priority 0 (playlist/thread.c:97) [00000482] main interface debug: looking for interface module: 1 candidate [00000482] main interface debug: using interface module "hotkeys" [00000482] main interface debug: thread 2720775088 (interface) created at priority 0 (interface/interface.c:231) [00000483] main interface debug: looking for interface module: 1 candidate [00000483] main interface debug: using interface module "screensaver" [00000483] main interface debug: thread 2712382384 (interface) created at priority 0 (interface/interface.c:231) [00000480] main playlist debug: adding playlist item `http://vthr.videolan.org/~dionoea/vlc-plugin-demo/streams/sw_8M.mov' ( http://vthr.videolan.org/~dionoea/vlc-plugin-demo/streams/sw_8M.mov ) Destroying item Media Library [00000480] main playlist debug: deleting playlist item `http://vthr.videolan.org/~dionoea/vlc-plugin-demo/streams/sw_8M.mov' Destroying item Playlist Destroying item Media Library [00000480] main playlist debug: deleting playlist item `http://vthr.videolan.org/~dionoea/vlc-plugin-demo/streams/sw_8M.mov' Destroying item http://vthr.videolan.org/~dionoea/vlc-plugin-demo/streams/sw_8M.mov Destroying item Playlist [00000480] main playlist debug: adding playlist item `http://vthr.videolan.org/~dionoea/vlc-plugin-demo/streams/sw_8M.mov' ( http://vthr.videolan.org/~dionoea/vlc-plugin-demo/streams/sw_8M.mov ) *** glibc detected *** realloc(): invalid next size: 0x0948dc18 ***
On one occasion, it didn't hang, but pressing the Play button crashed firefox.

When I try one of my own movies (web.mit.edu/alecr/www/cwf) then the video seems to load ok, but nothing plays and I get the "no picture" text in a black box.

Code: Select all

[00000001] main vlc debug: CPU has capabilities 486 586 MMX MMXEXT SSE SSE2 FPU [00000001] main vlc debug: looking for memcpy module: 3 candidates [00000001] main vlc debug: using memcpy module "memcpymmxext" [00000253] main private debug: waiting for thread completion [00000253] main private debug: thread 2751806384 (preparser) created at priority 0 (playlist/thread.c:87) [00000252] main playlist debug: waiting for thread completion [00000252] main playlist debug: thread 2743413680 (playlist) created at priority 0 (playlist/thread.c:97) [00000254] main interface debug: looking for interface module: 1 candidate [00000254] main interface debug: using interface module "hotkeys" [00000254] main interface debug: thread 2734996400 (interface) created at priority 0 (interface/interface.c:231) [00000256] main interface debug: looking for interface module: 1 candidate [00000256] main interface debug: using interface module "screensaver" [00000256] main interface debug: thread 2726603696 (interface) created at priority 0 (interface/interface.c:231) [00000252] main playlist debug: adding playlist item `trailer.mp4' ( trailer.mp4 ) [00000252] main playlist debug: adding playlist item `/home/alecr/.mozilla/firefox/9971uw7f.default/Cache/B74A7D14d01' ( /home/alecr/.mozilla/firefox/9971uw7f.default/Cache/B74A7D14d01 )
I was also able to crash firefox once or twice with this video.

Posted: 27 May 2006 17:29
by alec_robertson
OK, so after some troubleshooting I found that my problem was that I was using relative paths to my movies from within the html embed statement. If I replaced target="mymovie.mp4" with target="http://localhost/mymovie.mp4" then it played fine.

However, I still get a crash on the vlc-plugin testpage. Half the time, it crashes on loading the page, with the following gdb backtrace:

Code: Select all

#0 0xffffe410 in __kernel_vsyscall () #1 0xa72f56d1 in raise () from /lib/tls/i686/cmov/libc.so.6 #2 0xa72f6f9b in abort () from /lib/tls/i686/cmov/libc.so.6 #3 0xa732c157 in __fsetlocking () from /lib/tls/i686/cmov/libc.so.6 #4 0xa733229c in malloc_usable_size () from /lib/tls/i686/cmov/libc.so.6 #5 0xa73332e1 in free () from /lib/tls/i686/cmov/libc.so.6 #6 0xa733492f in malloc () from /lib/tls/i686/cmov/libc.so.6 #7 0xa7e7c38d in JS_ArenaAllocate (pool=0x8e09e60, nb=24) at jsarena.c:201 #8 0xa7ea3387 in js_AllocRawStack (cx=0x8e09e48, nslots=6, markp=0xaff1b628) at jsinterp.c:333 #9 0xa7ea3475 in js_AllocStack (cx=0x8e09e48, nslots=4, markp=0xaff1b628) at jsinterp.c:364 #10 0xa7eb394d in js_InternalInvoke (cx=0x8e09e48, obj=0x8dc4740, fval=0, flags=0, argc=2, argv=0x9710028, rval=0xaff1b788) at jsinterp.c:1263 #11 0xa7e78f4e in JS_CallFunctionValue (cx=0x8e09e48, obj=0x0, fval=0, argc=0, argv=0x0, rval=0x0) at jsapi.c:4171 #12 0x084b377d in nsJSContext::CallEventHandler (this=0x8e00508, aTarget=0x8dc4740, aHandler=0x8db0fe8, argc=0, argv=0x0, rval=0xaff1b788) at nsJSEnvironment.cpp:1411 #13 0x084b99f6 in nsGlobalWindow::RunTimeout (this=0x8ef6e20, aTimeout=0x95a9bc0) at nsGlobalWindow.cpp:6357 #14 0x084b9a60 in nsGlobalWindow::TimerCallback (aTimer=0x96397b0, aClosure=0x95a9bc0) at nsGlobalWindow.cpp:6720 #15 0xa7e3011d in nsTimerImpl::Fire (this=0x96397b0) at nsTimerImpl.cpp:394 #16 0xa7e30a38 in handleTimerEvent (event=0xa3a00590) at nsTimerImpl.cpp:459 #17 0xa7e2b967 in PL_HandleEvent (self=0xa3a00590) at plevent.c:688 #18 0xa7e2c238 in PL_ProcessPendingEvents (self=0x8b97960) at plevent.c:623 #19 0xa7e2d8ee in nsEventQueueImpl::ProcessPendingEvents (this=0x8b97928) at nsEventQueue.cpp:417 #20 0x082678e5 in event_processor_callback (source=0x903ca98, condition=G_IO_IN, data=0x6) at nsAppShell.cpp:67 #21 0xa778848f in g_vasprintf () from /usr/lib/libglib-2.0.so.0 #22 0xa775f1bc in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #23 0xa776264b in g_main_context_check () from /usr/lib/libglib-2.0.so.0 #24 0xa77629a7 in g_main_loop_run () from /usr/lib/libglib-2.0.so.0 #25 0xa7b97341 in gtk_main () from /usr/lib/libgtk-x11-2.0.so.0 #26 0x08267d06 in nsAppShell::Run (this=0x8c29a70) at nsAppShell.cpp:139 #27 0x087902d2 in nsAppStartup::Run (this=0x8c2b2e0) at nsAppStartup.cpp:150 #28 0x0807c5c4 in XRE_main (argc=1, argv=0xaff1bdc4, aAppData=0x8907b60) at nsAppRunner.cpp:2351 #29 0x08078587 in main (argc=0, argv=0x0) at nsBrowserApp.cpp:61 #30 0xa72e0eb0 in __libc_start_main () from /lib/tls/i686/cmov/libc.so.6 #31 0x080784d1 in _start () at nsCOMPtr.h:268
The other half of the time, it loads the page, but then I click on play and:

Code: Select all

#0 0xffffe410 in __kernel_vsyscall () #1 0xa73296d1 in raise () from /lib/tls/i686/cmov/libc.so.6 #2 0xa732af9b in abort () from /lib/tls/i686/cmov/libc.so.6 #3 0xa7360157 in __fsetlocking () from /lib/tls/i686/cmov/libc.so.6 #4 0xa73684b9 in free () from /lib/tls/i686/cmov/libc.so.6 #5 0xa7368f31 in realloc () from /lib/tls/i686/cmov/libc.so.6 #6 0xa404553e in input_ItemNewWithType () from /home/alecr/.mozilla/plugins/libvlcplugin.so #7 0x00000010 in ?? () Previous frame inner to this frame (corrupt stack?)
Without running a gdb session, the command line output is:

Code: Select all

*** glibc detected *** corrupted double-linked list: 0x0960c958 ***
When I copied and hacked the html/javascript code, I found that the main culprit was the volume. Removing this leaving only the play/stop and playing and time status, works fine most of the time (just seg faults occasionally).

/Alec

Posted: 30 May 2006 01:33
by th0rgal
you could maybe install the mozilla / firefox plugin called MediaPlayerConnectivity. You can set it to use vlc for whatever type of movie file. I personally find it extremely useful because it allows you to associate whatever media player you have installed on your linux box to any media file type.