Re: OSS: Was setzt AFMT_S8 genau?

Datumsansicht Baumansicht Betreffansicht Attachement-Sicht

From: Martin Haller (dielheim_at_martin-haller.de)
Date: 16. Mar 2001


Christian Weisgerber wrote(naddy_at_mips.inka.de):

> Was für ein Sampleformat genau setzt bei OSS (Open Sound System)
> »AFMT_S8«?
>
> tmp = AFMT_S8;
> ioctl(fd, SNDCTL_DSP_SAMPLESIZE, &tmp);
>
> Klar, 8-Bit, vorzeichenbehaftet. Aber steckt da auch irgendeine
> Angabe zu µ-/A-Law drin?

Schau dir mal

http://www.opensound.com/pguide/oss.pdf

an. Auf Seite 32 steht da:

"The number of bits required to store a sample is:

[..]
        * 8 bits for 8-bit-format, mu-law and A-law,
[..]"

In <soundcard.h> steht:

/* Audio data formats (Note! U8=8 and S16_LE=16 for
 * compatibility) */
 #define SNDCTL_DSP_GETFMTS _SIOR ('P',11, int) /*
 Returns a mask */
 #define SNDCTL_DSP_SETFMT _SIOWR('P',5, int) /* Selects
 ONE fmt*/
 # define AFMT_QUERY 0x00000000 /* Return
 current fmt */
 # define AFMT_MU_LAW 0x00000001
 # define AFMT_A_LAW 0x00000002
 
[..]

# define AFMT_S8 0x00000040

soweit ich das sehe musst du, wenn du 8Bits/signed mu_law willst,
tmp = AFMT_8S | AFMT_MU_LAW mit SNDCTL_DSP_GETFMTS setzen.

tschüss Martin




Datumsansicht Baumansicht Betreffansicht Attachement-Sicht

Dieses Archiv wurde generiert von hypermail 2.1.2 : 11. Mar 2002 CET