xenial (7) mozplugger.7.gz

Provided by: mozplugger_1.14.5-2_amd64 bug

NAME

       mozplugger - a streaming multimedia plugin for UNIX mozilla

DESCRIPTION

       MozPlugger  is  a   Mozilla  plugin  which  can  show  many  types  of multimedia inside your Mozilla. To
       accomplish this, MozPlugger uses external programs such as mplayer, xanim, mtv, timidity and tracker.

CONFIGURE FILE

       You can configure mozplugger by changing the file mozpluggerrc  which  can  be  located  in  any  of  the
       following directories:

            $MOZPLUGGER_HOME/
            $HOME/.mozplugger/
            $HOME/.netscape/
            $HOME/.mozilla/
            $HOME/.opera/
            $MOZILLA_HOME/
            $OPERA_HOME/
            /usr/local/netscape/
            /etc/
            /usr/local/mozilla/
            /usr/local/netscape/

       MozPlugger  will  use the first mozpluggerrc it finds and ignore any others. The search order is from top
       of the list above.

       The format of mozpluggerrc is very simple. The general layout is to have one  or  more  lines  describing
       mime  types  followed  by  one  or  more lines describing commands used to handle those mime types. Lines
       beginning with # are considered comments and are ignored. Here is a simple example:

            video/mpeg: mpeg: Mpeg video
            video/quicktime: qt,mov: Mpeg video
                 : xanim +W$window -Zr +q +Ze +f $file

       Each line describing a mime type has three fields:

             mime type : extensions : description

       mime type
              The mime type is the standardized name for the content type you want MozPlugger  to  handle.  This
              must  be the same type as the web server claims the file to be, or MozPlugger will not be used for
              that file, regardless of the extension. Note: Some web servers incorrectly report the  wrong  mime
              type, blame the web server adminstrator not mozplugger.

       extensions
              This  is  a comma separated list of extensions that should be associated with this particular mime
              type. The extensions are only used when a web server does not report what type of file it  is,  or
              when loading files directly from disk.

       description
              This  is the description that shows up in about:plugins and in the application preferences section
              in Mozilla.

       Lines that describe what command to use for a mime type must begin
              with a whitespace and have two fields:

                    flags : command

       flags  This is a space separated list of flags associated with the command and tells  mozplugger  how  to
              handle this command. See below for further details.

       command
              This  is  a  command which is sent to /bin/sh when handling this mime type. Mozplugger assumes the
              command line starts with the name of an application followed by various arguments passed  to  that
              application.

USING M4

       When  loading,  MozPlugger  will pass the mozpluggerrc file through m4, a general purpose macro processor
       (assuming m4 is installed). This provides the ablity to use macros  within  mozpluggerrc  especially  for
       those  commonly  used  command lines. m4 brings text replacement, parameter substitution, file inclusion,
       string manipulation, conditional evaluation, arthemtic expressions, etc to mozpluggerrc.  Please  see  m4
       documentation for more details.

FINDING THE RIGHT COMMAND

       When MozPlugger is called from your browser, it looks through the configuration file and finds a matching
       mime type.

       When a matching mimetype is found, it tries to figure out which command to use. Commands  that  have  the
       flags  loop,  embed, noembed, link and fmatch will be rejected if they do not match what is expected from
       the associated HTML code (see later for details).

       In addition for a command to be chosen the application has to be  available.  That  is,  MozPlugger  will
       assume the first word of the command is the name of an application and search $PATH for that application.
       If that application is not found MozPlugger will skip that command line.

       Of the commands that remain, Mozplugger looks for the first command that has  the  stream  flag  set.  If
       there  is  not  such  a  command  line,  Mozplugger  then  downloads the file and picks the first (of the
       remaining) commands.

WORKING WITH JAVA SCRIPT

       Mozplugger supports a JavaScript interface that allows the state of the embedded object (i.e. mozplugger)
       to be queried from JavaScript. Currently mozplugger supports the following properties.

       isPlaying
              This  property  has  the  value  true  if  the  application that mozplugger launched to handle the
              embedded object is running and false if either no application was launched or that application has
              now terminated.

WHEN IT DOESNT WORK

       If  for  some  reason the embedded object fails to be rendered in the browser, this could be a fault with
       the application as opposed to MozPlugger. To diagnosis the fault it is suggested that first you make sure
       that  any  output  from  the  application  will  be  visible to you by removing the noisy flag (if set in
       mozpluggerrc).

       Next run the browser from the shell (xterm or equivalent) passing the appropriate  browser  command  line
       flag to enable output from stdout and stderr to be displayed.

       For example, for firefox the command line string is:

       firefox -debug

       This  should  allow  any  output  from the application to be visible at the shell and hopefully lead to a
       diagnosis of the fault.

FLAGS

       autostart
              This flag indicates that the command uses the $autostart environment variable. That is  mozplugger
              will  run  the  command on the assumption that the command/application will check the value of the
              $autostart environment variable. If this flag is not present and the HTML code  for  the  embedded
              object indicates autostart is false, mozplugger will not run the command but instead draw a single
              start button.

       repeat This flag indicates that the command uses the $repeats environment variable.  That  is  mozplugger
              will  run  the  command on the assumption that the command/application will check the value of the
              $repeats environment variable and perform the repeats. If this flag is not  set,  mozplugger  will
              perform  the  required  number  of  repeats  as  indicated in the HTML code by calling the command
              $repeats times.

       loop   This indicates that the command loops forever. If the HTML code for the embedded object  indicates
              don't loop/repeat forever (e.g. the loop attribute is not present or not set to true), the command
              on this line will not be used.

       stream This indicates that this command can take an url. In this case,  the  environment  variable  $file
              contains  the URL of the file to play and the browser does not download it. It is assumed that the
              command can handle the URL.  Note: if a username and  password  is  required  for  this  URL,  the
              command/application will have to obtain this as it is not passed to it from the browser.

       ignore_errors
              This flag tells MozPlugger to ignore the exit status of the command.  For example is mozplugger is
              repeating the command 'n' times and the command exits with an  error,  normally  mozplugger  would
              terminate at this time. With this flag set, mozplugger continues the repeats.

       noisy  This flag tells MozPlugger to redirect the stdout and stderr of the command to /dev/null.

       swallow (name)
              This  flag  tells  mozplugger that the command will open a window with the specified name and that
              Mozplugger will then move this window inside your browser.  If name  is  prefixed  with  '='  then
              mozplugger  looks  for  an  exact match with the window name, if the prefix is '~' then mozplugger
              looks for a case insensitive match, if prefixed with '*' then mozplugger looks for a  window  name
              that starts with 'name' and is case insensitive. If none of these prefixes then, mozplugger checks
              if name occurs anywhere in the window name, but is case sensitive. Note  any  spaces  between  the
              brackets  are  counted  as part of the window name.  The window name to use in mozpluggerrc can be
              obtained by using the utility xprop(). Run the command in question, type  "xprop  WM_CLASS"  at  a
              shell prompt and then click on the application window. In addition any occurance of %f in the name
              is replaced with the filename being loaded (without path), %p is replaced with the  full  filename
              including path.

       fmatch (string)
              This  flag  defines  a command that will be used only if the filename or url (i.e. $file) contains
              'string'. If 'string' is prefixed with '*' then mozplugger defines a match when  the  file  starts
              with  'string'  (the  check is case insensitive). If 'string' is prefixed with '%' then mozplugger
              defines a match when the file ends with 'string' (the check is case  insenstive  and  ignores  any
              parameters  at  the  end  of  a  url {i.e. '?xxx=yyy'}). If none of these prefixes then mozplugger
              defines a match when the 'string' is found somewhere in the file (but  this  time  match  is  case
              sensitive). Note any spaces between the brackets are counted as part of the 'string'.

       nokill This  flag tells MozPlugger to not try to kill the command when leaving the page, and to not start
              the command in a loop. This is normally used for applications that are not swallowed and can  play
              multiple files, such as xmms.

       exits  This flag tells MozPlugger that the command will exits straight away and hence does not need to be
              killed when leaving the page, and to not start the command in a loop. This is  normally  used  for
              applications that just display an image in the $window and then exit.

       fill   This flag tells MozPlugger to maximize a swallowed window.

       maxaspect
              This  flag  tells  Mozplugger  to maximize a swallowed window while keeping the width/height ratio
              constant.

       controls
              This flag tells MozPlugger to draw controls and is typically used with audio files  to  display  a
              controller  with  the  buttons  play, pause and stop.  Be aware if the embedded object has no sub-
              window defined within the browser's window (e.g. if the HTML uses the tag hidden = true) then  the
              controls will not appear.

       embed  This  flags tells Mozplugger to only use this command if the associated HTML refers to an embedded
              object that is a small part of a HTML page.

       noembed
              This flags tells Mozplugger to only use this command if the associated HTML refers to  a  separate
              window that only contains the object.

       links  This  flag tells Mozplugger to only use this command for embedded objects that are really links to
              external applications (such objects typically use the target and  href  variables  to  indicate  a
              clickable link). Embedded Quicktime objects sometimes use this mechanism.

       needs_xembed
              Some  applications  when  embedded requires the Xembed protocol, other applications don't want the
              Xembed protocol. Add or remove this flag if you find that you cannot move keyboard  focus  to  the
              embedded window. Currently it appears QT4 based applications require this flag.

ENVIRONMENT VARIABLES

       There are some envirnoment variables that control the behaviour of Mozplugger.

       MOZPLUGGER_HOME
              If  MOZPLUGGER_HOME  is defined, the folder $MOZPLUGGER_HOME is checked for the configuration file
              mozpluggerrc

       MOZPLUGGER_TMP
              If MOZPLUGGER_TMP is defined,  then any temporary files are placed in $MOZPLUGGER_TMP.

       TMPDIR If MOZPLUGGER_TMP is not defined, but TMPDIR is defined, then any temporary files  are  placed  in
              $TMPDIR/mozplugger-xxx/ where xxx = PID.

       PATH   Mozplugger uses PATH to look for executables

       MozPlugger gives some variables to /bin/sh when running the command,
              these variables are:

       $autostart
              This  variable  contains  1  or  0.  When  set  to  1  it  indicates that the command should start
              playing/showing the associated media.  By default it is 0  if  controls  flag  is  present  and  1
              otherwise,  but  it  is  overridden  if  the  associated  HTML contains the attribute autostart or
              autoplay.  Command/applications that use this environment variable should also have the  autostart
              flag set.

       $repeats
              This variable contains how many times the file should be played.  By default it is once, but it is
              overridden  if  the  associated  HTML  contains  the  attribute  loop,   numloop   or   playcount.
              Command/applications which use this environment variable should also have the repeat flag set.

       $window
              This  is  the  X  window  Mozilla has given the plugin. This can be used with applications such as
              MPlayer to display graphics inside the mozilla window. Be aware if the embedded object has no sub-
              window  defined within the browser's window (e.g. if the HTML uses the tag hidden = true) then the
              variable will have the value zero (null).

       $hexwindow
              Same as $window except the value is expressed as an hexidecimal string in the form 0xNNNNNN  where
              NNNNNN is the hexadecimal digits.

       $width This  is  the  horizontal  resolution  in pixels and is taken from the width attribute in the HTML
              code.

       $height
              This is the vertical resolution in pixels and is taken from the height attribute in the HTML code.

       $file  This is the file to play.  If the command has the stream flag set, this variable contains the  URL
              of  the  file  to  play.  This  is  taken  from the associated HTML code. The value is that of the
              attribute src, data, href, qtsrc, filename, url or location depending  on  which  is  present  and
              whether  the  <EMBED>  or <OBJECT> tag is used. If the stream is not set, this variable contains a
              local temporary file that the browser has created.

       $fragment
              This is the part of the original URL that appears  after  the  #  if  it  exists.  Sometimes  this
              contains additional information that could be useful for the application e.g. starting page number
              in a pdf document

       $mimetype
              This variable contains the mime type of $file.

       $VAR_<parameter_name>
              All the parameters of the <EMBED> or <OBJECT> tags are  made  available  in  mozpluggerrc  through
              environment  variables.  For example the parameter loop="1" in an <EMBED> tag defines the variable
              VAR_loop=1.

BUGS

       You have  to  remove  ~/.netscape/plugin-list  or  ~/.mozilla/firefox/pluginreg.dat  after  changing  the
       configuration, or nothing will happen. This is a Netscape/Mozilla/Firefox bug, not a MozPlugger bug.

       Netscape  3.x  will  not play anything for <EMBED> tags for which height or width are zero. This too is a
       Netscape bug.

       Occassionally you may notice some zombie mozplugger-helper processes (defunct), this is not a  bug,  this
       is  by  design.  The  zombie  processes occur when either the application exits or when using nokill flag
       (without exiting the page with the embedded object). The zombie(s) are reaped when closing the  web  page
       containing the associated embedded objects.

       If  using behind a non-transparent HTTP proxy, it may be found that the commands using the stream flag do
       not work. This is because the proxy settings are not passed to the application in the  command  line.  To
       work  around  this  situation,  don't  use  the  stream  flag OR edit the mozpluggerrc file and passed in
       necessary proxy setiings via the command line.

       It has been found that certain combinations of browser and  embedded  application  don't  allow  keyboard
       focus  in the embedded application, if this happens to you try adding or removing the "needs_xembed" flag
       from the associated command in mozpluggerrc.

AUTHORS

       Fredrik Hubinette, hubbe@hubbe.net
       Louis Bavoil, louis@bavoil.net
       Peter Leese, peter@leese.net

                                                   2012 Jan 04                                     mozplugger(7)