Ejemplo n.º 1
0
int groove_fingerprinter_info_get(struct GrooveFingerprinter *printer,
        struct GrooveFingerprinterInfo *info, int block)
{
    struct GrooveFingerprinterPrivate *p = (struct GrooveFingerprinterPrivate *) printer;

    struct GrooveFingerprinterInfo *info_ptr;
    if (groove_queue_get(p->info_queue, (void**)&info_ptr, block) == 1) {
        *info = *info_ptr;
        deallocate(info_ptr);
        return 1;
    }

    return 0;
}
Ejemplo n.º 2
0
int groove_sink_buffer_get(struct GrooveSink *sink, struct GrooveBuffer **buffer, int block) {
    struct GrooveSinkPrivate *s = (struct GrooveSinkPrivate *) sink;

    if (groove_queue_get(s->audioq, (void**)buffer, block) == 1) {
        if (*buffer == end_of_q_sentinel) {
            *buffer = NULL;
            return GROOVE_BUFFER_END;
        } else {
            return GROOVE_BUFFER_YES;
        }
    } else {
        *buffer = NULL;
        return GROOVE_BUFFER_NO;
    }
}
Ejemplo n.º 3
0
int groove_encoder_buffer_get(struct GrooveEncoder *encoder,
        struct GrooveBuffer **buffer, int block)
{
    struct GrooveEncoderPrivate *e = (struct GrooveEncoderPrivate *) encoder;

    if (groove_queue_get(e->audioq, (void**)buffer, block) == 1) {
        if (*buffer == end_of_q_sentinel) {
            *buffer = NULL;
            return GROOVE_BUFFER_END;
        } else {
            return GROOVE_BUFFER_YES;
        }
    } else {
        *buffer = NULL;
        return GROOVE_BUFFER_NO;
    }
}