summaryrefslogtreecommitdiffstats
path: root/libtoolame-dab/zmqoutput.h
blob: 7f4eb59ace778818f7d26a955fd207d052813776 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#ifndef _ZMQOUTPUT_H_
#define _ZMQOUTPUT_H_

#include <stdint.h>
#include "common.h"

#define ZMQ_ENCODER_TOOLAME 2

struct zmq_frame_header
{
    uint16_t version; // we support version=1 now
    uint16_t encoder; // see ZMQ_ENCODER_XYZ

    /* length of the 'data' field */
    uint32_t datasize;

    /* Audio level, peak, linear PCM */
    int16_t audiolevel_left;
    int16_t audiolevel_right;

    /* Data follows this header */
} __attribute__ ((packed));


/* Open the zmq socket and connect it to all URIs in the list.
 * The URIs are semicolon delimited
 */
int zmqoutput_open(Bit_stream_struc * bs, const char* uri_list);

int zmqoutput_write_byte(Bit_stream_struc *bs, unsigned char data);

void zmqoutput_close(Bit_stream_struc *bs);

void zmqoutput_set_peaks(int left, int right);

#endif