Viewing extended status

The Help/Extended Status dialogue shows detailed information about the status of Speak Freely. Once displayed, the dialogue remains on the screen until you press the Close button and is updated in real time as events occur which change the status of Speak Freely. The status information is grouped into the following categories.


Items in this box specify the number of sound packets sent to connected hosts and received from hosts since Speak Freely was launched. "Samples per packet" gives the number of original sound samples which can be stored in each 512 byte output packet, based on the compression modes currently selected. There are 8000 samples of audio per second; compression allows more original samples to fit in each packet. "Packet size" indicates the maximum size datagram packet your network can transmit; as long as this is more than the WINSOCK requirement of 512 bytes, everything should work fine. "Sending with:" indicates which socket write function is being used; to work around errors in certain network drivers, it's necessary to support both send() and sendto(). In case of trouble it's handy to know which one we're calling.

Packets lost

This box lets you know how many packets have been lost due to audio hardware or network bandwidth limitations. If your audio hardware is half-duplex, you won't be able to hear incoming sound while you're transmitting unless you check the Options/Break Input menu item. The "Input (half-duplex)" field increments every time a received packet is discarded because it arrived while you were transmitting. Input packets can also be lost if the size of the audio output queue exceeds 3/4 of the size of the message queue obtained from Windows; see the "Audio" and "Message queue" sections below for additional details. The "Output (net busy)" field increments every time a packet of sound you're attempting to transmit is discarded because your network connection was too slow to complete sending earlier packets. This is an indication you need to use a more efficient compression mode.


The current status, sample size, and sampling rate of the audio hardware are given for both input and output channels. "Idle" indicates the channel is not in use, "Active" that it's currently sending or receiving. The Output channel can also have modes of "Terminating", indicating shutdown in progress while Speak Freely is exiting, and "Transition": forced shutdown of output in progress when transmission is requested and the audio hardware is half-duplex. When output is in progress, a number of output packets can be in the audio queue at once; the "Queue length" field indicates how many packets are queued for output and how long it will take to play them or "Queue empty" if no packets remain to play. The next line in the dialogue indicates whether the audio hardware is half- or full-duplex. Finally, "Message checks" gives the number of times a check was made to see if Speak Freely was falling behind due to the selected compression and encryption modes exceeding the computer's ability to perform them in real time. If this number increases rapidly when you're sending, choose less demanding compression and encryption modes; if it increases rapidly while you're receiving sound, ask the person who's sending to select modes which don't overload your computer. A few message checks are normal; there's a problem only if the number increments continuously during transmission or reception.


The number of active connections (whether temporary or permanent) is given, along with the compression mode currently selected for audio sent to those connections.

Message queue size

Because Speak Freely can be doing many things at once, it needs to increase the size of the queue which receives messages from Windows to more than the default of 8 messages. When launched, Speak Freely attempts to increase the message queue to the maximum of 120 messages. The actual size obtained is shown in this field. The maximum number of packets in the audio output queue (see "Audio" above) is limited to 3/4 of the message queue size. If this limit is exceeded, the input packet will be discarded and the Input field in the "Packets lost" box incremented.