summaryrefslogtreecommitdiff
path: root/src/buffer/common.h
blob: 701969f0656f6de290dabc818da6765ee7b8a4f4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#pragma once

//#define CAMU_BUFFER_SPORADIC_ERRORS
#ifdef CAMU_BUFFER_SPORADIC_ERRORS
#include <al/random.h>
#define ROLL_FOR_BUFFER_ERROR(buf) do { \
    if (al_random_int(0, 254) == 72) { \
        al_atomic_store(u32)(&(buf)->flow, FLUSHED_ERROR, AL_ATOMIC_RELAXED); \
    } \
} while (0)
#endif

enum {
    CAMU_BUFFER_BUFFERED = 0,
    CAMU_BUFFER_CORK,
    CAMU_BUFFER_UNCORK,
    CAMU_BUFFER_PAUSED,
    CAMU_BUFFER_EOF,
    CAMU_BUFFER_ERRORED
};