[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-devel
Subject: Re: lame support and patent issues, stubbing things out
From: Marc Espie <espie () schutzenberger ! liafa ! jussieu ! fr>
Date: 2001-08-26 14:03:55
[Download RAW message or body]
Actually, slightly more stuff is needed. Because as is, audiocd will stop
working as soon as it finds a non-working lame.
--- kioslave/audiocd/audiocd.cpp.orig Sun Jul 29 06:56:35 2001
+++ kioslave/audiocd/audiocd.cpp Sun Aug 26 14:48:51 2001
@@ -273,11 +288,13 @@ AudioCDProtocol::initRequest(const KURL
{
#ifdef HAVE_LAME
- if (NULL == (d->gf = lame_init())) { // init the lame_global_flags structure with \
defaults
- error(KIO::ERR_DOES_NOT_EXIST, url.path());
- return 0;
- }
- id3tag_init (d->gf);
+ d->gf = lame_init(); // init the lame_global_flags structure with defaults
+ if (d->gf != NULL)
+ id3tag_init (d->gf);
+// if (NULL == (d->gf = lame_init())) {
+ // error(KIO::ERR_DOES_NOT_EXIST, url.path());
+ // return 0;
+// }
#endif
#ifdef HAVE_VORBIS
@@ -429,7 +446,7 @@ AudioCDProtocol::get(const KURL & url)
QString filetype = determineFiletype(d->fname);
#ifdef HAVE_LAME
- if (filetype == "mp3" && d->based_on_cddb && d->write_id3) {
+ if (filetype == "mp3" && d->gf != NULL && d->based_on_cddb && d->write_id3) {
/* If CDDB is used to determine the filenames, tell lame to append ID3v1 TAG to \
MP3 Files */
const char *tname = d->titles[trackNumber-1].latin1(); // set trackname
id3tag_set_album(d->gf, d->cd_title.latin1());
@@ -746,8 +763,11 @@ AudioCDProtocol::listDir(const KURL & ur
listEntry(entry, false);
#ifdef HAVE_LAME
- app_dir(entry, d->s_mp3, d->tracks);
- listEntry(entry, false);
+ if (d->gf != NULL)
+ {
+ app_dir(entry, d->s_mp3, d->tracks);
+ listEntry(entry, false);
+ }
#endif
#ifdef HAVE_VORBIS
@@ -1075,7 +1095,7 @@ static char mp3buffer[mp3buffer_size];
++currentSector;
#ifdef HAVE_LAME
- if ( filetype == "mp3" ) {
+ if ( filetype == "mp3" && d->gf != NULL) {
int mp3bytes =
lame_encode_buffer_interleaved(d->gf,buf,CD_FRAMESAMPLES,(unsigned char \
*)mp3buffer,(int)mp3buffer_size);
@@ -1158,7 +1178,7 @@ static char mp3buffer[mp3buffer_size];
}
}
#ifdef HAVE_LAME
- if (filetype == "mp3") {
+ if (filetype == "mp3" && d->gf != NULL) {
int mp3bytes = lame_encode_finish(d->gf,(unsigned char \
*)mp3buffer,(int)mp3buffer_size);
if (mp3bytes < 0 ) {
@@ -1224,94 +1244,96 @@ void AudioCDProtocol::getParameters() {
#ifdef HAVE_LAME
- config->setGroup("MP3");
+ if (d->gf != NULL)
+ {
+ config->setGroup("MP3");
- int quality = config->readNumEntry("quality",2);
+ int quality = config->readNumEntry("quality",2);
- if (quality < 0 ) quality = 0;
- if (quality > 9) quality = 9;
+ if (quality < 0 ) quality = 0;
+ if (quality > 9) quality = 9;
- int method = config->readNumEntry("encmethod",0);
+ int method = config->readNumEntry("encmethod",0);
- if (method == 0) {
-
- // Constant Bitrate Encoding
- lame_set_VBR(d->gf, vbr_off);
- lame_set_brate(d->gf,config->readNumEntry("cbrbitrate",160));
- d->bitrate = lame_get_brate(d->gf);
- lame_set_quality(d->gf, quality);
+ if (method == 0) {
+
+ // Constant Bitrate Encoding
+ lame_set_VBR(d->gf, vbr_off);
+ lame_set_brate(d->gf,config->readNumEntry("cbrbitrate",160));
+ d->bitrate = lame_get_brate(d->gf);
+ lame_set_quality(d->gf, quality);
- } else {
-
- // Variable Bitrate Encoding
-
- if (config->readBoolEntry("set_vbr_avr",true)) {
+ } else {
+
+ // Variable Bitrate Encoding
+
+ if (config->readBoolEntry("set_vbr_avr",true)) {
- lame_set_VBR(d->gf,vbr_abr);
- lame_set_VBR_mean_bitrate_kbps(d->gf, \
config->readNumEntry("vbr_average_bitrate",0)); + lame_set_VBR(d->gf,vbr_abr);
+ lame_set_VBR_mean_bitrate_kbps(d->gf, \
config->readNumEntry("vbr_average_bitrate",0));
- d->bitrate = lame_get_VBR_mean_bitrate_kbps(d->gf);
+ d->bitrate = lame_get_VBR_mean_bitrate_kbps(d->gf);
- } else {
+ } else {
- if (lame_get_VBR(d->gf) == vbr_off) lame_set_VBR(d->gf, vbr_default);
+ if (lame_get_VBR(d->gf) == vbr_off) lame_set_VBR(d->gf, vbr_default);
- if (config->readBoolEntry("set_vbr_min",true))
- lame_set_VBR_min_bitrate_kbps(d->gf, config->readNumEntry("vbr_min_bitrate",0));
- if (config->readBoolEntry("vbr_min_hard",true))
- lame_set_VBR_hard_min(d->gf, 1);
- if (config->readBoolEntry("set_vbr_max",true))
- lame_set_VBR_max_bitrate_kbps(d->gf, config->readNumEntry("vbr_max_bitrate",0));
+ if (config->readBoolEntry("set_vbr_min",true))
+ lame_set_VBR_min_bitrate_kbps(d->gf, config->readNumEntry("vbr_min_bitrate",0));
+ if (config->readBoolEntry("vbr_min_hard",true))
+ lame_set_VBR_hard_min(d->gf, 1);
+ if (config->readBoolEntry("set_vbr_max",true))
+ lame_set_VBR_max_bitrate_kbps(d->gf, config->readNumEntry("vbr_max_bitrate",0));
- d->bitrate = 128;
- lame_set_VBR_q(d->gf, quality);
-
- }
+ d->bitrate = 128;
+ lame_set_VBR_q(d->gf, quality);
+
+ }
- if ( config->readBoolEntry("write_xing_tag",true) ) lame_set_bWriteVbrTag(d->gf, \
1); + if ( config->readBoolEntry("write_xing_tag",true) ) \
lame_set_bWriteVbrTag(d->gf, 1);
- }
+ }
- switch ( config->readNumEntry("mode",0) ) {
+ switch ( config->readNumEntry("mode",0) ) {
- case 0: lame_set_mode(d->gf, STEREO);
- break;
- case 1: lame_set_mode(d->gf, JOINT_STEREO);
- break;
- case 2: lame_set_mode(d->gf,DUAL_CHANNEL);
- break;
- case 3: lame_set_mode(d->gf,MONO);
- break;
- default: lame_set_mode(d->gf,STEREO);
- break;
- }
+ case 0: lame_set_mode(d->gf, STEREO);
+ break;
+ case 1: lame_set_mode(d->gf, JOINT_STEREO);
+ break;
+ case 2: lame_set_mode(d->gf,DUAL_CHANNEL);
+ break;
+ case 3: lame_set_mode(d->gf,MONO);
+ break;
+ default: lame_set_mode(d->gf,STEREO);
+ break;
+ }
- lame_set_copyright(d->gf, config->readBoolEntry("copyright",false));
- lame_set_original(d->gf, config->readBoolEntry("original",true));
- lame_set_strict_ISO(d->gf, config->readBoolEntry("iso",false));
- lame_set_error_protection(d->gf, config->readBoolEntry("crc",false));
+ lame_set_copyright(d->gf, config->readBoolEntry("copyright",false));
+ lame_set_original(d->gf, config->readBoolEntry("original",true));
+ lame_set_strict_ISO(d->gf, config->readBoolEntry("iso",false));
+ lame_set_error_protection(d->gf, config->readBoolEntry("crc",false));
- d->write_id3 = config->readBoolEntry("id3",true);
+ d->write_id3 = config->readBoolEntry("id3",true);
- if ( config->readBoolEntry("enable_lowpassfilter",false) ) {
+ if ( config->readBoolEntry("enable_lowpassfilter",false) ) {
- lame_set_lowpassfreq(d->gf, config->readNumEntry("lowpassfilter_freq",0));
+ lame_set_lowpassfreq(d->gf, config->readNumEntry("lowpassfilter_freq",0));
- if (config->readBoolEntry("set_lowpassfilter_width",false)) {
- lame_set_lowpasswidth(d->gf, config->readNumEntry("lowpassfilter_width",0));
- }
+ if (config->readBoolEntry("set_lowpassfilter_width",false)) {
+ lame_set_lowpasswidth(d->gf, config->readNumEntry("lowpassfilter_width",0));
+ }
- }
+ }
- if ( config->readBoolEntry("enable_highpassfilter",false) ) {
+ if ( config->readBoolEntry("enable_highpassfilter",false) ) {
- lame_set_highpassfreq(d->gf, config->readNumEntry("highpassfilter_freq",0));
+ lame_set_highpassfreq(d->gf, config->readNumEntry("highpassfilter_freq",0));
- if (config->readBoolEntry("set_highpassfilter_width",false)) {
- lame_set_highpasswidth(d->gf, config->readNumEntry("highpassfilter_width",0));
+ if (config->readBoolEntry("set_highpassfilter_width",false)) {
+ lame_set_highpasswidth(d->gf, \
config->readNumEntry("highpassfilter_width",0)); + }
+ }
}
-
- }
#endif // HAVE_LAME
#ifdef HAVE_VORBIS
> > Visit http://mail.kde.org/mailman/listinfo/kde-devel#unsub to unsubscribe <<
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic