]> git.rkrishnan.org Git - dttsp.git/blobdiff - jDttSP/chan.c
Major changes. Added metering and power spectrum, other fixes. Rearranged headers...
[dttsp.git] / jDttSP / chan.c
index 651274c89a240ebdeafcf52f43bc99d2a1b03ade..ba7e2467d481604ab3ddd6e9efa4faebe0c147cd 100644 (file)
@@ -54,6 +54,17 @@ putChan_nowait(Chan c, char *data, size_t size) {
   } else return FALSE;
 }
 
+size_t
+putChan_force(Chan c, char *data, size_t size) {
+  if (ringb_write_space(c->rb) >= size) {
+    ringb_write(c->rb, data, size);
+    return size;
+  } else {
+    ringb_reset(c->rb);
+    return ringb_write(c->rb, data, size);
+  }
+}
+
 BOOLEAN
 getChan_nowait(Chan c, char *data, size_t size) {
   if (ringb_read_space(c->rb) >= size) {
@@ -62,6 +73,9 @@ getChan_nowait(Chan c, char *data, size_t size) {
   } else return FALSE;
 }
 
+void
+resetChan(Chan c) { ringb_reset(c->rb); }
+
 Chan
 openChan(char *path, size_t want) {
   Chan c = (Chan) safealloc(sizeof(ChanDesc), 1, "Chan header");