summaryrefslogtreecommitdiff
path: root/channels/chan_oss.c
diff options
context:
space:
mode:
authorMark Spencer <markster@digium.com>2001-03-30 19:24:13 +0000
committerMark Spencer <markster@digium.com>2001-03-30 19:24:13 +0000
commitef47e8b675e40536a4fa6c80f086f8e108454ac8 (patch)
tree7e883fe4313a4326c61306248bd90d5da81a34dc /channels/chan_oss.c
parenta2828462c0e92cbb9dc67accf71de82ae61f49f2 (diff)
Version 0.1.7 from FTP
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@260 65c4cc65-6c06-0410-ace0-fbb531ad65f3
Diffstat (limited to 'channels/chan_oss.c')
-rwxr-xr-xchannels/chan_oss.c11
1 files changed, 8 insertions, 3 deletions
diff --git a/channels/chan_oss.c b/channels/chan_oss.c
index 582618008..2791e3f76 100755
--- a/channels/chan_oss.c
+++ b/channels/chan_oss.c
@@ -385,7 +385,7 @@ static int soundcard_writeframe(short *data)
{
/* Write an exactly FRAME_SIZE sized of frame */
static int bufcnt = 0;
- static char buffer[FRAME_SIZE * 2 * MAX_BUFFER_SIZE * 5];
+ static short buffer[FRAME_SIZE * MAX_BUFFER_SIZE * 5];
struct audio_buf_info info;
int res;
int fd = sounddev;
@@ -407,7 +407,7 @@ static int soundcard_writeframe(short *data)
} else {
/* Copy the data into our buffer */
res = FRAME_SIZE * 2;
- memcpy(buffer + (bufcnt * FRAME_SIZE * 2), data, FRAME_SIZE * 2);
+ memcpy(buffer + (bufcnt * FRAME_SIZE), data, FRAME_SIZE * 2);
bufcnt++;
if (bufcnt == buffersize) {
res = write(fd, ((void *)buffer), FRAME_SIZE * 2 * buffersize);
@@ -548,7 +548,7 @@ static struct ast_channel *oss_new(struct chan_oss_pvt *p, int state)
snprintf(tmp->name, sizeof(tmp->name), "OSS/%s", DEV_DSP + 5);
tmp->type = type;
tmp->fd = funnel[0];
- tmp->format = AST_FORMAT_SLINEAR;
+ tmp->nativeformats = AST_FORMAT_SLINEAR;
tmp->pvt->pvt = p;
tmp->pvt->send_digit = oss_digit;
tmp->pvt->send_text = oss_text;
@@ -841,3 +841,8 @@ int usecount()
pthread_mutex_unlock(&usecnt_lock);
return res;
}
+
+char *key()
+{
+ return ASTERISK_GPL_KEY;
+}