2013-03-20 5 views
0

У меня есть корневой HiSense GoogleTV, который имеет порты HDMI IN и OUT.Захват аудиокадров с порта HDMI IN

Что я хочу сделать, так это записать около 10 секунд аудио с HDMI IN (из телевизионной приставки). Я новичок в этом, поэтому, пожалуйста, несите меня.

  1. Возможно ли это сделать на корневом устройстве?

  2. Получает ли данные HDMI дешифрованные (из-за HDCP) после входа HDMI IN и повторно зашифрованные до того, как он будет удален через HDMI?

  3. Если бы я попытался захватить аудиокадры на обычном ящике Linux, как мне это сделать? На каких компонентах я должен смотреть? Я не могу найти документацию, описывающую архитектуру низкого уровня, и подробности о том, как сигнал HDMI IN будет перенаправлен на HDMI OUT.

  4. Не могли бы вы указать на код рамки Android, который на самом деле выполняет эту маршрутизацию с HDMI In OUT? В принципе, вы хотите понять, что происходит с аудиосигналом во время передачи с HDMI IN на OUT.

Я не уверен, что мои вопросы имеют смысл, но я надеюсь, что вы можете дать мне несколько указателей на том, с чего мне следует начать.

+0

http://stackoverflow.com/questions/11222963/port-alsa-to-android –

ответ

0

A HDMI вход устройства должен быть идентифицирован как AUDIO_DEVICE_IN_AUX_DIGITAL (см audio.h), хотя я никогда не сталкивался с Android устройства с входом HDMI, так что я не могу проверить это.

Передача аудио обрабатывается AudioPolicyManager. В libhardware_legacy есть AudioPolicyManagerBase, а затем, как правило, реализуется конкретная платформа AudioPolicyManager, которая перегружает некоторые из методов базового класса. Где эта реализация найдена, зависит от платформы. На платформах Qualcomm он обычно находится где-то под аппаратным/qcom/audio в исходном дереве.
AudioPolicyManager выполняет высокоуровневую маршрутизацию (например, типы потоков отображения и аудиоисточники для аудиоустройств), а затем использует реализацию AudioHardware и, возможно, другие классы платформы для выполнения низкоуровневой маршрутизации (управление аудиопотоками на аппаратном уровне , параметры настройки акустической нагрузки, интерфейс с драйверами устройств и т. д.).

Любая функция, связанная с вводом HDMI, скорее всего, будет специфичной для поставщика, поэтому может потребоваться полный исходный код для вашего устройства Google TV (т. Е. Включая все исправления, которые поставщик применил поверх Android-телефона), если вы хотите быть способный смотреть на код, который обрабатывает входной аудиосигнал HDMI.

0

Вы не сможете получить доступ к видео или аудиовходу, поскольку Google TV реализует HDCP. Единственный способ изменить это, даже на корневом устройстве, - это изменить код Google TV и, возможно, также драйверы SOC HDMI, ни один из которых не был открыт Google.

+0

Большое спасибо за ответы. Разве поток HDMI не расшифровывается после завершения проверки подлинности HDCP. Предположим, что я переношу стек Pulseaudio на Android.На машине Linux с PulseAUdio у меня может быть несколько приемников, и я получаю доступ к аудиорамкам, если я играю звук. Но я не понимаю, что, когда у вас есть HDMI-вход и выход, звучит ли сигнал HDMI только от IN to Out, или он все еще делает что-либо со звуковой картой? Не могли бы вы указать мне на какие-либо документы, объясняющие драйверы SOC hdmi и то, что мне нужно сделать для достижения моего варианта использования. – vishal

1

Короткий ответ: невозможно. Проход полностью изолирован от android через SOCs Trusted Video Path. Вы должны быть сертифицированным провайдером SOC, чтобы добраться где угодно рядом с сигналом.