Skip to main content
Skip table of contents

MultiCoder: Why does the MultiRec return a -1017 warning in MultiCoder?

 A short explanation of the -1017 warning (not an error message): the MultiRec calculates the time it would take to fill the buffer according to how much buffer is available. That means; in which intervals the driver should call a callback with a full buffer. The warning will be generated when an interval between 2 callbacks is larger than (totalbuffer - 2) * (time per buffer). Nevertheless, we consider sufficient reserve a good idea, because usually (at least with in-house tests) it rarely occurs that a callback time interval of 2 buffers is reached. This warning then indicates the danger that not much reserve remains until a dropout may occur or that a dropout may have already occured. It is possible that the size of the WaveInBuffer can have an influence on this.. the smaller this is, the more often the callback must be called, that is; the issue will become more critical over time, but at least the VU meter response, for example, may remain synchronized.

What does this mean?
There is only one logical explanation for the occurence of a -1017 message and that is when the MultiCoder (and therefore the MultiRec) is not allotted enough CPU time. For this reason, we would have to ask the question; which other process(es) may be running on the coder workstation (we suspect; virus scanner). A good possibility to catch the culprit may be to allow a process monitor to run logging and wait for the next -1017.

This warning only becomes critical when they occur often in shorter intervals. Then you can expect the increased possibility of audio dropouts.

  DEUTSCH

Kurz zur Erklärung der -1017 Warnung (nicht Fehler): der MultiRec berechnet anhand der Buffergrößen, nach wie vielen Millisekunden ein Buffer voll ist, d.h. in welchen Intervallen der Callback mit einem vollen Buffer vom Treiber aufgerufen werden sollte. Die Warnung wird generiert, wenn der Abstand zwischen zwei Callbacks größer als die ( Gesamtzahl der Buffer - 2 )
* Zeit pro Buffer ist. Das heisst; es ist dann noch etwas Reserve, bevor ein Dropout wirklich wahrscheinlich ist. Trotzdem halte ich diese Reserve für ganz gut, da im Normalfall -
rt d.h. beim Test hier bei mir - der Fall überhaupt nicht eintritt, daß überhaupt ein Callback-Zeitintervall von zwei Buffern erreicht wird. Diese Warnung deutet also auf die Gefahr hin, dass nicht mehr viel Reserve bis zu einem Dropout vorhanden ist, bzw. dass vielleicht schon ein Dropout passiert ist. Einfluss hätte darauf ev. die Groesse der WaveIn Buffer ... je kleiner die sind, desto öfter muss der Callback aufgerufen werden, d.h. die Sache wird zeitkritischer, aber z.B. die VU's sind dafür synchronert.

Was heisst das nun?
Es gibt nur eine logische Erklärung wann ein 1017 auftreten kann, nämlich dann wenn der MultiCoder (und damit der MultiRec) nicht genügend Prozessorzeit zugewiesen bekommt. Aus diesem Grund würden wir eher mal die Frage stellen, was für Prozesse noch auf dem Coder laufen (mein Tipp: Virenscanner). Eventuell mal einen Prozessviewer mitloggen lassen und auf den nächsten 1017 warten.

Diese Warnung wird übrigens erst kritisch, wenn sie öfters in kurzen Abständen auftritt. Dann ist mit Dropouts zu rechnen.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.