~mdw
/
disorder
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
playrtp: --dump support for ALSA and OSS backends
[disorder]
/
clients
/
playrtp-oss.c
diff --git
a/clients/playrtp-oss.c
b/clients/playrtp-oss.c
index
3c6312d
..
b40947d
100644
(file)
--- a/
clients/playrtp-oss.c
+++ b/
clients/playrtp-oss.c
@@
-1,6
+1,7
@@
/*
* This file is part of DisOrder.
* Copyright (C) 2007 Richard Kettlewell
/*
* This file is part of DisOrder.
* Copyright (C) 2007 Richard Kettlewell
+ * Portions copyright (C) 2007 Ross Younger
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
@@
-37,6
+38,7
@@
#include <fcntl.h>
#include <unistd.h>
#include <errno.h>
#include <fcntl.h>
#include <unistd.h>
#include <errno.h>
+#include <arpa/inet.h>
#include "mem.h"
#include "log.h"
#include "mem.h"
#include "log.h"
@@
-137,6
+139,15
@@
static int playrtp_oss_flush(void) {
if(nbyteswritten < playrtp_oss_bufsize)
error(0, "%s: short write (%d/%d)",
device, nbyteswritten, playrtp_oss_bufsize);
if(nbyteswritten < playrtp_oss_bufsize)
error(0, "%s: short write (%d/%d)",
device, nbyteswritten, playrtp_oss_bufsize);
+ if(dump_buffer) {
+ int count;
+ const int16_t *sp = (const int16_t *)playrtp_oss_buffer;
+
+ for(count = 0; count < playrtp_oss_bufsize; count += sizeof(int16_t)) {
+ dump_buffer[dump_index++] = (int16_t)ntohs(*sp++);
+ dump_index %= dump_size;
+ }
+ }
playrtp_oss_bufused = 0;
return 0;
}
playrtp_oss_bufused = 0;
return 0;
}