This is a Debian Multimedia (DeMudi) mailing list memo wiki page

Application Policy

The policy should be found in debian-multimedia package which contains the policy document and other misc goods for basic Debian Multimedia configuration.

process

The contents here are discussed in debian-multimedia mailing list.

configuring user/group settings

group 'audio': members will have access to audio hardware.

group 'video': members will have access to video hardware.

group 'cdrom': members will have access to CD-ROM/DVD-ROM hardware.

Known problems:

User permissions: These permissions are not configured automatically, so requires administrator intervention for every single user added to the system. [http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=147518 #147518] By default users will not get video/audio device access and thus can't output audio or use 3D/XVideo(?) acceleration.

Realtime previlege support currently broken: Needs pam support http://bugs.debian.org/313588 http://bugs.debian.org/326555

well-known device files

/dev/dvd

symbollic link to DVD device

/dev/cdrom

symbollic link to CDROM device

/dev/audio

symbollic link to default OSS device

/dev/dsp

symbollic link to default OSS device

sound input/output selection

When applications try to open a sound device, they should try to detect what sound output device is available. The priority of detection should be

  1. jack
  2. esd/arts/etc sound daemons
  3. alsa
  4. oss

and the applications should not start jack/esd/arts daemon themselves.

Currently discussed

Do we need to support all or just JACK/ALSA.

artsd supports JACK output

libjackasyn 'jacklaunch' allows OSS to JACK output.

jack

When connecting to jack as jack client, applications should have a reasonable default output connection. (This point was discussed in linux-audio-user, and trying to guess a default output without knowing what it really is considered not too favorable)

midi

ideas:

When MIDI is supported, it should have a documented MIDI sequencer input/output device, documented in /usr/share/debian-multimedia/midi/{application} in XXX format

or

Users should be able to specify which ports applications should automagically connect to, configured in /etc/debian-multimedia/midi/XXXX

Example ways of invoking MIDI synthesizer server

timidity

timidity -B2,7 -Oj -iA

for the programming interface, it is documented in alsa documentation, which can be found in libasound2-doc package in Debian.

about the protocol, refer to external documentation. e.g. http://www.hinton-instruments.co.uk/midi/midicode.html http://www.borg.com/~jglatt/tech/midispec.htm

LADSPA

packages should install LADSPA plugins in

/usr/lib/ladspa/*.so

and add a Provides: ladspa-plugin

packages supporting ladspa plugins should seek for LADSPA plugins in

/usr/local/lib/ladspa:/usr/lib/ladspa/ iff LADSPA_PATH is unset.

and add a Recommends: ladspa-plugin (or Depends)

Package names can be taken from upstream names. If the upstream name is ambiguous, or otherwise unsuitable for a Debian package name, the binary package should be named as:

ladspa-pluginname

DSSI

A DSSI plugin is a LADSPA plugin, and should be packaged similarly to LADSPA plugin.

Currently the packages are named dssi-XXX-XXXX.

dssi-host-XXX

DSSI hosts

dssi-plugin(s?)-XXX

DSSI plugin? none are really packaged yet

DSSI maintainers, please fill in here.

session handling (LASH)

Not yet packaged, waiting for ggeiger.

Video Policy

v4l2

[http://linuxtv.org/v4lwiki/index.php/Main_Page video4linux2] is in the kernel since 2.5.x

codecs

Each framework (mplayer, xine, vlc, gstreamer) has its own codec system. A codec such as theora is implemented as its own library (libtheora), which is then wrapped up by each of the multimedia frameworks.

MPlayer (from upstream) usually expects to find win32 codec DLLs in /usr/local/lib/codecs.

Free codecs

Applications should be packaged to support free codecs wherever possible, such as [http://www.theora.org/ Theora].

Current Problems

There is no viable standard input/output system for video.

Gstreamer currently fills that gap in most parts.

External Links

DebianMultimedia/DevelopPackaging