| 
							- 
 - /*
 -     Copyright (C) 2003 Robert Ham <rah@bash.sh>
 -     Copyright (C) 2005 Torben Hohn <torbenh@gmx.de>
 - 
 -     This program is free software; you can redistribute it and/or modify
 -     it under the terms of the GNU General Public License as published by
 -     the Free Software Foundation; either version 2 of the License, or
 -     (at your option) any later version.
 - 
 -     This program is distributed in the hope that it will be useful,
 -     but WITHOUT ANY WARRANTY; without even the implied warranty of
 -     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 -     GNU General Public License for more details.
 - 
 -     You should have received a copy of the GNU General Public License
 -     along with this program; if not, write to the Free Software
 -     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 - */
 - 
 - #ifndef __NETJACK_H__
 - #define __NETJACK_H__
 - 
 - #include <unistd.h>
 - 
 - #include <jack/types.h>
 - #include <jack/jack.h>
 - #include <jack/transport.h>
 - #include "jack/jslist.h"
 - 
 - #if HAVE_CELT
 - #include <celt/celt.h>
 - #endif
 - 
 - #if HAVE_OPUS
 - #include <opus/opus.h>
 - #include <opus/opus_custom.h>
 - #endif
 - 
 - #ifdef __cplusplus
 - extern "C"
 - {
 - #endif
 - 
 -     struct _packet_cache;
 - 
 -     typedef struct _netjack_driver_state netjack_driver_state_t;
 - 
 -     struct _netjack_driver_state {
 -         jack_nframes_t  net_period_up;
 -         jack_nframes_t  net_period_down;
 - 
 -         jack_nframes_t  sample_rate;
 -         jack_nframes_t  bitdepth;
 -         jack_nframes_t  period_size;
 -         jack_time_t	    period_usecs;
 -         int		    dont_htonl_floats;
 -         int		    always_deadline;
 - 
 -         jack_nframes_t  codec_latency;
 - 
 -         unsigned int    listen_port;
 - 
 -         unsigned int    capture_channels;
 -         unsigned int    playback_channels;
 -         unsigned int    capture_channels_audio;
 -         unsigned int    playback_channels_audio;
 -         unsigned int    capture_channels_midi;
 -         unsigned int    playback_channels_midi;
 - 
 -         JSList	    *capture_ports;
 -         JSList	    *playback_ports;
 -         JSList	    *playback_srcs;
 -         JSList	    *capture_srcs;
 - 
 -         jack_client_t   *client;
 - 
 - #ifdef WIN32
 -         SOCKET	    sockfd;
 -         SOCKET	    outsockfd;
 - #else
 -         int		    sockfd;
 -         int		    outsockfd;
 - #endif
 - 
 -         struct sockaddr_in syncsource_address;
 - 
 -         int		    reply_port;
 -         int		    srcaddress_valid;
 - 
 -         int sync_state;
 -         unsigned int handle_transport_sync;
 - 
 -         unsigned int *rx_buf;
 -         unsigned int rx_bufsize;
 -         //unsigned int tx_bufsize;
 -         unsigned int mtu;
 -         unsigned int latency;
 -         unsigned int redundancy;
 - 
 -         jack_nframes_t expected_framecnt;
 -         int		   expected_framecnt_valid;
 -         unsigned int   num_lost_packets;
 -         jack_time_t	   next_deadline;
 -         jack_time_t	   deadline_offset;
 -         int		   next_deadline_valid;
 -         int		   packet_data_valid;
 -         int		   resync_threshold;
 -         int		   running_free;
 -         int		   deadline_goodness;
 -         jack_time_t	   time_to_deadline;
 -         unsigned int   use_autoconfig;
 -         unsigned int   resample_factor;
 -         unsigned int   resample_factor_up;
 -         int		   jitter_val;
 -         struct _packet_cache * packcache;
 - #if HAVE_CELT
 -         CELTMode	   *celt_mode;
 - #endif
 - #if HAVE_OPUS
 -         OpusCustomMode* opus_mode;
 - #endif
 -     };
 -   
 -     int netjack_wait( netjack_driver_state_t *netj );
 -     void netjack_send_silence( netjack_driver_state_t *netj, int syncstate );
 -     void netjack_read( netjack_driver_state_t *netj, jack_nframes_t nframes ) ;
 -     void netjack_write( netjack_driver_state_t *netj, jack_nframes_t nframes, int syncstate );
 -     void netjack_attach( netjack_driver_state_t *netj );
 -     void netjack_detach( netjack_driver_state_t *netj );
 - 
 -     netjack_driver_state_t *netjack_init (netjack_driver_state_t *netj,
 -                                           jack_client_t * client,
 -                                           const char *name,
 -                                           unsigned int capture_ports,
 -                                           unsigned int playback_ports,
 -                                           unsigned int capture_ports_midi,
 -                                           unsigned int playback_ports_midi,
 -                                           jack_nframes_t sample_rate,
 -                                           jack_nframes_t period_size,
 -                                           unsigned int listen_port,
 -                                           unsigned int transport_sync,
 -                                           unsigned int resample_factor,
 -                                           unsigned int resample_factor_up,
 -                                           unsigned int bitdepth,
 -                                           unsigned int use_autoconfig,
 -                                           unsigned int latency,
 -                                           unsigned int redundancy,
 -                                           int dont_htonl_floats,
 -                                           int always_deadline,
 -                                           int jitter_val );
 - 
 -     void netjack_release( netjack_driver_state_t *netj );
 -     int netjack_startup( netjack_driver_state_t *netj );
 - 
 - #ifdef __cplusplus
 - }
 - #endif
 - 
 - #endif
 
 
  |