DS
А, ещё вспомнил одну штуку, которую заметил, когда твой код смотрел. Тебе не нужна мутабельность ThreadState'а вообще в принципе, как и сам ThreadState.
Ты его используешь только для хранения MediaEntry, а их может хранить и твой луп, который обрабатывает Media. А их самих передавать по каналу в тот тред.