"5. Grave um fluxo girando indefinidamente o arquivo de destino"
Isso lida com seu buffer circular.
Você pode ter que fazer uma pequena experiência para ver o que funciona para você obter os 30 segundos anteriores. Existem várias maneiras de fazer isso, então, depende do implementador.