Difference between revisions of "User:Thannoy"

From VideoLAN Wiki
Jump to navigation Jump to search
(→‎VLC tips: XpmReadFileToImage ld workaround)
Line 67: Line 67:
 
=== Compile under debian Etch ===
 
=== Compile under debian Etch ===
  
If you have a pthread eror under Debian Etch, try this tip :
+
If you have a pthread error under Debian Etch, try this tip :
 
  su
 
  su
 
  sed -e 's/define\s*_POSIX_SPIN_LOCKS\s*/define _POSIX_SPIN_LOCKS -1 \/\/ wrong: /g' -i /usr/include/bits/posix_opt.h
 
  sed -e 's/define\s*_POSIX_SPIN_LOCKS\s*/define _POSIX_SPIN_LOCKS -1 \/\/ wrong: /g' -i /usr/include/bits/posix_opt.h
Line 74: Line 74:
  
 
<small>''\ keywords : pthread pthread_spinlock_t pthread_spin_init vlc_threads_funcs.h compile /''</small>
 
<small>''\ keywords : pthread pthread_spinlock_t pthread_spin_init vlc_threads_funcs.h compile /''</small>
 
  
 
=== mozilla-sdk under debian Etch ===
 
=== mozilla-sdk under debian Etch ===

Revision as of 22:14, 27 February 2008

General presentation

Hello ! My name is Anthony LOISEAU. I am a french student in IT at INSA Rennes.

I am working with Remiii and Sinseman44 (RatatouilleTeam) on VLC through my internship in actech-innovation (Angers, France).

VLC project

My work will be mainly focussed on mozilla-plugin and activeX parts of VLC.


Mozilla plugin

The file projects/mozilla/control/npolibvlc.cpp describe the API which should be accessible by moz-plugin. The dedicated page for its API is here.

List of methods which should be accessible

Here is the list extracted from the file projects/mozilla/control/npolibvlc.cpp by a script(will be given soon, need doc, clean and a little debug maybe) :

(release 0.9 - [rev 25203, 2008-02-20_16h20])

  • .playlist.items.count : INT32
  • .playlist.items.clear([]) : VOID
  • .playlist.items.remove(['number']) : VOID
  • .playlist.itemCount : INT32
  • .playlist.isPlaying : BOOLEAN
  • .playlist.play([]) : VOID
  • .playlist.prev([]) : VOID
  • .playlist.clear([]) : VOID
  • .playlist.stop([]) : VOID
  • .playlist.next([]) : VOID
  • .playlist.add(['STRING', 'STRING', 'OBJECT']) : INT32
  • .playlist.removeItem(['number']) : VOID
  • .playlist.togglePause([]) : VOID
  • .playlist.playItem(['number']) : VOID
  • .VersionInfo : STRINGN
  • .log.verbosity : DOUBLE
  • .log.messages.count : INT32
  • .log.messages.clear([]) : None
  • .log.messages.iterator([]) : OBJECT
  • .video.fullscreen : BOOLEAN
  • .video.subtitle : INT32
  • .video.crop : STRINGZ
  • .video.height : INT32
  • .video.width : INT32
  • .video.teletext : INT32
  • .video.aspectRatio : STRINGZ
  • .video.toggleTeletext([]) : VOID
  • .video.toggleFullscreen([]) : VOID
  • .input.rate : DOUBLE
  • .input.state : INT32
  • .input.hasVout : BOOLEAN
  • .input.length : DOUBLE
  • .input.fps : DOUBLE
  • .input.time : DOUBLE
  • .input.position : DOUBLE
  • .audio.volume : INT32
  • .audio.track : INT32
  • .audio.channel : INT32
  • .audio.mute : BOOLEAN
  • .audio.toggleMute([]) : VOID
  • .versionInfo([]) : STRINGN

VLC tips

Compile under debian Etch

If you have a pthread error under Debian Etch, try this tip :

su
sed -e 's/define\s*_POSIX_SPIN_LOCKS\s*/define _POSIX_SPIN_LOCKS -1 \/\/ wrong: /g' -i /usr/include/bits/posix_opt.h
exit

source : this post from Rémi Denis-Courmont.

\ keywords : pthread pthread_spinlock_t pthread_spin_init vlc_threads_funcs.h compile /

mozilla-sdk under debian Etch

If you have problems finding mozilla-sdk, try to install package libxul-dev and add to your ./configure the parameter --with-mozilla-sdk-path=/usr/lib/xulrunner/sdk

Resume :

su
apt-get install libxul-dev
exit
./configure '--with-mozilla-sdk-path=/usr/lib/xulrunner/sdk' ...with-your-other-params...
# with other-params including "--enable-mozilla", otherwise I don't think mozilla-sdk is useful for you

\ keywords : mozilla-sdk mozilla-config.h libxul-dev configure /, not tested


undefined symbol: XpmReadFileToImage

Recently, I have had a problem running mozilla plug-in. It was because for libvlcplugin.so, ld never tries to find symbol XpmReadFileToImage into the right lib (libXpm.so). Here is a workaround which have worked for me :

1- su # ask for root console
2- vi /etc/ld.so.preload
3-   if the file is empty then
       add /usr/lib/libXpm.so
     else
       append /usr/lib/libXpm.so to its content. each libs must be separated by a space
       
     endif
4- close vi (ESC : w q)

\ keywords : undefined symbol: XpmReadFileToImage /usr/lib/libXpm.so /

Tools

Firebug

Having a JS debugger is very useful to test mozilla-plugin. Firebug is a wonderful Firefox extension for that stuff.

Links

Usefull internal links

Usefull external links