Lines 78-86
static inline void CopyAndConvertIn(jack_sample_t *dst, void *src, size_t nframe
Link Here
|
78 |
break; |
78 |
break; |
79 |
} |
79 |
} |
80 |
case 24: { |
80 |
case 24: { |
|
|
81 |
#ifdef __FreeBSD__ |
82 |
char *s24src = (char*)src; |
83 |
s24src += channel * 3; |
84 |
sample_move_dS_s24(dst, s24src, nframes, chcount*3); |
85 |
#else |
81 |
signed int *s32src = (signed int*)src; |
86 |
signed int *s32src = (signed int*)src; |
82 |
s32src += channel; |
87 |
s32src += channel; |
83 |
sample_move_dS_s24(dst, (char*)s32src, nframes, chcount<<2); |
88 |
sample_move_dS_s24(dst, (char*)s32src, nframes, chcount<<2); |
|
|
89 |
#endif |
84 |
break; |
90 |
break; |
85 |
} |
91 |
} |
86 |
case 32: { |
92 |
case 32: { |
Lines 103-111
static inline void CopyAndConvertOut(void *dst, jack_sample_t *src, size_t nfram
Link Here
|
103 |
break; |
109 |
break; |
104 |
} |
110 |
} |
105 |
case 24: { |
111 |
case 24: { |
|
|
112 |
#ifdef __FreeBSD__ |
113 |
char *s24dst = (char*)dst; |
114 |
s24dst += channel * 3; |
115 |
sample_move_d24_sS(s24dst, src, nframes, chcount*3, NULL); |
116 |
#else |
106 |
signed int *s32dst = (signed int*)dst; |
117 |
signed int *s32dst = (signed int*)dst; |
107 |
s32dst += channel; |
118 |
s32dst += channel; |
108 |
sample_move_d24_sS((char*)s32dst, src, nframes, chcount<<2, NULL); // No dithering for now... |
119 |
sample_move_d24_sS((char*)s32dst, src, nframes, chcount<<2, NULL); // No dithering for now... |
|
|
120 |
#endif |
109 |
break; |
121 |
break; |
110 |
} |
122 |
} |
111 |
case 32: { |
123 |
case 32: { |
Lines 123-129
void JackOSSDriver::SetSampleFormat()
Link Here
|
123 |
|
135 |
|
124 |
case 24: /* native-endian LSB aligned 24-bits in 32-bits integer */ |
136 |
case 24: /* native-endian LSB aligned 24-bits in 32-bits integer */ |
125 |
fSampleFormat = AFMT_S24_NE; |
137 |
fSampleFormat = AFMT_S24_NE; |
|
|
138 |
#ifdef __FreeBSD__ |
139 |
fSampleSize = 3; |
140 |
#else |
126 |
fSampleSize = sizeof(int); |
141 |
fSampleSize = sizeof(int); |
|
|
142 |
#endif |
127 |
break; |
143 |
break; |
128 |
case 32: /* native-endian 32-bit integer */ |
144 |
case 32: /* native-endian 32-bit integer */ |
129 |
fSampleFormat = AFMT_S32_NE; |
145 |
fSampleFormat = AFMT_S32_NE; |