Esben Stien wrote:
> Salvatore Di Pietro <salvuz_78@email-addr-hidden> writes:
>
>
>>I am experiencing problems during the build (and consequently
>>modprobe) process of Kor Nielsen hacked version of kfusd module for
>>OSS2JACK, fusd-kor-1.10-9.
>
>
> I used this patch:
>
> http://bugs.gentoo.org/show_bug.cgi?id=96449
>
> Well, actually it didn't apply, so I patched it manually (just a few
> lines).
>
> Also see this link:
>
> http://forums.gentoo.org/viewtopic-t-354750-postdays-0-postorder-asc-start-50.html?sid=ddb88bc061d05154928a941f096cea66
>
Thank you! I had to patch it manually, too, and in attachment here's the
patch I made: apply with
patch -p1 </path/to/fusd-kor-1.10-9_kernel_2.6.13_patch
> I run 2.6.13-rt4 with oss2jack. I have never used this solution before
> and I experience different troubles like crackles in the sound and I'm
> also not able to feed a jack stream into it. It connects but it's not
> putting the stream into the oss app.
It really depends on the application. Good results are with (according
to info on website):
* mplayer
* artsd (and thus all the kde applications)
* xmms
* Macromedia Flash
* xine
* Totem
* esd
* SoundTracker
* Frozen Bubble
* GStreamer (osssink)
* Quake 3
* Audacity
* Skype
I dind't manage to make it work with Audacity, though...
With Skype I had no problem:
http://alsa.opensrc.org/index.php?page=JACK
> I'll do some more testing before I ask anything specific, but please
> report back if you get it to work with inputs and no crackles in the
> sound.
--- fusd-kor-1.10-9/kfusd/kfusd.c 2005-06-18 08:53:52.000000000 +0200
+++ fusd-kor-1.10-9.bak/kfusd/kfusd.c 2005-09-16 00:38:51.000000000 +0200
@@ -125,12 +125,12 @@
STATIC dev_t control_id;
STATIC dev_t status_id;
-static struct class_simple *fusd_class;
+static struct class *fusd_class;
static struct class_device *fusd_control_class_device;
static struct class_device *fusd_status_class_device;
-extern struct class_simple *sound_class;
+extern struct class *sound_class;
/* version number incremented for each registered device */
STATIC int last_version = 1;
@@ -1965,7 +1965,7 @@
}
else
{
- fusd_dev->clazz = class_simple_create(THIS_MODULE, fusd_dev->class_name);
+ fusd_dev->clazz = class_create(THIS_MODULE, fusd_dev->class_name);
if(IS_ERR(fusd_dev->clazz))
{
error = PTR_ERR(fusd_dev->clazz);
@@ -1974,11 +1974,11 @@
fusd_dev->owns_class = 1;
}
- fusd_dev->class_device = class_simple_device_add(fusd_dev->clazz, fusd_dev->dev_id, NULL, fusd_dev->dev_name);
+ fusd_dev->class_device = class_device_create(fusd_dev->clazz, fusd_dev->dev_id, NULL, fusd_dev->dev_name);
if(fusd_dev->class_device == NULL)
{
error = PTR_ERR(fusd_dev->class_device);
- printk("class_simple_device_add failed status: %d\n", error);
+ printk("class_device_create failed status: %d\n", error);
goto register_failed5;
}
@@ -2001,7 +2001,7 @@
return 0;
register_failed5:
- class_simple_destroy(fusd_dev->clazz);
+ class_destroy(fusd_dev->clazz);
register_failed4:
cdev_del(fusd_dev->handle);
register_failed3:
@@ -2093,10 +2093,10 @@
if(fusd_dev->handle)
{
- class_simple_device_remove(fusd_dev->dev_id);
+ class_device_destroy(fusd_class,fusd_dev->dev_id);
if(fusd_dev->owns_class)
{
- class_simple_destroy(fusd_dev->clazz);
+ class_destroy(fusd_dev->clazz);
}
cdev_del(fusd_dev->handle);
#ifdef CONFIG_DEVFS_FS
@@ -2799,11 +2799,11 @@
fusd_control_device = NULL;
fusd_status_device = NULL;
- fusd_class = class_simple_create(THIS_MODULE, "fusd");
+ fusd_class = class_create(THIS_MODULE, "fusd");
if(IS_ERR(fusd_class))
{
retval = PTR_ERR(fusd_class);
- printk("class_simple_create failed status: %d\n", retval);
+ printk("class_create failed status: %d\n", retval);
goto fail0;
}
@@ -2841,11 +2841,11 @@
goto fail4;
}
- fusd_control_class_device = class_simple_device_add(fusd_class, control_id, NULL, "control");
+ fusd_control_class_device = class_device_create(fusd_class, control_id, NULL, "control");
if(fusd_control_class_device == NULL)
{
retval = PTR_ERR(fusd_control_class_device);
- printk("class_simple_device_add failed status: %d\n", retval);
+ printk("class_device_create failed status: %d\n", retval);
goto fail5;
}
@@ -2882,10 +2882,10 @@
goto fail9;
}
- fusd_status_class_device = class_simple_device_add(fusd_class, status_id, NULL, "status");
+ fusd_status_class_device = class_device_create(fusd_class, status_id, NULL, "status");
if(fusd_status_class_device == NULL)
{
- printk("class_simple_device_add failed status: %d\n", retval);
+ printk("class_device_add failed status: %d\n", retval);
retval = PTR_ERR(fusd_status_class_device);
goto fail10;
}
@@ -2904,7 +2904,7 @@
fail7:
unregister_chrdev_region(status_id, 1);
fail6:
- class_simple_device_remove(control_id);
+ class_device_destroy(fusd_class,control_id);
fail5:
cdev_del(fusd_control_device);
fail4:
@@ -2916,7 +2916,7 @@
fail2:
unregister_chrdev_region(control_id, 1);
fail1:
- class_simple_destroy(fusd_class);
+ class_destroy(fusd_class);
fail0:
return retval;
}
@@ -2925,8 +2925,8 @@
{
RDEBUG(1, "cleaning up");
- class_simple_device_remove(status_id);
- class_simple_device_remove(control_id);
+ class_device_destroy(fusd_class,status_id);
+ class_device_destroy(fusd_class,control_id);
cdev_del(fusd_control_device);
cdev_del(fusd_status_device);
@@ -2935,7 +2935,7 @@
devfs_remove(FUSD_STATUS_FILENAME);
- class_simple_destroy(fusd_class);
+ class_destroy(fusd_class);
#ifdef CONFIG_FUSD_MEMDEBUG
fusd_mem_cleanup();
Received on Fri Sep 16 04:15:04 2005
This archive was generated by hypermail 2.1.8 : Fri Sep 16 2005 - 04:15:05 EEST