You are here: Home Radio Resources Rivendell Compliling Rivendell With Ogg and Mpeg Support

Compliling Rivendell With Ogg and Mpeg Support

Document Actions

Download latest cvs from Salem Radio Labs:

cvs -d:pserver:anonymous@cvs.salemradiolabs.com/home/cvs/srl co libradio

cvs -d:pserver:anonymous@cvs.salemradiolabs.com/home/cvs/srl co rivendell
cvs -d:pserver:anonymous@cvs.salemradiolabs.com/home/cvs/srl co librhpi if you have a audio science card

Download and apply patches:

For Ogg Vorbis and Mpeg support:

Libradio Ogg Vorbis + Mad Patch and Rivendell Ogg Vorbis + Mad Patch works only with jack driver.  Mpeg support is read only.  Requires ogg-vorbis format for rdlibrary importation.   Imported mpeg files will be copied in and not converted to ogg-vorbis.

For Ogg Vorbis support only:

Libradio Ogg Vorbis Patch and Rivendell Ogg Vorbis Patch and librhpi ogg vorbis patch Ogg-vorbis support tested with jack driver.  Recording to ogg-vorbis doesn't work well without realtime capability enabled for jack or alsa.


Patch, compile and install librhpi

Patch libradio and configure:

LDFLAGS=-lmad ./configure Note: you don't need the LDFLAGS if not compiling mpeg support in.

Install libradio.

Patch rivendell and configure:

LDFLAGS=-lmad ./configure

Install rivendell

libradio changes from srl cvs

2006-12-18 Darrick Servis <darrick@dcn.org>
    * Added Stefans patch to handle energy data cache files for oggvorbis
    encoding.
2006-12-26
        * Added error checking to ReadEnergyFile() in radio/rwavefile.cpp.

rivendell changes from srl cvs

2006-12-18 Darrick Servis <darrick@dcn.org>
        * Added support for playback and recording of OggVorbis in
    cae/cae_alsa.cpp, cae/cae_jack.cpp and cae/cae_hpi.cpp.  Only tested
    with jack.
    * Added Flac and OggVorbis codings to lib/rdcae.h.
    * Applied Stefan's patch for handling ogg vorbis energy files to
    lib/rdcart.cpp and lib/rdcut.cpp.
    * Tied the import and export radio buttons to their labels in
    lib/rdimport_audio.cpp.
    * Changed from system call to QProcess for handling rd_import_file and
    rd_export_file in lib/rdimport_audio.cpp.  Fixes problems with filenames which need to be
    escaped or unicoded.
    * Modified progress bar in lib/rdimport_audio.cpp to not guesstimate
    the percentage complete (which is usually wrong for ogg files.)
    Instead just make things look busy.
    * Added Flac and OggVorbis encodings to lib/rdlibrary_conf.cpp and
    rdlogedit_conf.cpp. 
    TODO:
    noticied that value of RDSettings::MpegL2 is sometimes hard coded as
    1.  I've been going on the assumption that RDSettings::Format equals
    RDCae::AudioCodings.  So I've also changed rd_import_file and
    rd_export_file to match these.  All in all you'll want to reset your
    encoding values in RDAdmin so they have the proper value stored.
    Haven't looked to see what's hard-coded in librhpi yet.  If you also
    compare the code between rdadmin/edit_rdlibrary.cpp and
    rdadmin/edit_decks.cpp you'll see edit_decks setting the coding to 2
    in the database while edit_rdlibrary and edit_rdlogedit sets the
    coding to 1 for mpeg2. scripts/rd_export_file set MpegL2 coding as 2.
    * Added OggVorbis options to rdadmin/edit_rdlibrary.cpp,
    rdadmin/edit_decks.cpp and rdadmin/edit_rdlogedit.cpp
    * Fixed bug in rdcatch where "add new cart" showed no groups when
    added "download" events in rdcatch/edit_download.cpp
    * Added OggVorbis support for importing and exporting in
    rdcatchd/rdcatchd.cpp
    * Added a better default setting for encoding quality until we have a
    gui for it.  in rdlibrary/audio_cart.cpp.
    * Added OggVorbis support for CD ripping in rdlibrary/cdripper.cpp and
    rdlibrary/disk_ripper.cpp
    * Added OggVorbis recording in rdlibrary/record_cut.cpp
    * Added OggVorbis recording in rdlogedit/voice_tracker.cpp.  This also
    had MpegL2 coding hard coded as 1.
    * Added OggVorbis export support in scripts/rd_export_file.  Changed
    MpegL2 from 1 to 2.
    * Added OggVorbis import function in scripts/rd_import_file and
    scripts/rd_rip_cd.
    * Modified regexp for getting the import files extension (sed command
    only handled ascii characters) in scripts/rd_import_file.
    * Stefan modified utils/rdfilewrite/rdfilewrite.cpp to write energy
    cache files for imported audio.
2006-12-26 Darrick Servis <darrick@dcn.org>
        * Fixed race condition in cae/cae_jack.cpp where
    FreeJackOutputStream(stream) could delete jack_play_ring[stream] while
    jack_play_ring[stream] is being called by JackProcess().
    * Fixed bugs in error handling for lib/rdimport_audio.cpp.
    * Fixed ogg playback in cae/cae_alsa.cpp.  Tested.  Recording ogg
    doesn't work but I believe it has to do with realtime control.
    * Added --do-energy and --in-file switches to rdfilewrite.
    --do-energy will create the energy file for stdin.  --in-file allows
    for testing libradio formats by being able to use rdfilewrite to copy
    between formats libradio supports.
    * Added option for rdfilewrite to encode ogg files.  These changes
    stream line the import/export process for ogg files.


© 2005 KDRT 101.5 FM • Davis, California