void Streamer::encodeSilence(int milliseconds) { if (m_audioGrabber) { AudioFormat format = m_audioGrabber->format(); int sampleSize = 0; switch (format.format()) { case AudioFormat::SignedInt8: sampleSize = 1; break; case AudioFormat::SignedInt16: sampleSize = 2; break; case AudioFormat::SignedInt24: sampleSize = 3; break; case AudioFormat::SignedInt32: case AudioFormat::Float32: sampleSize = 4; break; case AudioFormat::Float64: sampleSize = 8; break; } int silenceDataSize = ((format.sampleRate() * format.channelCount() * sampleSize) / 1000) * milliseconds; QByteArray silenceData; silenceData.fill('\0', silenceDataSize); m_encoder->encodeAudioData(silenceData, -1); } }