Changeset 3953
- Timestamp:
- 03/10/10 12:04:47 (5 months ago)
- Files:
-
- jack2/branches/libjacknet/common/jack/net.h (modified) (1 diff)
- jack2/branches/libjacknet/common/JackAudioAdapterInterface.h (modified) (4 diffs)
- jack2/branches/libjacknet/common/JackNetAPI.cpp (modified) (4 diffs)
- jack2/branches/libjacknet/common/JackNetInterface.cpp (modified) (2 diffs)
- jack2/branches/libjacknet/common/JackResampler.cpp (modified) (1 diff)
- jack2/branches/libjacknet/common/ringbuffer.c (modified) (1 diff)
- jack2/branches/libjacknet/macosx/iphone/main_slave.mm (modified) (3 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
jack2/branches/libjacknet/common/jack/net.h
r3952 r3953 269 269 int jack_destroy_adapter(jack_adapter_t* adapter); 270 270 271 272 void jack_flush_adapter(jack_adapter_t* adapter); 273 271 274 /** 272 275 * Push input to and pull output from ringbuffer jack2/branches/libjacknet/common/JackAudioAdapterInterface.h
r3924 r3953 103 103 public: 104 104 105 JackAudioAdapterInterface ( jack_nframes_t buffer_size, jack_nframes_t sample_rate ):105 JackAudioAdapterInterface ( jack_nframes_t buffer_size, jack_nframes_t sample_rate, jack_nframes_t ring_buffer_size = DEFAULT_ADAPTATIVE_SIZE): 106 106 fCaptureChannels ( 0 ), 107 107 fPlaybackChannels ( 0 ), … … 113 113 fCaptureRingBuffer(NULL), fPlaybackRingBuffer(NULL), 114 114 fQuality(0), 115 fRingbufferCurSize( DEFAULT_ADAPTATIVE_SIZE),115 fRingbufferCurSize(ring_buffer_size), 116 116 fPullAndPushTime(0), 117 117 fRunning(false), … … 121 121 jack_nframes_t host_sample_rate, 122 122 jack_nframes_t adapted_buffer_size, 123 jack_nframes_t adapted_sample_rate ) : 123 jack_nframes_t adapted_sample_rate, 124 jack_nframes_t ring_buffer_size = DEFAULT_ADAPTATIVE_SIZE ) : 124 125 fCaptureChannels ( 0 ), 125 126 fPlaybackChannels ( 0 ), … … 130 131 fPIControler(host_sample_rate / host_sample_rate, 256), 131 132 fQuality(0), 132 fRingbufferCurSize( DEFAULT_ADAPTATIVE_SIZE),133 fRingbufferCurSize(ring_buffer_size), 133 134 fPullAndPushTime(0), 134 135 fRunning(false), jack2/branches/libjacknet/common/JackNetAPI.cpp
r3952 r3953 112 112 jack_nframes_t adapted_sample_rate); 113 113 SERVER_EXPORT int jack_destroy_adapter(jack_adapter_t* adapter); 114 SERVER_EXPORT void jack_flush_adapter(jack_adapter_t* adapter); 114 115 115 116 SERVER_EXPORT int jack_adapter_push_and_pull(jack_adapter_t* adapter, float** input, float** output, unsigned int frames); … … 486 487 } 487 488 488 int Restart()489 int Restart() 489 490 { 490 491 // If shutdown cb is set, then call it … … 783 784 Destroy(); 784 785 } 786 787 int Flush() 788 { 789 for (int i = 0; i < fCaptureChannels; i++ ) { 790 fCaptureRingBuffer[i]->Reset(fRingbufferCurSize); 791 } 792 for (int i = 0; i < fPlaybackChannels; i++ ) { 793 fPlaybackRingBuffer[i]->Reset(fRingbufferCurSize); 794 } 795 } 785 796 786 797 }; … … 895 906 } 896 907 908 SERVER_EXPORT void jack_flush_adapter(jack_adapter_t* adapter) 909 { 910 JackNetAdapter* slave = (JackNetAdapter*)adapter; 911 slave->Flush(); 912 } 913 897 914 SERVER_EXPORT int jack_adapter_push_and_pull(jack_adapter_t* adapter, float** input, float** output, unsigned int frames) 898 915 { jack2/branches/libjacknet/common/JackNetInterface.cpp
r3952 r3953 437 437 //the slow mode is the safest mode because it wait twice the bandwidth relative time (send/return + process) 438 438 439 /* 439 440 if (fCycleOffset < CYCLE_OFFSET_SLOW) { 440 441 return 0; … … 442 443 rx_bytes = Recv ( rx_head->fPacketSize, 0 ); 443 444 } 444 445 //rx_bytes = Recv ( rx_head->fPacketSize, 0 ); 445 */ 446 447 rx_bytes = Recv ( rx_head->fPacketSize, 0 ); 446 448 447 449 if (fCycleOffset != fLastfCycleOffset) jack2/branches/libjacknet/common/JackResampler.cpp
r3921 r3953 40 40 { 41 41 fRingBufferSize = new_size; 42 jack_ringbuffer_reset(fRingBuffer); 42 43 jack_ringbuffer_reset_size(fRingBuffer, sizeof(float) * fRingBufferSize); 43 44 jack_ringbuffer_read_advance(fRingBuffer, (sizeof(float) * fRingBufferSize / 2)); jack2/branches/libjacknet/common/ringbuffer.c
r3900 r3953 127 127 rb->read_ptr = 0; 128 128 rb->write_ptr = 0; 129 memset(rb->buf, 0, rb->size); 129 130 } 130 131 jack2/branches/libjacknet/macosx/iphone/main_slave.mm
r3952 r3953 15 15 #define NUM_OUTPUT 2 16 16 17 jack_net_slave_t* net ;18 jack_adapter_t* adapter ;17 jack_net_slave_t* net = NULL; 18 jack_adapter_t* adapter = NULL; 19 19 20 20 int buffer_size; 21 21 int sample_rate; 22 23 22 24 23 static int net_process(jack_nframes_t buffer_size, … … 46 45 return 0; 47 46 } 47 48 static void net_shutdown(void *arg) 49 { 50 if (adapter) 51 jack_flush_adapter(adapter); 52 } 53 48 54 49 55 static void SlaveAudioCallback(int frames, float** inputs, float** outputs, void* arg) … … 81 87 82 88 jack_set_net_slave_process_callback(net, net_process, NULL); 89 jack_set_net_slave_shutdown_callback(net, net_shutdown, NULL); 90 83 91 if (jack_net_slave_activate(net) != 0) { 84 92 return -1;
