On Thu Dec 30 10, Sean Farley wrote:
> Author: scf
> Date: Thu Dec 30 02:18:04 2010
> New Revision: 216813
> URL: http://svn.freebsd.org/changeset/base/216813
> 
> Log:
>   Fix the LINUX_SOUND_MIXER_INFO ioctl to return success after the
>   information is set to FreeBSD.  It had been falling through to the end
>   of linux_ioctl_sound() and returning ENOIOCTL.  Noticed when running the
>   Linux ALSA amixer tool.
>   
>   Add a LINUX_SOUND_MIXER_READ_CAPS ioctl which is used by the Skype
>   v2.1.0.81 binary.

i'm running r216877 and still skype won't detect my audio devices (i.e. it
reports "Problem With Audio Playback").

this is with the static skype binary package.

cheers.
alex

>   
>   Reviewed by:        gavin
>   MFC after:  2 weeks
> 
> Modified:
>   head/sys/compat/linux/linux_ioctl.c
>   head/sys/compat/linux/linux_ioctl.h
> 
> Modified: head/sys/compat/linux/linux_ioctl.c
> ==============================================================================
> --- head/sys/compat/linux/linux_ioctl.c       Thu Dec 30 01:28:56 2010        
> (r216812)
> +++ head/sys/compat/linux/linux_ioctl.c       Thu Dec 30 02:18:04 2010        
> (r216813)
> @@ -1749,7 +1749,7 @@ linux_ioctl_sound(struct thread *td, str
>                       strncpy(info.id, "OSS", sizeof(info.id) - 1);
>                       strncpy(info.name, "FreeBSD OSS Mixer", 
> sizeof(info.name) - 1);
>                       copyout(&info, (void *)args->arg, sizeof(info));
> -                     break;
> +                     return (0);
>               }
>               case 0x0030: {  /* SOUND_OLD_MIXER_INFO */
>                       struct linux_old_mixer_info info;
> @@ -1757,7 +1757,7 @@ linux_ioctl_sound(struct thread *td, str
>                       strncpy(info.id, "OSS", sizeof(info.id) - 1);
>                       strncpy(info.name, "FreeBSD OSS Mixer", 
> sizeof(info.name) - 1);
>                       copyout(&info, (void *)args->arg, sizeof(info));
> -                     break;
> +                     return (0);
>               }
>               default:
>                       return (ENOIOCTL);
> @@ -1774,6 +1774,10 @@ linux_ioctl_sound(struct thread *td, str
>               args->cmd = SOUND_MIXER_READ_STEREODEVS;
>               return (ioctl(td, (struct ioctl_args *)args));
>  
> +     case LINUX_SOUND_MIXER_READ_CAPS:
> +             args->cmd = SOUND_MIXER_READ_CAPS;
> +             return (ioctl(td, (struct ioctl_args *)args));
> +
>       case LINUX_SOUND_MIXER_READ_RECMASK:
>               args->cmd = SOUND_MIXER_READ_RECMASK;
>               return (ioctl(td, (struct ioctl_args *)args));
> 
> Modified: head/sys/compat/linux/linux_ioctl.h
> ==============================================================================
> --- head/sys/compat/linux/linux_ioctl.h       Thu Dec 30 01:28:56 2010        
> (r216812)
> +++ head/sys/compat/linux/linux_ioctl.h       Thu Dec 30 02:18:04 2010        
> (r216813)
> @@ -267,6 +267,7 @@
>  #define      LINUX_SOUND_MIXER_INFO          0x4d65
>  #define      LINUX_OSS_GETVERSION            0x4d76
>  #define      LINUX_SOUND_MIXER_READ_STEREODEVS       0x4dfb
> +#define      LINUX_SOUND_MIXER_READ_CAPS     0x4dfc
>  #define      LINUX_SOUND_MIXER_READ_RECMASK  0x4dfd
>  #define      LINUX_SOUND_MIXER_READ_DEVMASK  0x4dfe
>  #define      LINUX_SOUND_MIXER_WRITE_RECSRC  0x4dff

-- 
a13x
_______________________________________________
svn-src-head@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to