Несколько потоков данных на одном оборудовании
Многие декодеры имеют несколько потоков, использующих одно и то же оборудование декодера. Для этих устройств нет необходимости выполнять согласование ключей отдельно для каждого потока. Чтобы указать это в модели декодера DVD, используйте свойство KS_DVDCOPY_SET_COPY_STATE . При выполнении операции get для этого свойства декодер может ответить следующим образом:
KS_DVDCOPYSTATE_AUTHENTICATION_NOT_REQUIRED
KS_DVDCOPYSTATE_AUTHENTICATION_REQUIRED
KS_DVDCOPYSTATE_AUTHENTICATION_NOT_REQUIRED указывает, что данный поток не требует согласования ключа, так как другой поток на том же оборудовании уже выполнил его. Например, если декодер сначала получает свойство Get в аудиопотоке, он отвечает KS_DVDCOPYSTATE_AUTHENTICATION_REQUIRED в звуковом потоке и KS_DVDCOPYSTATE_AUTHENTICATION_NOT_REQUIRED во всех остальных потоках. После ответа с AUTHENTICATION_NOT_REQUIRED этот поток больше не получает свойства обмена ключами, пока не будет согласован следующий ключ заголовка. На этом этапе декодер может снова выбрать ответ с AUTHENTICATION_NOT_REQUIRED.
Чтобы разрешить другие приложения, кроме воспроизведения DVD, в случае, когда декодер должен выполнять защиту авторских прав только в одном потоке, декодер выполняет согласование для первого потока, чтобы получить вызов свойства Get для KS_DVDCOPY_SET_COPY_STATE после открытия потока. Не следует жестко задавать свойства защиты авторских прав, чтобы они работали только с одним потоком.