summaryrefslogtreecommitdiff
path: root/plugins/nullout
diff options
context:
space:
mode:
authorGravatar Alexey Yakovenko <wakeroid@gmail.com>2009-12-15 21:12:53 +0100
committerGravatar Alexey Yakovenko <wakeroid@gmail.com>2009-12-15 21:12:53 +0100
commita968aac6963161afdfe31d82b60332f88026ea44 (patch)
tree71d0ed0c408a3e5ee97ccf2efaddd3cc2e10db53 /plugins/nullout
parent08f264956959feaeff27b989ee7110f444934edb (diff)
added division by zero handler to ape decoder
Diffstat (limited to 'plugins/nullout')
-rw-r--r--plugins/nullout/nullout.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/plugins/nullout/nullout.c b/plugins/nullout/nullout.c
index 57980d60..ef14e367 100644
--- a/plugins/nullout/nullout.c
+++ b/plugins/nullout/nullout.c
@@ -19,6 +19,7 @@
#include <unistd.h>
#include <sys/prctl.h>
#include <stdio.h>
+#include <string.h>
#include "deadbeef.h"
#define trace(...) { fprintf(stderr, __VA_ARGS__); }
@@ -97,10 +98,8 @@ pnull_change_rate (int rate) {
int
pnull_free (void) {
- trace ("pnull_free\n");
if (!null_terminate) {
null_terminate = 1;
- deadbeef->thread_join (null_tid);
null_tid = 0;
state = OUTPUT_STATE_STOPPED;
null_terminate = 0;
@@ -110,6 +109,9 @@ pnull_free (void) {
int
pnull_play (void) {
+ if (!null_tid) {
+ pnull_init ();
+ }
state = OUTPUT_STATE_PLAYING;
return 0;
}
@@ -188,10 +190,8 @@ pnull_thread (void *context) {
continue;
}
-
char buf[4096];
pnull_callback (buf, 1024);
- usleep (1000); // this must be here to prevent mutex deadlock
}
}