Fix audible blibs due to inconsistent monitor state -- #8275
It is possible that Route::monitoring_state() returns
(MonitoringDisk | MonitorSilence)
This lead to various cases where there were is a direct comparison
(ms == MonitoringDisk). DiskReader::run tests for MonitoringDisk
to check if the buffer needs to be zeroed while locating.
Likewise Route::process_output_buffers() also explicitly tests
for both MonitoringDisk and MonitoringDisk.
The issue was likely introduced in fbe8075117
(although
it may have been possible in earlier version when using hardware
monitoring as well).
This commit is contained in:
parent
5209fbd6fe
commit
308d138144
|
@ -463,7 +463,7 @@ enum MonitorChoice {
|
|||
};
|
||||
|
||||
enum MonitorState {
|
||||
MonitoringSilence = 0x1,
|
||||
MonitoringSilence = 0x0,
|
||||
MonitoringInput = 0x2,
|
||||
MonitoringDisk = 0x4,
|
||||
MonitoringCue = 0x6,
|
||||
|
|
|
@ -6152,10 +6152,10 @@ Route::monitoring_state () const
|
|||
|
||||
if (m != MonitorAuto) {
|
||||
|
||||
MonitorState ms ((MonitorState) 0);
|
||||
MonitorState ms = MonitoringSilence;
|
||||
|
||||
if (m & MonitorInput) {
|
||||
ms = MonitoringInput;
|
||||
ms = MonitorState (ms | MonitoringInput);
|
||||
}
|
||||
|
||||
if (m & MonitorDisk) {
|
||||
|
|
Loading…
Reference in New Issue
Block a user