| Server IP : 182.53.201.61 / Your IP : 216.73.217.175 Web Server : Apache/2.2.15 (Fedora) System : Linux km10.dyndns.org 2.6.31.5-127.fc12.i686.PAE #1 SMP Sat Nov 7 21:25:57 EST 2009 i686 User : apache ( 48) PHP Version : 5.3.3 Disable Function : NONE MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/share/doc/libfreebob-1.0.11/ |
Upload File : |
FreeBoB version 1.0.0
=====================
This project aims to provide a free driver implemenation for the BeBoB
platform. The BeBoB is used in many available IEEE 1394 based break-out
boxes.
Dependencies
------------
To build libfreebob you need several libraries. For all libraries a
version is provided which is a 'known good' version. The first few
libraries it seems it is not necessary that the version must
match. The chances that it works also with an older versions are good:
alsa (>= 1.0.0)
libxml2 (>= 2.6.0)
libpthread (>= 2.3.5)
These libraries here should be at least the version listed:
libraw1394 (>= 1.2.1), http://www.linux1394.org
libiec61883 (>= 1.1.0), http://www.linux1394.org
libavc1394 (>= 0.5.3), http://sourceforge.net/projects/libavc1394
Currently only the jackd audio server is supported.
jackd (>= 0.102.20), http://jackaudio.org
Optionally, but recommended is that you install qjackctl:
qjackctl (>= 0.2.21), http://sourceforge.net/projects/qjackctl
How to build
------------
Building the code is straight forward if PKG_CONFIG_PATH, LD_LIBRARY_PATH
and INCLUDE_PATH is correctly set up.
E.g on my system I have installed libraw1394, libiec61883 and libavc1394
under /usr/local:
$ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
$ export LD_LIBRARY_PATH=/usr/local/lib
If you want to build the release version you can do following:
$ ./configure
$ make
$ make install
If you want some debug information (because something seems not
to work correctly) you can try do following (not CVS checkout):
$ ./configure --enable-debug
$ make
$ make install
NOTE: In order to build jackd with freebob support, you have
to install libfreebob before you build jackd.
Running jackd
-------------
The easiest way to run this is using qjackctl. There are only minor
differences with the other backends, however you should change some
of the default values:
- The 'interface' field should contain only a number. This number is
the port number of the IEEE1394 host controller the audio device
is connected to. For most people this will be '0', but if you have
multiple controllers, you have to change this number.
- The 'Input channels' and 'Output channels' fields indicate if the
backend should provide capture and/or playback channels. If you set
these to 0, no channels are created. In order to enable capture and/or
playback, you have to set them to a nonzero value.
- It is recommended to change the 'periods/buffer' field to 3, especially
if you use low period sizes (=< 128)
- It is recommended to raise the RT priority to 70.
In order to get it running from the command line, you need to provide some
arguments to jackd.
Run
$ jackd -d freebob --help
to see the backend options. You can easily figure out how to set them using
the remarks given above (for qjackctl).
For the other aspects of jackd usage, consult the jackd documentation.
Here is a sample session (without realtime support enabled):
[wagi@halo ~]$ jackd -d freebob
jackd 0.102.9
Copyright 2001-2005 Paul Davis and others.
jackd comes with ABSOLUTELY NO WARRANTY
This is free software, and you are welcome to redistribute it
under certain conditions; see the file COPYING for details
JACK compiled with System V SHM support.
loading driver ..
Freebob using Firewire port 0, node -1
libiec61883 warning: Established connection on channel 0.
You may need to manually set the channel on the receiving node.
libiec61883 warning: Established connection on channel 1.
You may need to manually set the channel on the transmitting node.
In case of problems
-------------------
Under the tests directory there is a test program. You should first
try to run this.
If you don't have installed libfreebob then you can adapt your
LD_LIBRARY_PATH environment variable to
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:../src/.libs
Then you can try running the program without having to install it.
With the release version you see something like this:
wagi@cruxam:~/src/libfreebob/tests$ ./test-freebob discover
verbose level = 0
Using freebob library version: libfreebob 0.9.0
port = 2, devices_on_bus = 1
get info for device = 0, node = 1
Direction: 0 (capture)
Connection Info
===============
Number of connections: 1
Connection 0
-------------
[ 0] Id: 0
[ 0] Port: 2
[ 0] Node: 1
[ 0] Plug: 0
[ 0] Dimension: 7
[ 0] Samplerate: 44100
[ 0] IsoChannel: -1
[ 0] IsMaster: 0
[ 0] Number of stream infos: 8
StreamId Position Location Format Type DPort Name
--------------------------------------------------
[ 0]:[ 0] 0x01 0x01 0x06 0x02 0x00 MicIn 1+2 left
[ 0]:[ 1] 0x04 0x02 0x06 0x02 0x00 MicIn 1+2 right
[ 0]:[ 2] 0x02 0x01 0x06 0x03 0x00 LineIn 1+2 left
[ 0]:[ 3] 0x05 0x02 0x06 0x03 0x00 LineIn 1+2 right
[ 0]:[ 4] 0x00 0x01 0x06 0x04 0x00 SpdifIn 1 left
[ 0]:[ 5] 0x03 0x02 0x06 0x04 0x00 SpdifIn 1 right
[ 0]:[ 6] 0x06 0x01 0x0d 0x0a 0x00 MidiIn2
[ 0]:[ 7] 0x06 0x02 0x0d 0x0a 0x00 MidiIn2
Direction: 1 (playback)
Connection Info
===============
Number of connections: 1
Connection 0
-------------
[ 0] Id: 0
[ 0] Port: 2
[ 0] Node: 1
[ 0] Plug: 0
[ 0] Dimension: 11
[ 0] Samplerate: 44100
[ 0] IsoChannel: -1
[ 0] IsMaster: 0
[ 0] Number of stream infos: 12
StreamId Position Location Format Type DPort Name
--------------------------------------------------
[ 0]:[ 0] 0x01 0x01 0x06 0x03 0x00 MultiChannel 7.1 Front left
[ 0]:[ 1] 0x06 0x02 0x06 0x03 0x00 MultiChannel 7.1 Front right
[ 0]:[ 2] 0x02 0x03 0x06 0x03 0x00 MultiChannel 7.1 Center
[ 0]:[ 3] 0x07 0x04 0x06 0x03 0x00 MultiChannel 7.1 Subwoofer
[ 0]:[ 4] 0x03 0x05 0x06 0x03 0x00 MultiChannel 7.1 Rear left
[ 0]:[ 5] 0x08 0x06 0x06 0x03 0x00 MultiChannel 7.1 Rear right
[ 0]:[ 6] 0x04 0x07 0x06 0x03 0x00 MultiChannel 7.1 Surround left
[ 0]:[ 7] 0x09 0x08 0x06 0x03 0x00 MultiChannel 7.1 Surround right
[ 0]:[ 8] 0x00 0x01 0x06 0x04 0x00 SpdifOut 1 left
[ 0]:[ 9] 0x05 0x02 0x06 0x04 0x00 SpdifOut 1 right
[ 0]:[10] 0x0a 0x01 0x0d 0x0a 0x00 MidiOut2
[ 0]:[11] 0x0a 0x02 0x0d 0x0a 0x00 MidiOut2
If you don't get this, check if you have multiple host controllers, and
use the -p parameter to specify them. If you get any error messages, the
best way to help us figure out what the problem might be is to build the
debug version (./configure --enable-debug). You can then rerun the test
application and send us its output.
Known problems (a.k.a bugs)
---------------------------
- The 1394 bus related resources are not freed correctly. That means after a
few restarts of jackd the allocation of new resources will fail and jackd
will barf out. The error looks like this:
DRIVER NT: could not start driver
cannot start driver
A simple workaround is to reset the bus. This can either
be done with gscanbus (http://gscanbus.berlios.de) 'Control->Force Bus Reset'
or removing your device and re-attaching it to the bus.