1#ifndef fooraoppacketbufferfoo
2#define fooraoppacketbufferfoo
3
4/***
5  This file is part of PulseAudio.
6
7  Copyright 2013 Matthias Wabersich
8  Copyright 2013 Hajime Fujita
9
10  PulseAudio is free software; you can redistribute it and/or modify
11  it under the terms of the GNU Lesser General Public License as published
12  by the Free Software Foundation; either version 2.1 of the License,
13  or (at your option) any later version.
14
15  PulseAudio is distributed in the hope that it will be useful, but
16  WITHOUT ANY WARRANTY; without even the implied warranty of
17  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
18  General Public License for more details.
19
20  You should have received a copy of the GNU Lesser General Public License
21  along with PulseAudio; if not, write to the Free Software
22  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
23  USA.
24***/
25
26#include <pulsecore/memblock.h>
27#include <pulsecore/memchunk.h>
28
29typedef struct pa_raop_packet_buffer pa_raop_packet_buffer;
30
31/* Allocates a new circular packet buffer, size: Maximum number of packets to store */
32pa_raop_packet_buffer *pa_raop_packet_buffer_new(pa_mempool *mempool, const size_t size);
33void pa_raop_packet_buffer_free(pa_raop_packet_buffer *pb);
34
35void pa_raop_packet_buffer_reset(pa_raop_packet_buffer *pb, uint16_t seq);
36
37pa_memchunk *pa_raop_packet_buffer_prepare(pa_raop_packet_buffer *pb, uint16_t seq, const size_t size);
38pa_memchunk *pa_raop_packet_buffer_retrieve(pa_raop_packet_buffer *pb, uint16_t seq);
39
40#endif
41