commit
e64a5a7e76
@ -103,6 +103,8 @@ The [aes67-daemon branch of ravenna-alsa-lkm repository](https://github.com/bond
|
||||
|
||||
The following patches have been applied to the original module:
|
||||
|
||||
* patch to support sample rates 192Khz and 384Khz (from driver version v1.7)
|
||||
* patch to compile with Linux Kernel v6.2 and above (from driver version v1.7)
|
||||
* patch to make the PTP slave status change from locked to unlocked if no announcement messages are received from the Master for more than 5 seconds (from driver version v1.6). See [issue 87](https://github.com/bondagit/aes67-linux-daemon/issues/87).
|
||||
* patch to fix issue causing the usage of wrong Sources and Sinks buffer offsets in case of reconfiguration or daemon restart (from driver version v1.5). See [issue 55](https://github.com/bondagit/aes67-linux-daemon/issues/55).
|
||||
* patch to enable the configuration of smaller ALSA buffer sizes to reduce end-to-end latency up to 8ms (from driver version v1.4). See [platform latency test](#latency) and See [issue 53](https://github.com/bondagit/aes67-linux-daemon/issues/53)
|
||||
@ -211,7 +213,7 @@ The script allows a user to test a specific configuration and it can be used to
|
||||
|
||||
Usage run_test.sh sample_format sample_rate channels duration
|
||||
sample_format can be one of S16_LE, S24_3LE, S32_LE
|
||||
sample_rate can be one of 44100, 48000, 96000
|
||||
sample_rate can be one of 44100, 48000, 96000, 192000, 384000
|
||||
channels can be one of 2, 4, 6, up to 64
|
||||
duration is in the range 1 to 10 minutes
|
||||
|
||||
@ -269,7 +271,7 @@ The script allows a user to test the latency on a specific configuration and it
|
||||
|
||||
Usage run_latency_test.sh sample_format sample_rate channels duration frames
|
||||
sample_format can be one of S16_LE, S24_3LE, S32_LE
|
||||
sample_rate can be one of 44100, 48000, 96000
|
||||
sample_rate can be one of 44100, 48000, 96000, 192000, 384000
|
||||
channels can be one of 2, 4, 6, up to 64
|
||||
duration of the test in seconds
|
||||
frames buffer size in frames
|
||||
|
2
build.sh
2
build.sh
@ -11,7 +11,7 @@ TOPDIR=$(pwd)
|
||||
|
||||
cd 3rdparty
|
||||
if [ ! -d ravenna-alsa-lkm ]; then
|
||||
git clone --single-branch --branch aes67-daemon https://github.com/bondagit/ravenna-alsa-lkm.git
|
||||
git clone --single-branch --branch aes67-daemon-issue11 https://github.com/bondagit/ravenna-alsa-lkm.git
|
||||
cd ravenna-alsa-lkm/driver
|
||||
make
|
||||
cd ../..
|
||||
|
@ -237,7 +237,7 @@ where:
|
||||
|
||||
> **sample\_rate**
|
||||
> JSON number specifying the default sample rate.
|
||||
> Valid values are 44100Hz, 48000Hz and 96000Hz.
|
||||
> Valid values are 44100Hz, 48000Hz, 96000Hz, 192000Hz and 384000Hz.
|
||||
|
||||
> **playout\_delay**
|
||||
> JSON number specifying the default safety playout delay at 1FS in samples.
|
||||
|
@ -39,7 +39,7 @@ namespace po = boost::program_options;
|
||||
namespace postyle = boost::program_options::command_line_style;
|
||||
namespace logging = boost::log;
|
||||
|
||||
static const std::string version("bondagit-1.6.2");
|
||||
static const std::string version("bondagit-1.6.3");
|
||||
static std::atomic<bool> terminate = false;
|
||||
|
||||
void termination_handler(int signum) {
|
||||
|
@ -13,9 +13,9 @@ function cleanup {
|
||||
}
|
||||
|
||||
function usage {
|
||||
echo 'Usage run_latenvy_test.sh sample_format sample_rate channels duration frames' >&2
|
||||
echo 'Usage run_latency_test.sh sample_format sample_rate channels duration frames' >&2
|
||||
echo ' sample_format can be one of S16_LE, S24_3LE, S32_LE' >&2
|
||||
echo ' sample_rate can be one of 44100, 48000, 96000' >&2
|
||||
echo ' sample_rate can be one of 44100, 48000, 96000, 192000, 384000' >&2
|
||||
echo ' channels can be one of 2, 4, 6, up to 64' >&2
|
||||
echo ' duration in seconds' >&2
|
||||
echo ' frames buffer size in frames' >&2
|
||||
@ -85,6 +85,10 @@ elif [ $SAMPLE_RATE == "48000" ]; then
|
||||
PTIME="1"
|
||||
elif [ $SAMPLE_RATE == "96000" ]; then
|
||||
PTIME="0.5"
|
||||
elif [ $SAMPLE_RATE == "192000" ]; then
|
||||
PTIME="0.25"
|
||||
elif [ $SAMPLE_RATE == "384000" ]; then
|
||||
PTIME="0.125"
|
||||
else
|
||||
usage
|
||||
fi
|
||||
|
@ -45,7 +45,7 @@ echo 'Creating test file ...' >&2
|
||||
if ! ./createtest $1 $2 $3 $4 ; then
|
||||
echo 'Usage run_test.sh sample_format sample_rate channels duration' >&2
|
||||
echo ' sample_format can be one of S16_LE, S24_3LE, S32_LE' >&2
|
||||
echo ' sample_rate can be one of 44100, 48000, 96000' >&2
|
||||
echo ' sample_rate can be one of 44100, 48000, 96000, 192000, 384000' >&2
|
||||
echo ' channels can be one of 2, 4, 6, up to 64' >&2
|
||||
echo ' duration is in the range 1 to 10 minutes' >&2
|
||||
exit 1
|
||||
@ -74,6 +74,10 @@ elif [ $SAMPLE_RATE == "48000" ]; then
|
||||
PTIME="1"
|
||||
elif [ $SAMPLE_RATE == "96000" ]; then
|
||||
PTIME="0.5"
|
||||
elif [ $SAMPLE_RATE == "192000" ]; then
|
||||
PTIME="0.25"
|
||||
elif [ $SAMPLE_RATE == "384000" ]; then
|
||||
PTIME="0.125"
|
||||
fi
|
||||
|
||||
SOURCE=$(cat <<-END
|
||||
|
@ -5,9 +5,9 @@
|
||||
|
||||
#create a user for the daemon
|
||||
sudo useradd -M -l aes67-daemon -c "AES67 Linux daemon"
|
||||
#copy the daemon binary
|
||||
#copy the daemon binary, make sure -DWITH_SYSTEMD=ON
|
||||
sudo cp ../daemon/aes67-daemon /usr/local/bin/aes67-daemon
|
||||
#create the daemon webui and scripts directories
|
||||
#create the daemon webui and script directories
|
||||
sudo install -d -o aes67-daemon /var/lib/aes67-daemon /usr/local/share/aes67-daemon/scripts/ /usr/local/share/aes67-daemon/webui/
|
||||
#copy the ptp script
|
||||
sudo install -o aes67-daemon ../daemon/scripts/ptp_status.sh /usr/local/share/aes67-daemon/scripts/
|
||||
|
@ -25,7 +25,7 @@ int main(int argc, char* argv[])
|
||||
}
|
||||
|
||||
int rate(atoi(argv[2]));
|
||||
if (rate != 44100 && rate != 48000 && rate != 96000) {
|
||||
if (rate != 44100 && rate != 48000 && rate != 96000 && rate != 192000 && rate != 384000) {
|
||||
cerr << "Unsupported rate " << rate << endl;
|
||||
exit(1);
|
||||
}
|
||||
|
@ -583,7 +583,7 @@ int main(int argc, char *argv[])
|
||||
break;
|
||||
case 'r':
|
||||
err = atoi(optarg);
|
||||
rate = err >= 4000 && err < 200000 ? err : 44100;
|
||||
rate = err >= 4000 && err < 400000 ? err : 44100;
|
||||
break;
|
||||
case 'B':
|
||||
err = atoi(optarg);
|
||||
@ -624,7 +624,7 @@ int main(int argc, char *argv[])
|
||||
|
||||
loop_limit = loop_sec * rate;
|
||||
latency = latency_min - 4;
|
||||
buffer = (char*)malloc((latency_max * 2 * snd_pcm_format_width(format) / 8) * channels);
|
||||
buffer = (char*)malloc((latency_max * 4 * snd_pcm_format_width(format) / 8) * channels);
|
||||
|
||||
setscheduler();
|
||||
|
||||
|
@ -186,6 +186,8 @@ class Config extends Component {
|
||||
<option value="44100">44.1 kHz</option>
|
||||
<option value="48000">48 kHz</option>
|
||||
<option value="96000">96 kHz</option>
|
||||
<option value="192000">192 kHz</option>
|
||||
<option value="384000">384 kHz</option>
|
||||
</select>
|
||||
</th>
|
||||
</tr>
|
||||
|
Loading…
x
Reference in New Issue
Block a user