Compliling Rivendell With Ogg and Mpeg Support
Download latest cvs from Salem Radio Labs:
cvs -d:pserver:anonymous@cvs.salemradiolabs.com/home/cvs/srl co libradiocvs -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
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.