Ich habe mir vor ein paar Tagen ein kleines Interface gebaut, mit dem ich das HDMI-CEC Signal auskoppeln und per USB an einen PC liefern kann. Das Interface ist keine große Sache: ein Mikrokontroller, eine HDMI-Buchse, ein HDMI-Stecker und eine USB-Buchse. Das Interface wird einfach im HDMI-Kabel zwischen HTPC und TV/AV-Receiver geschleift. Der Mikrokontroller dekodiert das physikalische Protokoll und überträgt es per USB an den PC. Einfach gesprochen...
Soweit, so gut.
Die API für den Treiber ist zwar noch nicht 100%ig fertig, aber ich mache mir jetzt Gedanken, auf welche Weise ich das CEC im Mediaportal integriere. Da ich mit dem Mediaportal noch nicht viel gemacht habe, kenne ich die Architektur von MP noch nicht so gut. Deshalb hoffe ich auf ein paar Vorschläge von Leuten, die sich auskennen.
Auf der PC-Seite habe ich einen kleinen Kernelmode Treiber, der die unverarbeiteten Daten vom CEC-Controller (wie ich ihn nenne) annimmt und hinsendet. Sonst tut der nichts. Weiterhin gibt es einen Teil im Usermode, der die API bereitstellt. Mit dieser kann man die CEC-Adresse abfragen, die Kommandos abfragen und Antworten schreiben, etc.
Ich dachte mir jetzt, man könnte von einem Programm die empfangenen Kommandos in die Windows-Eventqueue einfügen. Oder man macht das Gerät gleich HID-konform. In diesem Fall würden die CEC-Kommandos also als Tastendrücke am PC ankommen. Viele CEC-Kommandos lassen sich aber so nicht abwickeln. Es ist also vielleicht besser ein MP-Plugin zu schreiben, dass direkt in die Architektur von MP eingeklinkt wird. Dann lassen sich auch solche Dinge realisieren, wie "Fernseher auf HTPC-Quelle schalten, wenn ein Film in den DVD-Player eingelegt wird", oder "HTPC auf Kanal einstellen, der am TV eingestellt ist und Aufnahme starten".
Was ist nach eurer Einschätzung die bessere Methode? USB-HID (Tastaturemulation) oder MP-Plugin?
Man kann auch anders Fragen: Was würdet Ihr steuern wollen, wenn euch HDMI-CEC am MP zur Verfügung stünde?
Gruß, L.
Soweit, so gut.
Die API für den Treiber ist zwar noch nicht 100%ig fertig, aber ich mache mir jetzt Gedanken, auf welche Weise ich das CEC im Mediaportal integriere. Da ich mit dem Mediaportal noch nicht viel gemacht habe, kenne ich die Architektur von MP noch nicht so gut. Deshalb hoffe ich auf ein paar Vorschläge von Leuten, die sich auskennen.
Auf der PC-Seite habe ich einen kleinen Kernelmode Treiber, der die unverarbeiteten Daten vom CEC-Controller (wie ich ihn nenne) annimmt und hinsendet. Sonst tut der nichts. Weiterhin gibt es einen Teil im Usermode, der die API bereitstellt. Mit dieser kann man die CEC-Adresse abfragen, die Kommandos abfragen und Antworten schreiben, etc.
Ich dachte mir jetzt, man könnte von einem Programm die empfangenen Kommandos in die Windows-Eventqueue einfügen. Oder man macht das Gerät gleich HID-konform. In diesem Fall würden die CEC-Kommandos also als Tastendrücke am PC ankommen. Viele CEC-Kommandos lassen sich aber so nicht abwickeln. Es ist also vielleicht besser ein MP-Plugin zu schreiben, dass direkt in die Architektur von MP eingeklinkt wird. Dann lassen sich auch solche Dinge realisieren, wie "Fernseher auf HTPC-Quelle schalten, wenn ein Film in den DVD-Player eingelegt wird", oder "HTPC auf Kanal einstellen, der am TV eingestellt ist und Aufnahme starten".
Was ist nach eurer Einschätzung die bessere Methode? USB-HID (Tastaturemulation) oder MP-Plugin?
Man kann auch anders Fragen: Was würdet Ihr steuern wollen, wenn euch HDMI-CEC am MP zur Verfügung stünde?
Gruß, L.