The HTTP Streamer can be enabled via the _streamer_enabled_ daemon parameter.
When the Streamer is active the daemon starts capturing the configured _Sinks_ up to the maximum number of channels configured by the _streamer_channels_ parameters.
The captured PCM samples are split into _streamer_files_num_ files of _streamer_file_duration_ duration (in seconds) for each sink, compressed using AAC LC codec and served via HTTP.
The HTTP streamer requires the libfaac-dev package to compile.
Please note that since the HTTP Streamer uses the RAVENNA ALSA device for capturing it's not possible to use such device for other audio captures.
The build script has been modified to checkout the driver branch aes67-daemon-issue11 with fixes to support sample rates higher than 192Khz.
These changes fix#124 and #122
JSON boolean specifying whether to enable or disable the automatic update of the configured Sinks.
When enabled the daemon will automatically update the configured Sinks according to the discovered remote sources via SAP and mDNS/RTSP updates.
The SDP Originator (o=) is used to match a Sink with the remote source/s.
The daemon can apply a configuration change to the following parameters without a restart:
sap_interval, syslog_proto, syslog_server, log_severity, sample_rate
The daemon can apply a configuration change to the following parameters without a light restart:
http_port, rtsp_port, http_base_dir, rtp_mcast_base, sap_mcast_addr, rtp_port, rtp_port, status_file, interface_name, mdns_enabled
A light restart means that the configuration can be applied without interrupting the playback/capture applications
A change to one of following paramters causes a full daemon restart:
interface_name, tic_frame_size_at_1fs, max_tic_frame_size
On PTP status change the daemon can run in background an external shell script whose path name is specified by the new ptp_status_script Config parameter.
If this parameter is empty, no script is invoked. The PTP clock status is passed as first parameter to the script and it can be unlocked, locking or locked.
A sample script is provided in daemon/scripts/ptp_status.sh
The script run_latency_test.sh can be used to run the test.
The latency utility measures the end to end latency by adding timestamps in the stream at playback time and checking the timestamps when the packets are received on the capture device.
The average measured end to end latency is printed at the end of the test.
The latency utility is based on a modified version of the original ALSA latency tool.
Updated daemon documentation with info on the new driver patch to remove unsupported non-interleved access that enables compatibility with JACK audio.
Changed default daemon configuration file to use a TIC frame size of 64 to enable configuring an ALSA period compatible with JACk audio.
Updated daemon version to 1.2.
To run the test suite:
./run_test.sh sample_format sample_rate channels duration
Where:
sample_format can be one of S16_LE, S24_3LE, S32_LE
sample_rate can be one of 44100, 48000, 96000
channels can be one of 1, 2, 4
duration is in the range 1 to 10 minutes
The test suite creates a raw file with the specified parameters, runs a loopback test where the file gets played and recorded using the loopback network interface and checks that the recorded file, after the initial silence, contains the expected samples sequence.
This test was developed to further investigate the issue #17.