вы правы, документация здесь немного вводит в заблуждение, потому что есть два возможных состояния, в которых экземпляр MediaCodec может находиться, которые не могут быть сброшены.
Если экземпляр MediaCodec выпущен, состояние Released, это, очевидно,не сбрасывается, что приводит к IllegalStateException.
Если экземпляр MediaCodec находится в состоянии Error, поскольку его не удалось создать, он также не сбрасывается, но на этот раз выдается MediaCodec.CodecException.Например, если вы создаете много экземпляров.
Комментарий в исходном коде libstagefright описывает, что в основном делает вызов сброса.
/* When external-facing MediaCodec object is created,
it is already initialized. Thus, reset is essentially
release() followed by init(), plus clearing the state */
Если вы проверяетеВ коде вы увидите, что при вызове release для уже выпущенного экземпляра MediaCodec это приведет к ошибке INVALID_OPERATION, что приведет к повторной инициализации кодека и, в конечном итоге, к исключению IllegalStateException.
Надеюсь, это прояснило ваш вопрос
С наилучшими пожеланиями
Крис