mirror of
https://gitlab.freedesktop.org/pulseaudio/pulseaudio.git
synced 2025-11-06 13:29:56 -05:00
make untabify
git-svn-id: file:///home/lennart/svn/public/pulseaudio/branches/lennart@1472 fefdeb5f-60dc-0310-8127-8f9354f1896f
This commit is contained in:
parent
590ae20d4d
commit
69115687ad
11 changed files with 241 additions and 241 deletions
|
|
@ -568,7 +568,7 @@ int main(int argc, char *argv[]) {
|
|||
assert(mainloop);
|
||||
|
||||
if (!(c = pa_core_new(pa_mainloop_get_api(mainloop), !conf->disable_shm))) {
|
||||
pa_log("pa_core_new() failed.");
|
||||
pa_log("pa_core_new() failed.");
|
||||
goto finish;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -326,7 +326,7 @@ int pa_alsa_set_hw_params(snd_pcm_t *pcm_handle, pa_sample_spec *ss, uint32_t *p
|
|||
if ((ret = snd_pcm_hw_params_malloc(&hwparams)) < 0 ||
|
||||
(ret = snd_pcm_hw_params_any(pcm_handle, hwparams)) < 0 ||
|
||||
(ret = snd_pcm_hw_params_set_rate_resample(pcm_handle, hwparams, 0)) < 0 ||
|
||||
(ret = snd_pcm_hw_params_set_access(pcm_handle, hwparams, SND_PCM_ACCESS_RW_INTERLEAVED)) < 0)
|
||||
(ret = snd_pcm_hw_params_set_access(pcm_handle, hwparams, SND_PCM_ACCESS_RW_INTERLEAVED)) < 0)
|
||||
goto finish;
|
||||
|
||||
if ((ret = set_format(pcm_handle, hwparams, &f)) < 0)
|
||||
|
|
|
|||
|
|
@ -139,7 +139,7 @@ static int detect_oss(pa_core *c, int just_one) {
|
|||
line[strcspn(line, "\r\n")] = 0;
|
||||
|
||||
if (!b) {
|
||||
b = strcmp(line, "Audio devices:") == 0 || strcmp(line, "Installed devices:") == 0;
|
||||
b = strcmp(line, "Audio devices:") == 0 || strcmp(line, "Installed devices:") == 0;
|
||||
continue;
|
||||
}
|
||||
|
||||
|
|
@ -155,13 +155,13 @@ static int detect_oss(pa_core *c, int just_one) {
|
|||
if (!pa_module_load(c, "module-oss", args))
|
||||
continue;
|
||||
|
||||
} else if (sscanf(line, "pcm%u: ", &device) == 1) {
|
||||
} else if (sscanf(line, "pcm%u: ", &device) == 1) {
|
||||
/* FreeBSD support, the devices are named /dev/dsp0.0, dsp0.1 and so on */
|
||||
snprintf(args, sizeof(args), "device=/dev/dsp%u.0", device);
|
||||
|
||||
if (!pa_module_load(c, "module-oss", args))
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
n++;
|
||||
|
||||
|
|
|
|||
|
|
@ -99,7 +99,7 @@ success:
|
|||
#ifdef DSP_CAP_BIND
|
||||
*pcaps & DSP_CAP_BIND ? " BIND" : "",
|
||||
#else
|
||||
"",
|
||||
"",
|
||||
#endif
|
||||
*pcaps & DSP_CAP_COPROC ? " COPROC" : "",
|
||||
*pcaps & DSP_CAP_DUPLEX ? " DUPLEX" : "",
|
||||
|
|
@ -122,7 +122,7 @@ success:
|
|||
#ifdef DSP_CAP_MULTI
|
||||
*pcaps & DSP_CAP_MULTI ? " MULTI" : "",
|
||||
#else
|
||||
"",
|
||||
"",
|
||||
#endif
|
||||
#ifdef DSP_CAP_OUTPUT
|
||||
*pcaps & DSP_CAP_OUTPUT ? " OUTPUT" : "",
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@
|
|||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
|
|
|
|||
|
|
@ -43,30 +43,30 @@
|
|||
|
||||
#include "g711.h"
|
||||
|
||||
#define SIGN_BIT (0x80) /* Sign bit for a A-law byte. */
|
||||
#define QUANT_MASK (0xf) /* Quantization field mask. */
|
||||
#define NSEGS (8) /* Number of A-law segments. */
|
||||
#define SEG_SHIFT (4) /* Left shift for segment number. */
|
||||
#define SEG_MASK (0x70) /* Segment field mask. */
|
||||
#define SIGN_BIT (0x80) /* Sign bit for a A-law byte. */
|
||||
#define QUANT_MASK (0xf) /* Quantization field mask. */
|
||||
#define NSEGS (8) /* Number of A-law segments. */
|
||||
#define SEG_SHIFT (4) /* Left shift for segment number. */
|
||||
#define SEG_MASK (0x70) /* Segment field mask. */
|
||||
|
||||
#if !defined(FAST_ALAW_CONVERSION) || !defined(FAST_ULAW_CONVERSION)
|
||||
static int16_t seg_aend[8] = {0x1F, 0x3F, 0x7F, 0xFF,
|
||||
0x1FF, 0x3FF, 0x7FF, 0xFFF};
|
||||
0x1FF, 0x3FF, 0x7FF, 0xFFF};
|
||||
static int16_t seg_uend[8] = {0x3F, 0x7F, 0xFF, 0x1FF,
|
||||
0x3FF, 0x7FF, 0xFFF, 0x1FFF};
|
||||
0x3FF, 0x7FF, 0xFFF, 0x1FFF};
|
||||
|
||||
static int16_t search(
|
||||
int16_t val,
|
||||
int16_t *table,
|
||||
int size)
|
||||
int16_t val,
|
||||
int16_t *table,
|
||||
int size)
|
||||
{
|
||||
int i;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < size; i++) {
|
||||
if (val <= *table++)
|
||||
return (i);
|
||||
}
|
||||
return (size);
|
||||
for (i = 0; i < size; i++) {
|
||||
if (val <= *table++)
|
||||
return (i);
|
||||
}
|
||||
return (size);
|
||||
}
|
||||
#endif /* !FAST_*_CONVERSION */
|
||||
|
||||
|
|
@ -77,55 +77,55 @@ static int16_t search(
|
|||
* the data shifted such that it only contains information in the lower
|
||||
* 13-bits.
|
||||
*
|
||||
* Linear Input Code Compressed Code
|
||||
* ------------------------ ---------------
|
||||
* 0000000wxyza 000wxyz
|
||||
* 0000001wxyza 001wxyz
|
||||
* 000001wxyzab 010wxyz
|
||||
* 00001wxyzabc 011wxyz
|
||||
* 0001wxyzabcd 100wxyz
|
||||
* 001wxyzabcde 101wxyz
|
||||
* 01wxyzabcdef 110wxyz
|
||||
* 1wxyzabcdefg 111wxyz
|
||||
* Linear Input Code Compressed Code
|
||||
* ------------------------ ---------------
|
||||
* 0000000wxyza 000wxyz
|
||||
* 0000001wxyza 001wxyz
|
||||
* 000001wxyzab 010wxyz
|
||||
* 00001wxyzabc 011wxyz
|
||||
* 0001wxyzabcd 100wxyz
|
||||
* 001wxyzabcde 101wxyz
|
||||
* 01wxyzabcdef 110wxyz
|
||||
* 1wxyzabcdefg 111wxyz
|
||||
*
|
||||
* For further information see John C. Bellamy's Digital Telephony, 1982,
|
||||
* John Wiley & Sons, pps 98-111 and 472-476.
|
||||
*/
|
||||
unsigned char st_13linear2alaw(
|
||||
int16_t pcm_val) /* 2's complement (13-bit range) */
|
||||
int16_t pcm_val) /* 2's complement (13-bit range) */
|
||||
{
|
||||
int16_t mask;
|
||||
short seg;
|
||||
unsigned char aval;
|
||||
int16_t mask;
|
||||
short seg;
|
||||
unsigned char aval;
|
||||
|
||||
/* Have calling software do it since its already doing a shift
|
||||
* from 32-bits down to 16-bits.
|
||||
*/
|
||||
/* pcm_val = pcm_val >> 3; */
|
||||
/* Have calling software do it since its already doing a shift
|
||||
* from 32-bits down to 16-bits.
|
||||
*/
|
||||
/* pcm_val = pcm_val >> 3; */
|
||||
|
||||
/* A-law using even bit inversion */
|
||||
if (pcm_val >= 0) {
|
||||
mask = 0xD5; /* sign (7th) bit = 1 */
|
||||
} else {
|
||||
mask = 0x55; /* sign bit = 0 */
|
||||
pcm_val = -pcm_val - 1;
|
||||
}
|
||||
/* A-law using even bit inversion */
|
||||
if (pcm_val >= 0) {
|
||||
mask = 0xD5; /* sign (7th) bit = 1 */
|
||||
} else {
|
||||
mask = 0x55; /* sign bit = 0 */
|
||||
pcm_val = -pcm_val - 1;
|
||||
}
|
||||
|
||||
/* Convert the scaled magnitude to segment number. */
|
||||
seg = search(pcm_val, seg_aend, 8);
|
||||
/* Convert the scaled magnitude to segment number. */
|
||||
seg = search(pcm_val, seg_aend, 8);
|
||||
|
||||
/* Combine the sign, segment, and quantization bits. */
|
||||
/* Combine the sign, segment, and quantization bits. */
|
||||
|
||||
if (seg >= 8) /* out of range, return maximum value. */
|
||||
return (unsigned char) (0x7F ^ mask);
|
||||
else {
|
||||
aval = (unsigned char) seg << SEG_SHIFT;
|
||||
if (seg < 2)
|
||||
aval |= (pcm_val >> 1) & QUANT_MASK;
|
||||
else
|
||||
aval |= (pcm_val >> seg) & QUANT_MASK;
|
||||
return (aval ^ mask);
|
||||
}
|
||||
if (seg >= 8) /* out of range, return maximum value. */
|
||||
return (unsigned char) (0x7F ^ mask);
|
||||
else {
|
||||
aval = (unsigned char) seg << SEG_SHIFT;
|
||||
if (seg < 2)
|
||||
aval |= (pcm_val >> 1) & QUANT_MASK;
|
||||
else
|
||||
aval |= (pcm_val >> seg) & QUANT_MASK;
|
||||
return (aval ^ mask);
|
||||
}
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
@ -133,31 +133,31 @@ unsigned char st_13linear2alaw(
|
|||
*
|
||||
*/
|
||||
int16_t st_alaw2linear16(
|
||||
unsigned char a_val)
|
||||
unsigned char a_val)
|
||||
{
|
||||
int16_t t;
|
||||
int16_t seg;
|
||||
int16_t t;
|
||||
int16_t seg;
|
||||
|
||||
a_val ^= 0x55;
|
||||
a_val ^= 0x55;
|
||||
|
||||
t = (a_val & QUANT_MASK) << 4;
|
||||
seg = ((unsigned)a_val & SEG_MASK) >> SEG_SHIFT;
|
||||
switch (seg) {
|
||||
case 0:
|
||||
t += 8;
|
||||
break;
|
||||
case 1:
|
||||
t += 0x108;
|
||||
break;
|
||||
default:
|
||||
t += 0x108;
|
||||
t <<= seg - 1;
|
||||
}
|
||||
return ((a_val & SIGN_BIT) ? t : -t);
|
||||
t = (a_val & QUANT_MASK) << 4;
|
||||
seg = ((unsigned)a_val & SEG_MASK) >> SEG_SHIFT;
|
||||
switch (seg) {
|
||||
case 0:
|
||||
t += 8;
|
||||
break;
|
||||
case 1:
|
||||
t += 0x108;
|
||||
break;
|
||||
default:
|
||||
t += 0x108;
|
||||
t <<= seg - 1;
|
||||
}
|
||||
return ((a_val & SIGN_BIT) ? t : -t);
|
||||
}
|
||||
#endif /* !FAST_ALAW_CONVERSION */
|
||||
|
||||
#define BIAS (0x84) /* Bias for linear code. */
|
||||
#define BIAS (0x84) /* Bias for linear code. */
|
||||
#define CLIP 8159
|
||||
|
||||
#ifndef FAST_ULAW_CONVERSION
|
||||
|
|
@ -171,16 +171,16 @@ int16_t st_alaw2linear16(
|
|||
* is biased by adding 33 which shifts the encoding range from (0 - 8158) to
|
||||
* (33 - 8191). The result can be seen in the following encoding table:
|
||||
*
|
||||
* Biased Linear Input Code Compressed Code
|
||||
* ------------------------ ---------------
|
||||
* 00000001wxyza 000wxyz
|
||||
* 0000001wxyzab 001wxyz
|
||||
* 000001wxyzabc 010wxyz
|
||||
* 00001wxyzabcd 011wxyz
|
||||
* 0001wxyzabcde 100wxyz
|
||||
* 001wxyzabcdef 101wxyz
|
||||
* 01wxyzabcdefg 110wxyz
|
||||
* 1wxyzabcdefgh 111wxyz
|
||||
* Biased Linear Input Code Compressed Code
|
||||
* ------------------------ ---------------
|
||||
* 00000001wxyza 000wxyz
|
||||
* 0000001wxyzab 001wxyz
|
||||
* 000001wxyzabc 010wxyz
|
||||
* 00001wxyzabcd 011wxyz
|
||||
* 0001wxyzabcde 100wxyz
|
||||
* 001wxyzabcdef 101wxyz
|
||||
* 01wxyzabcdefg 110wxyz
|
||||
* 1wxyzabcdefgh 111wxyz
|
||||
*
|
||||
* Each biased linear code has a leading 1 which identifies the segment
|
||||
* number. The value of the segment number is equal to 7 minus the number
|
||||
|
|
@ -194,41 +194,41 @@ int16_t st_alaw2linear16(
|
|||
* John Wiley & Sons, pps 98-111 and 472-476.
|
||||
*/
|
||||
unsigned char st_14linear2ulaw(
|
||||
int16_t pcm_val) /* 2's complement (14-bit range) */
|
||||
int16_t pcm_val) /* 2's complement (14-bit range) */
|
||||
{
|
||||
int16_t mask;
|
||||
int16_t seg;
|
||||
unsigned char uval;
|
||||
int16_t mask;
|
||||
int16_t seg;
|
||||
unsigned char uval;
|
||||
|
||||
/* Have calling software do it since its already doing a shift
|
||||
* from 32-bits down to 16-bits.
|
||||
*/
|
||||
/* pcm_val = pcm_val >> 2; */
|
||||
/* Have calling software do it since its already doing a shift
|
||||
* from 32-bits down to 16-bits.
|
||||
*/
|
||||
/* pcm_val = pcm_val >> 2; */
|
||||
|
||||
/* u-law inverts all bits */
|
||||
/* Get the sign and the magnitude of the value. */
|
||||
if (pcm_val < 0) {
|
||||
pcm_val = -pcm_val;
|
||||
mask = 0x7F;
|
||||
} else {
|
||||
mask = 0xFF;
|
||||
}
|
||||
if ( pcm_val > CLIP ) pcm_val = CLIP; /* clip the magnitude */
|
||||
pcm_val += (BIAS >> 2);
|
||||
/* u-law inverts all bits */
|
||||
/* Get the sign and the magnitude of the value. */
|
||||
if (pcm_val < 0) {
|
||||
pcm_val = -pcm_val;
|
||||
mask = 0x7F;
|
||||
} else {
|
||||
mask = 0xFF;
|
||||
}
|
||||
if ( pcm_val > CLIP ) pcm_val = CLIP; /* clip the magnitude */
|
||||
pcm_val += (BIAS >> 2);
|
||||
|
||||
/* Convert the scaled magnitude to segment number. */
|
||||
seg = search(pcm_val, seg_uend, 8);
|
||||
/* Convert the scaled magnitude to segment number. */
|
||||
seg = search(pcm_val, seg_uend, 8);
|
||||
|
||||
/*
|
||||
* Combine the sign, segment, quantization bits;
|
||||
* and complement the code word.
|
||||
*/
|
||||
if (seg >= 8) /* out of range, return maximum value. */
|
||||
return (unsigned char) (0x7F ^ mask);
|
||||
else {
|
||||
uval = (unsigned char) (seg << 4) | ((pcm_val >> (seg + 1)) & 0xF);
|
||||
return (uval ^ mask);
|
||||
}
|
||||
/*
|
||||
* Combine the sign, segment, quantization bits;
|
||||
* and complement the code word.
|
||||
*/
|
||||
if (seg >= 8) /* out of range, return maximum value. */
|
||||
return (unsigned char) (0x7F ^ mask);
|
||||
else {
|
||||
uval = (unsigned char) (seg << 4) | ((pcm_val >> (seg + 1)) & 0xF);
|
||||
return (uval ^ mask);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
@ -242,21 +242,21 @@ unsigned char st_14linear2ulaw(
|
|||
* original code word. This is in keeping with ISDN conventions.
|
||||
*/
|
||||
int16_t st_ulaw2linear16(
|
||||
unsigned char u_val)
|
||||
unsigned char u_val)
|
||||
{
|
||||
int16_t t;
|
||||
int16_t t;
|
||||
|
||||
/* Complement to obtain normal u-law value. */
|
||||
u_val = ~u_val;
|
||||
/* Complement to obtain normal u-law value. */
|
||||
u_val = ~u_val;
|
||||
|
||||
/*
|
||||
* Extract and bias the quantization bits. Then
|
||||
* shift up by the segment number and subtract out the bias.
|
||||
*/
|
||||
t = ((u_val & QUANT_MASK) << 3) + BIAS;
|
||||
t <<= ((unsigned)u_val & SEG_MASK) >> SEG_SHIFT;
|
||||
/*
|
||||
* Extract and bias the quantization bits. Then
|
||||
* shift up by the segment number and subtract out the bias.
|
||||
*/
|
||||
t = ((u_val & QUANT_MASK) << 3) + BIAS;
|
||||
t <<= ((unsigned)u_val & SEG_MASK) >> SEG_SHIFT;
|
||||
|
||||
return ((u_val & SIGN_BIT) ? (BIAS - t) : (t - BIAS));
|
||||
return ((u_val & SIGN_BIT) ? (BIAS - t) : (t - BIAS));
|
||||
}
|
||||
#endif /* !FAST_ULAW_CONVERSION */
|
||||
|
||||
|
|
@ -2413,52 +2413,52 @@ int main()
|
|||
printf("int16_t _st_alaw2linear16[256] = {\n ");
|
||||
for (x = 0; x < 256; x++)
|
||||
{
|
||||
printf("%8d,", st_alaw2linear16(x));
|
||||
y++;
|
||||
if (y == 7)
|
||||
{
|
||||
y = 0;
|
||||
printf("\n ");
|
||||
}
|
||||
printf("%8d,", st_alaw2linear16(x));
|
||||
y++;
|
||||
if (y == 7)
|
||||
{
|
||||
y = 0;
|
||||
printf("\n ");
|
||||
}
|
||||
}
|
||||
|
||||
printf("\n};\n\nuint8_t _st_13linear2alaw[0x2000] = {\n ");
|
||||
y = 0;
|
||||
for (x = 0; x < 0x2000; x++)
|
||||
{
|
||||
printf(" 0x%02x,", st_13linear2alaw((-0x1000)+x));
|
||||
y++;
|
||||
if (y == 12)
|
||||
{
|
||||
y = 0;
|
||||
printf("\n ");
|
||||
}
|
||||
printf(" 0x%02x,", st_13linear2alaw((-0x1000)+x));
|
||||
y++;
|
||||
if (y == 12)
|
||||
{
|
||||
y = 0;
|
||||
printf("\n ");
|
||||
}
|
||||
}
|
||||
|
||||
printf("\n};\n\nint16_t _st_ulaw2linear16[256] = {\n ");
|
||||
y = 0;
|
||||
for (x = 0; x < 256; x++)
|
||||
{
|
||||
printf("%8d,", st_ulaw2linear16(x));
|
||||
y++;
|
||||
if (y == 7)
|
||||
{
|
||||
y = 0;
|
||||
printf("\n ");
|
||||
}
|
||||
printf("%8d,", st_ulaw2linear16(x));
|
||||
y++;
|
||||
if (y == 7)
|
||||
{
|
||||
y = 0;
|
||||
printf("\n ");
|
||||
}
|
||||
}
|
||||
|
||||
printf("\n};\n\nuint8_t _st_14linear2ulaw[0x4000] = {\n ");
|
||||
y = 0;
|
||||
for (x = 0; x < 0x4000; x++)
|
||||
{
|
||||
printf(" 0x%02x,", st_14linear2ulaw((-0x2000)+x));
|
||||
y++;
|
||||
if (y == 12)
|
||||
{
|
||||
y = 0;
|
||||
printf("\n ");
|
||||
}
|
||||
printf(" 0x%02x,", st_14linear2ulaw((-0x2000)+x));
|
||||
y++;
|
||||
if (y == 12)
|
||||
{
|
||||
y = 0;
|
||||
printf("\n ");
|
||||
}
|
||||
}
|
||||
printf("\n};\n");
|
||||
|
||||
|
|
@ -2468,64 +2468,64 @@ int main()
|
|||
/* The following is not used by SoX but kept for reference */
|
||||
#if 0
|
||||
/* copy from CCITT G.711 specifications */
|
||||
unsigned char _u2a[128] = { /* u- to A-law conversions */
|
||||
1, 1, 2, 2, 3, 3, 4, 4,
|
||||
5, 5, 6, 6, 7, 7, 8, 8,
|
||||
9, 10, 11, 12, 13, 14, 15, 16,
|
||||
17, 18, 19, 20, 21, 22, 23, 24,
|
||||
25, 27, 29, 31, 33, 34, 35, 36,
|
||||
37, 38, 39, 40, 41, 42, 43, 44,
|
||||
46, 48, 49, 50, 51, 52, 53, 54,
|
||||
55, 56, 57, 58, 59, 60, 61, 62,
|
||||
64, 65, 66, 67, 68, 69, 70, 71,
|
||||
72, 73, 74, 75, 76, 77, 78, 79,
|
||||
unsigned char _u2a[128] = { /* u- to A-law conversions */
|
||||
1, 1, 2, 2, 3, 3, 4, 4,
|
||||
5, 5, 6, 6, 7, 7, 8, 8,
|
||||
9, 10, 11, 12, 13, 14, 15, 16,
|
||||
17, 18, 19, 20, 21, 22, 23, 24,
|
||||
25, 27, 29, 31, 33, 34, 35, 36,
|
||||
37, 38, 39, 40, 41, 42, 43, 44,
|
||||
46, 48, 49, 50, 51, 52, 53, 54,
|
||||
55, 56, 57, 58, 59, 60, 61, 62,
|
||||
64, 65, 66, 67, 68, 69, 70, 71,
|
||||
72, 73, 74, 75, 76, 77, 78, 79,
|
||||
/* corrected:
|
||||
81, 82, 83, 84, 85, 86, 87, 88,
|
||||
81, 82, 83, 84, 85, 86, 87, 88,
|
||||
should be: */
|
||||
80, 82, 83, 84, 85, 86, 87, 88,
|
||||
89, 90, 91, 92, 93, 94, 95, 96,
|
||||
97, 98, 99, 100, 101, 102, 103, 104,
|
||||
105, 106, 107, 108, 109, 110, 111, 112,
|
||||
113, 114, 115, 116, 117, 118, 119, 120,
|
||||
121, 122, 123, 124, 125, 126, 127, 128};
|
||||
80, 82, 83, 84, 85, 86, 87, 88,
|
||||
89, 90, 91, 92, 93, 94, 95, 96,
|
||||
97, 98, 99, 100, 101, 102, 103, 104,
|
||||
105, 106, 107, 108, 109, 110, 111, 112,
|
||||
113, 114, 115, 116, 117, 118, 119, 120,
|
||||
121, 122, 123, 124, 125, 126, 127, 128};
|
||||
|
||||
unsigned char _a2u[128] = { /* A- to u-law conversions */
|
||||
1, 3, 5, 7, 9, 11, 13, 15,
|
||||
16, 17, 18, 19, 20, 21, 22, 23,
|
||||
24, 25, 26, 27, 28, 29, 30, 31,
|
||||
32, 32, 33, 33, 34, 34, 35, 35,
|
||||
36, 37, 38, 39, 40, 41, 42, 43,
|
||||
44, 45, 46, 47, 48, 48, 49, 49,
|
||||
50, 51, 52, 53, 54, 55, 56, 57,
|
||||
58, 59, 60, 61, 62, 63, 64, 64,
|
||||
65, 66, 67, 68, 69, 70, 71, 72,
|
||||
unsigned char _a2u[128] = { /* A- to u-law conversions */
|
||||
1, 3, 5, 7, 9, 11, 13, 15,
|
||||
16, 17, 18, 19, 20, 21, 22, 23,
|
||||
24, 25, 26, 27, 28, 29, 30, 31,
|
||||
32, 32, 33, 33, 34, 34, 35, 35,
|
||||
36, 37, 38, 39, 40, 41, 42, 43,
|
||||
44, 45, 46, 47, 48, 48, 49, 49,
|
||||
50, 51, 52, 53, 54, 55, 56, 57,
|
||||
58, 59, 60, 61, 62, 63, 64, 64,
|
||||
65, 66, 67, 68, 69, 70, 71, 72,
|
||||
/* corrected:
|
||||
73, 74, 75, 76, 77, 78, 79, 79,
|
||||
73, 74, 75, 76, 77, 78, 79, 79,
|
||||
should be: */
|
||||
73, 74, 75, 76, 77, 78, 79, 80,
|
||||
73, 74, 75, 76, 77, 78, 79, 80,
|
||||
|
||||
80, 81, 82, 83, 84, 85, 86, 87,
|
||||
88, 89, 90, 91, 92, 93, 94, 95,
|
||||
96, 97, 98, 99, 100, 101, 102, 103,
|
||||
104, 105, 106, 107, 108, 109, 110, 111,
|
||||
112, 113, 114, 115, 116, 117, 118, 119,
|
||||
120, 121, 122, 123, 124, 125, 126, 127};
|
||||
80, 81, 82, 83, 84, 85, 86, 87,
|
||||
88, 89, 90, 91, 92, 93, 94, 95,
|
||||
96, 97, 98, 99, 100, 101, 102, 103,
|
||||
104, 105, 106, 107, 108, 109, 110, 111,
|
||||
112, 113, 114, 115, 116, 117, 118, 119,
|
||||
120, 121, 122, 123, 124, 125, 126, 127};
|
||||
|
||||
/* A-law to u-law conversion */
|
||||
unsigned char st_alaw2ulaw(
|
||||
unsigned char aval)
|
||||
unsigned char aval)
|
||||
{
|
||||
aval &= 0xff;
|
||||
return (unsigned char) ((aval & 0x80) ? (0xFF ^ _a2u[aval ^ 0xD5]) :
|
||||
(0x7F ^ _a2u[aval ^ 0x55]));
|
||||
aval &= 0xff;
|
||||
return (unsigned char) ((aval & 0x80) ? (0xFF ^ _a2u[aval ^ 0xD5]) :
|
||||
(0x7F ^ _a2u[aval ^ 0x55]));
|
||||
}
|
||||
|
||||
/* u-law to A-law conversion */
|
||||
unsigned char st_ulaw2alaw(
|
||||
unsigned char uval)
|
||||
unsigned char uval)
|
||||
{
|
||||
uval &= 0xff;
|
||||
return (unsigned char) ((uval & 0x80) ? (0xD5 ^ (_u2a[0xFF ^ uval] - 1)) :
|
||||
(unsigned char) (0x55 ^ (_u2a[0x7F ^ uval] - 1)));
|
||||
uval &= 0xff;
|
||||
return (unsigned char) ((uval & 0x80) ? (0xD5 ^ (_u2a[0xFF ^ uval] - 1)) :
|
||||
(unsigned char) (0x55 ^ (_u2a[0x7F ^ uval] - 1)));
|
||||
}
|
||||
#endif
|
||||
|
|
|
|||
|
|
@ -149,14 +149,14 @@ int pipe(int filedes[2]) {
|
|||
return 0;
|
||||
|
||||
error:
|
||||
if (listener >= 0)
|
||||
pa_close(listener);
|
||||
if (filedes[0] >= 0)
|
||||
pa_close(filedes[0]);
|
||||
if (filedes[1] >= 0)
|
||||
pa_close(filedes[0]);
|
||||
if (listener >= 0)
|
||||
pa_close(listener);
|
||||
if (filedes[0] >= 0)
|
||||
pa_close(filedes[0]);
|
||||
if (filedes[1] >= 0)
|
||||
pa_close(filedes[0]);
|
||||
|
||||
return -1;
|
||||
return -1;
|
||||
}
|
||||
|
||||
#endif /* HAVE_PIPE */
|
||||
|
|
|
|||
|
|
@ -113,7 +113,7 @@ int pa_shm_create_rw(pa_shm *m, size_t size, int shared, mode_t mode) {
|
|||
close(fd);
|
||||
m->do_unlink = 1;
|
||||
#else
|
||||
return -1;
|
||||
return -1;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
@ -139,36 +139,36 @@ void pa_shm_free(pa_shm *m) {
|
|||
assert(m->size > 0);
|
||||
|
||||
#ifdef MAP_FAILED
|
||||
assert(m->ptr != MAP_FAILED);
|
||||
assert(m->ptr != MAP_FAILED);
|
||||
#endif
|
||||
|
||||
if (!m->shared) {
|
||||
if (!m->shared) {
|
||||
#ifdef MAP_ANONYMOUS
|
||||
if (munmap(m->ptr, m->size) < 0)
|
||||
pa_log("munmap() failed: %s", pa_cstrerror(errno));
|
||||
if (munmap(m->ptr, m->size) < 0)
|
||||
pa_log("munmap() failed: %s", pa_cstrerror(errno));
|
||||
#elif defined(HAVE_POSIX_MEMALIGN)
|
||||
free(m->ptr);
|
||||
#else
|
||||
pa_xfree(m->ptr);
|
||||
#endif
|
||||
} else {
|
||||
} else {
|
||||
#ifdef HAVE_SHM_OPEN
|
||||
if (munmap(m->ptr, m->size) < 0)
|
||||
pa_log("munmap() failed: %s", pa_cstrerror(errno));
|
||||
if (munmap(m->ptr, m->size) < 0)
|
||||
pa_log("munmap() failed: %s", pa_cstrerror(errno));
|
||||
|
||||
if (m->do_unlink) {
|
||||
char fn[32];
|
||||
if (m->do_unlink) {
|
||||
char fn[32];
|
||||
|
||||
segment_name(fn, sizeof(fn), m->id);
|
||||
|
||||
if (shm_unlink(fn) < 0)
|
||||
pa_log(" shm_unlink(%s) failed: %s", fn, pa_cstrerror(errno));
|
||||
}
|
||||
}
|
||||
#else
|
||||
/* We shouldn't be here without shm support */
|
||||
assert(0);
|
||||
/* We shouldn't be here without shm support */
|
||||
assert(0);
|
||||
#endif
|
||||
}
|
||||
}
|
||||
|
||||
memset(m, 0, sizeof(*m));
|
||||
}
|
||||
|
|
@ -182,7 +182,7 @@ void pa_shm_punch(pa_shm *m, size_t offset, size_t size) {
|
|||
assert(offset+size <= m->size);
|
||||
|
||||
#ifdef MAP_FAILED
|
||||
assert(m->ptr != MAP_FAILED);
|
||||
assert(m->ptr != MAP_FAILED);
|
||||
#endif
|
||||
|
||||
/* You're welcome to implement this as NOOP on systems that don't
|
||||
|
|
@ -270,7 +270,7 @@ fail:
|
|||
#else /* HAVE_SHM_OPEN */
|
||||
|
||||
int pa_shm_attach_ro(pa_shm *m, unsigned id) {
|
||||
return -1;
|
||||
return -1;
|
||||
}
|
||||
|
||||
#endif /* HAVE_SHM_OPEN */
|
||||
|
|
|
|||
|
|
@ -435,7 +435,7 @@ pa_socket_client* pa_socket_client_new_string(pa_mainloop_api *m, const char*nam
|
|||
switch (a.type) {
|
||||
case PA_PARSED_ADDRESS_UNIX:
|
||||
if ((c = pa_socket_client_new_unix(m, a.path_or_host)))
|
||||
start_timeout(c);
|
||||
start_timeout(c);
|
||||
break;
|
||||
|
||||
case PA_PARSED_ADDRESS_TCP4: /* Fallthrough */
|
||||
|
|
@ -479,7 +479,7 @@ pa_socket_client* pa_socket_client_new_string(pa_mainloop_api *m, const char*nam
|
|||
if (res->ai_addr) {
|
||||
if ((c = pa_socket_client_new_sockaddr(m, res->ai_addr, res->ai_addrlen)))
|
||||
start_timeout(c);
|
||||
}
|
||||
}
|
||||
|
||||
freeaddrinfo(res);
|
||||
#else /* HAVE_GETADDRINFO */
|
||||
|
|
@ -507,7 +507,7 @@ pa_socket_client* pa_socket_client_new_string(pa_mainloop_api *m, const char*nam
|
|||
s.sin_port = htons(a.port);
|
||||
|
||||
if ((c = pa_socket_client_new_sockaddr(m, (struct sockaddr*)&s, sizeof(s))))
|
||||
start_timeout(c);
|
||||
start_timeout(c);
|
||||
#endif /* HAVE_GETADDRINFO */
|
||||
}
|
||||
#endif /* HAVE_LIBASYNCNS */
|
||||
|
|
|
|||
|
|
@ -177,7 +177,7 @@ int pa_socket_tcp_low_delay(int fd) {
|
|||
#endif
|
||||
|
||||
#if defined(IPTOS_LOWDELAY) && defined(IP_TOS) && (defined(SOL_IP) || \
|
||||
defined(IPPROTO_IP))
|
||||
defined(IPPROTO_IP))
|
||||
tos = IPTOS_LOWDELAY;
|
||||
#ifdef SOL_IP
|
||||
if (setsockopt(fd, SOL_IP, IP_TOS, (void*)&tos, sizeof(tos)) < 0)
|
||||
|
|
|
|||
|
|
@ -259,9 +259,9 @@ if (!(i)->context || pa_context_get_state((i)->context) != PA_CONTEXT_READY || \
|
|||
|
||||
static void debug(int level, const char *format, ...) PA_GCC_PRINTF_ATTR(2,3);
|
||||
|
||||
#define DEBUG_LEVEL_ALWAYS 0
|
||||
#define DEBUG_LEVEL_NORMAL 1
|
||||
#define DEBUG_LEVEL_VERBOSE 2
|
||||
#define DEBUG_LEVEL_ALWAYS 0
|
||||
#define DEBUG_LEVEL_NORMAL 1
|
||||
#define DEBUG_LEVEL_VERBOSE 2
|
||||
|
||||
static void debug(int level, const char *format, ...) {
|
||||
va_list ap;
|
||||
|
|
@ -421,7 +421,7 @@ static void fd_info_unref(fd_info *i) {
|
|||
pthread_mutex_lock(&i->mutex);
|
||||
assert(i->ref >= 1);
|
||||
r = --i->ref;
|
||||
debug(DEBUG_LEVEL_VERBOSE, __FILE__": ref--, now %i\n", i->ref);
|
||||
debug(DEBUG_LEVEL_VERBOSE, __FILE__": ref--, now %i\n", i->ref);
|
||||
pthread_mutex_unlock(&i->mutex);
|
||||
|
||||
if (r <= 0)
|
||||
|
|
@ -1395,7 +1395,7 @@ static int sndstat_open(int flags, int *_errno) {
|
|||
|
||||
if (flags != O_RDONLY
|
||||
#ifdef O_LARGEFILE
|
||||
&& flags != (O_RDONLY|O_LARGEFILE)
|
||||
&& flags != (O_RDONLY|O_LARGEFILE)
|
||||
#endif
|
||||
) {
|
||||
*_errno = EACCES;
|
||||
|
|
@ -1446,7 +1446,7 @@ int open(const char *filename, int flags, ...) {
|
|||
va_start(args, flags);
|
||||
if (flags & O_CREAT) {
|
||||
if (sizeof(mode_t) < sizeof(int))
|
||||
mode = va_arg(args, int);
|
||||
mode = va_arg(args, int);
|
||||
else
|
||||
mode = va_arg(args, mode_t);
|
||||
}
|
||||
|
|
@ -2023,9 +2023,9 @@ static int dsp_ioctl(fd_info *i, unsigned long request, void*argp, int *_errno)
|
|||
|
||||
*(int*) argp = DSP_CAP_DUPLEX | DSP_CAP_TRIGGER
|
||||
#ifdef DSP_CAP_MULTI
|
||||
| DSP_CAP_MULTI
|
||||
| DSP_CAP_MULTI
|
||||
#endif
|
||||
;
|
||||
;
|
||||
break;
|
||||
|
||||
case SNDCTL_DSP_GETODELAY: {
|
||||
|
|
@ -2279,8 +2279,8 @@ static int dsp_ioctl(fd_info *i, unsigned long request, void*argp, int *_errno)
|
|||
|
||||
case SNDCTL_DSP_SETDUPLEX:
|
||||
debug(DEBUG_LEVEL_NORMAL, __FILE__": SNDCTL_DSP_SETDUPLEX\n");
|
||||
/* this is a no-op */
|
||||
break;
|
||||
/* this is a no-op */
|
||||
break;
|
||||
|
||||
default:
|
||||
debug(DEBUG_LEVEL_NORMAL, __FILE__": unknown ioctl 0x%08lx\n", request);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue