pkg://x11amp-0.9_alpha3-6.src.rpm:533013/x11amp-0.9-alpha3-plugin-fallback.patch
info downloads
--- x11amp-0.9-alpha3/Output/esd/audio.c.raster Thu Apr 8 16:36:19 1999
+++ x11amp-0.9-alpha3/Output/esd/audio.c Thu Apr 8 17:12:37 1999
@@ -140,11 +140,13 @@
esdfmt |= ESD_BITS8;
else
esdfmt |= ESD_BITS16;
+ /* disable esd spawn fallback */
+ putenv("ESD_NO_SPAWN=1");
fd=esd_play_stream(esdfmt, frequency, NULL, "x11amp - plugin");
if(fd==-1)
{
g_free(buffer);
- pthread_exit(NULL);
+ pthread_exit(NULL);
}
/* there is this pesky problem with esd... when I start playing a song
a loud popping sound often occurs. This buffer of 0's seems to help.
--- x11amp-0.9-alpha3/Input/wav/wav.c.raster Thu Apr 8 17:42:20 1999
+++ x11amp-0.9-alpha3/Input/wav/wav.c Thu Apr 8 17:45:50 1999
@@ -332,13 +332,27 @@
wav_file->position=0;
wav_file->going=1;
- if(wav_ip.output->open_audio((wav_file->bits_per_sample==16)?FMT_S16_LE:FMT_U8,wav_file->samples_per_sec,wav_file->channels)==0)
+ if(!wav_ip.output->open_audio((wav_file->bits_per_sample==16)?FMT_S16_LE:FMT_U8,wav_file->samples_per_sec,wav_file->channels))
{
- fprintf(stderr,"Couldn't open audio!\n");
- fclose(wav_file->file);
- free(wav_file);
- wav_file=NULL;
- return;
+ int i = 0;
+
+ while (1)
+ {
+ wav_ip.output = set_current_output_plugin(i++);
+
+ if (!wav_ip.output)
+ {
+ fprintf(stderr,"Couldn't open audio!\n");
+ fclose(wav_file->file);
+ free(wav_file);
+ wav_file=NULL;
+ return;
+ }
+ if(wav_ip.output->open_audio((wav_file->bits_per_sample==16)?FMT_S16_LE:FMT_U8,wav_file->samples_per_sec,wav_file->channels))
+ {
+ break;
+ }
+ }
}
temp=strrchr(filename,'/');
if(!temp) temp=filename;
--- x11amp-0.9-alpha3/Input/mpg123/mpg123.c.raster Thu Apr 8 17:50:31 1999
+++ x11amp-0.9-alpha3/Input/mpg123/mpg123.c Thu Apr 8 17:41:47 1999
@@ -571,15 +571,31 @@
if(!real_open(filename))
return NULL ;
+ printf("decode loop\n");
if(!ip.output->open_audio(mpg123_cfg.resolution==16?FMT_S16_NE:FMT_U8,
freqs[fr.sampling_frequency]>>mpg123_cfg.downsample,
mpg123_cfg.channels==2?fr.stereo:1))
{
- fprintf(stderr,"Couldn't open audio!\n");
- info->eof=TRUE;
+ int i = 0;
+
+ while (1)
+ {
+ ip.output = set_current_output_plugin(i++);
+ if (!ip.output)
+ {
+ info->eof=TRUE;
+ break;
+ }
+ if(ip.output->open_audio(mpg123_cfg.resolution==16?FMT_S16_NE:FMT_U8,
+ freqs[fr.sampling_frequency]>>mpg123_cfg.downsample,
+ mpg123_cfg.channels==2?fr.stereo:1))
+ {
+ break;
+ }
+ }
}
- else
- play_frame(&fr);
+ if (!info->eof)
+ play_frame(&fr);
/*
* We don't want to output the first frame since it will be fucked up if the previous
--- x11amp-0.9-alpha3/Input/mikmod/plugin.c.raster Thu Apr 8 17:47:53 1999
+++ x11amp-0.9-alpha3/Input/mikmod/plugin.c Thu Apr 8 17:48:14 1999
@@ -357,9 +357,22 @@
if (!(mikmod_ip.output->open_audio (format, md_mixfreq, channelcnt)))
{
- mikmod_ip.set_info_text ("Couldn't open Audio");
- going = 0;
- return;
+ int i = 0;
+
+ while (1)
+ {
+ mikmod_ip.output = set_current_output_plugin(i++);
+ if (!mikmod_ip.output)
+ {
+ mikmod_ip.set_info_text ("Couldn't open Audio");
+ going = 0;
+ return;
+ }
+ if ((mikmod_ip.output->open_audio (format, md_mixfreq, channelcnt)))
+ {
+ break;
+ }
+ }
}
Player_Start (mf);