diff options
author | paul <paul@0c269be4-1314-0410-8aa9-9f06e86f4224> | 2008-11-28 07:31:16 +0000 |
---|---|---|
committer | paul <paul@0c269be4-1314-0410-8aa9-9f06e86f4224> | 2008-11-28 07:31:16 +0000 |
commit | de8dba1ff67c02e0de4bc5bb4f612c95a425ccf0 (patch) | |
tree | 28cc7294f66212a046863fd45d6201afe4fa4af5 /drivers/netjack/netjack_packet.h | |
parent | 0135995afdd4495ba1927287b4e0fedec0594439 (diff) | |
download | jack1-de8dba1ff67c02e0de4bc5bb4f612c95a425ccf0.tar.gz |
netjack changes from torben (packet loss handling leads to "dummy" backend-like behaviour; jitter buffer), along with smaller mods to alsa_{in,out}
git-svn-id: svn+ssh://jackaudio.org/trunk/jack@3127 0c269be4-1314-0410-8aa9-9f06e86f4224
Diffstat (limited to 'drivers/netjack/netjack_packet.h')
-rw-r--r-- | drivers/netjack/netjack_packet.h | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/drivers/netjack/netjack_packet.h b/drivers/netjack/netjack_packet.h index c9ef00b..e854b1a 100644 --- a/drivers/netjack/netjack_packet.h +++ b/drivers/netjack/netjack_packet.h @@ -90,11 +90,13 @@ struct _packet_cache { int size; cache_packet *packets; + int mtu; }; extern packet_cache *global_packcache; // fragment cache function prototypes +// XXX: Some of these are private. packet_cache *packet_cache_new(int num_packets, int pkt_size, int mtu); void packet_cache_free(packet_cache *pkt_cache); @@ -105,13 +107,18 @@ cache_packet *packet_cache_get_free_packet(packet_cache *pkt_cache); void cache_packet_reset(cache_packet *pack); void cache_packet_set_framecnt(cache_packet *pack, jack_nframes_t framecnt); void cache_packet_add_fragment(cache_packet *pack, char *packet_buf, int rcv_len); -int cache_packet_is_complete(cache_packet *pack); +int cache_packet_is_complete(cache_packet *pack); +void packet_cache_drain_socket( packet_cache *pcache, int sockfd ); +int packet_cache_retreive_packet( packet_cache *pcache, jack_nframes_t framecnt, char *packet_buf, int pkt_size ); +int packet_cache_get_next_available_framecnt( packet_cache *pcache, jack_nframes_t expected_framecnt, jack_nframes_t *framecnt ); +int packet_cache_find_latency( packet_cache *pcache, jack_nframes_t expected_framecnt, jack_nframes_t *framecnt ); // Function Prototypes -int netjack_poll(int sockfd, int timeout); + +int netjack_poll_deadline (int sockfd, jack_time_t deadline); + void netjack_sendto(int sockfd, char *packet_buf, int pkt_size, int flags, struct sockaddr *addr, int addr_size, int mtu); -int netjack_recvfrom(int sockfd, char *packet_buf, int pkt_size, int flags, struct sockaddr *addr, socklen_t *addr_size, int mtu); -int netjack_recv(int sockfd, char *packet_buf, int pkt_size, int flags, int mtu); + int get_sample_size(int bitdepth); void packet_header_hton(jacknet_packet_header *pkthdr); @@ -122,5 +129,14 @@ void render_payload_to_jack_ports(int bitdepth, void *packet_payload, jack_nfram void render_jack_ports_to_payload(int bitdepth, JSList *playback_ports, JSList *playback_srcs, jack_nframes_t nframes, void *packet_payload, jack_nframes_t net_period_up); + +// XXX: This is sort of deprecated: +// This one waits forever. an is not using ppoll +int netjack_poll(int sockfd, int timeout); + +// TODO: these are deprecated. +int netjack_recvfrom(int sockfd, char *packet_buf, int pkt_size, int flags, struct sockaddr *addr, socklen_t *addr_size, int mtu); +int netjack_recv(int sockfd, char *packet_buf, int pkt_size, int flags, int mtu); + #endif |