DVB.NET 4.0 – und welche .NET Version?

Ich plane grundsätzlich DVB.NET 4.0 auf .NET 4.0 aufzusetzen. Bis zur Release Version können aber noch Monate vergehen. In der Zwischenzeit wird weiterhin “nur” .NET 3.5 SP2 voraus gesetzt und das durchaus in eigenem Interesse: gerade durch die Umstellung bei der Anbindung der BDA Geräte werde ich anfangs beim Testen auf die Unterstützung besonders der Anwender angewiesen sein, die bereits DVB.NET 3.9 erfolgreich nutzen (e.g. über den VCR.NET Recording Service). Da DVB.NET 4.0 parallel zu DVB.NET 3.9 installiert werden kann, hilft diese Beibehaltung der Systemvoraussetzung vielleicht, dass ich mir mal den einen oder anderen kleinen Test wünschen kann – VCR.NET wird weiterhin keine Parallelinstallation erlauben und mit etwas Nachdenken findet man vermutlich alleine schnell heraus, warum dem so ist.

Viel Spaß

Jochen

Kompatibilität der Geräteabstraktionen zwischen DVB.NET 4.0 und 3.9

Ich habe für DVB.NET 4.0 die existierende BDA Implementierung aufgeräumt – wenig Neues, aber viel hin und her geschoben. Im ersten Schritt habe ich mich dabei bemüht, soviel wie möglich von der Implementierung vor 3.9 zu entfernen und den Quellcode entsprechend aufzuräumen. Insbesondere wurde die bisherige BDA Bibliothek in zwei Dateien aufgeteilt: eine neue, die sich ausschließlich um den DVB Empfang kümmert (die ist soweit fertig) und die bereinigte, die sich später einmal ausschließlich der Anzeige von Bild und Ton widmen wird (das kommt in der nächsten oder übernächsten Phase).

Dabei ist auch eine neue Infrastruktur für die Anbindung von BDA Geräten entstanden, die mit DVB.NET 3.9 zwar vorbereitet, aber noch nicht vollendet wurde. Aber wie will ich nun sicherstellen, dass bestehende Installation ohne viel Aufwand weiterlaufen? Nun, der Plan sieht drei Optionen vor.

Zum einen wird DVB.NET 4.0 alle 3.9 Geräteprofile einfach unverändert weiter nutzen können. Beim Laden wird automatisch eine entsprechende Anpassung vorgenommen, die sich aber nur zur Laufzeit im Speicher wiederspiegelt und keinen Einfluss auf das gespeicherte Profil hat. Nach der Regel never touch a running system kann man damit eventuell ewig klarkommen.

Allerdings kann die Konfiguration eines solchen Profils nicht mehr verändert werden. Alle Einstellungen werden als nur lesbar angezeigt und eine Veränderung unterbunden. Es ist aber möglich, im Pflegedialog die Implementierung von vor 3.9 auf ab 4.0 zu verändern. Dabei wird dann genau die oben beschriebene automatische Anpassung vorgenommen und in das Pflegeformular übernommen – das gilt nur für BDA Geräte, die Nexus bleibt wie gehabt ein anderes Ding. Erst die Speicherung ändert dann das Profil auf der Festplatte. Das ist dann der Punkt, an dem es nicht mehr von DVB.NET 3.9 verwendet werden kann – ansonsten ist eine Parallelinstallation der beiden Versionen ohne Probleme möglich.

Bleibt schließlich noch die Möglichkeit, ein Geräteprofil einfach neu Anzulegen. Ich hoffe, dass der neue Pflegedialog die Auswahl der benötigten Einstellung deutlich vereinfacht – das wird die Zeit zeigen.

Pflege eines DVB.NET 4.0 BDA Geräteprofils

Auf jeden Fall hiermit die Nachricht: DVB.NET 4.0 wird kommen!

Bis dann

Jochen

3.9 Service Pack 2 freigegen

Ich habe das schon lange in der Entwicklung befindliche Service Pack 2 für DVB.NET (alle drei Installationsbereiche), VCR.NET und den DVB.NET / VCR.NET Viewer (jeweils 3.9) freigegeben. Insbesondere hatte sich in der CI/CAM Ansteuerung mit der Version 3.9 ein häßlicher kleiner Bug eingeschlichen. Es gibt eine Menge von kleinen Änderungen, wen das wirklich interessiert der möge sich im Service Pack Thread im offiziellen Forum informieren – ist leider etwas ungeordnet und läuft über einen nicht unerheblichen Zeitraum.

Es sind noch einige Punkte offen, die werde ich in Service Pack 3 angehen. Eine Version 4.0 steht leider immer noch in den Sternen.

Viel Spaß

Jochen

Arbeiten mit mindestens zwei gleichartigen USB Geräten

(Dies ist ein Folgeartikel zu dieser Grundlagenbeschreibung)

USB Geräte habe die Angewohnheit, bei vielen normalen Gelegenheiten die eindeutigen Namen (Moniker) und Gerätepfade zu ändern. Damit versagt in vielen Fällen der DVB.NET Grundalgorithmus, Geräte über den eindeutigen BDA Namen nachzuschlagen- bei PCI Geräten ist es besser, aber die Problematik ist grundsätzlich die selbe.

Seit einiger Zeit kann in einem BDA Geräteprofil die Einstellung IgnoreMoniker von der Voreinstellung false auf true gesetzt werden. Ist dies der Fall, so versucht DVB.NET erst gar nicht, einen eindeutigen Namen zu verwenden, sondern geht direkt auf die Anzeigenamen der Filter. Zusammen mit den in den anderen Artikeln beschriebenen Neuerung im Service Pack 2 greift diese Lösung in vielen Fällen. Zum einen sind Geräte mit gleichen Anzeigenamen zusätzlich durchnummeriert. Zum anderen erfolgt diese Nummerierung auf Basis der Gerätepfade, so dass insbesondere bei USB Geräten die Tuner und Capture Filter in der gleichen Reihenfolge angeordnet bleiben – der dritte Tuner Filter gehört zum dritten Capture Filter, man weiß halt nur nicht, zu welchem Gerät konkret. Dieses Verhalten muss zwar noch mit verschiedenen BDA Geräten verifiziert werden, scheint aber in der Tat DVB.NET an dieser Stelle zu helfen, mehrere gleichartige USB Geräte stabil zu verwalten.

So, das war erst einmal der letzte Artikel zu Thema – Rückfragen und Diskussionen bitte im Forum.

Ciao

Jochen

Nutzung mehrerer gleichartiger Geräte

(Dies ist ein Folgeartikel zu dieser Grundlagenbeschreibung)

In vielen Fällen ist es bei mehreren gleichartigen Geräten im System so, dass diese die gleichen BDA Anzeigenamen verwenden und so in der Auswahl nicht unterschieden werden können – das gilt sowohl für PCI als auch für USB basierte Hardware. Erschwerend kommt hinzu, dass im Allgemeinen passende Pärchen von Tuner und Capture Filter ausgewählt werden müssen. Hat man zwei Karten, so gibt es zwei mögliche Kombinationen zur Auswahl. Bei drei sind es schon 6, bei vier 24 und so weiter. Die schlechte Nachricht vorweg: die Auswahl der richtigen Kombination bleibt weiterhin dem Anwender überlassen. Sorry!

Immerhin gibt es seit Service Pack 2 eine leicht veränderte Anzeige zur Auswahl der Filter: DVB.NET fasst nun Geräte mit identischem Namen zusammen und sortiert diese nach dem zugehörigen Gerätepfad des Windows Gerätes (Device) – zur Erinnerung: dieses wird nun immer zu jedem Filter ermittelt. Gemäß dieser Sortierung erfolgt eine Nummerierung der Art (1), (2), etc., die zur Ergänzung der Anzeigenamen verwendet wird. Ändern sich die Gerätepfade nicht, so bleibt diese permanent stabil und eine gleiche Nummer bezeichnet auch das gleiche Gerät.

Was ist denn dann, wenn sich die Nummer doch ändert, etwa durch eine Treiberinstallation oder bei USB Geräten durch einen Neustart des Rechners, eventuell sogar einfach nur durch Vertauschen der USB Ports? Nun, DVB.NET hat dafür nicht wirklich eine Lösung. Aber vielleicht ist das für den Normalbetrieb auch gar nicht notwendig. Wenn mehrere Profile entsprechend konfiguriert sind und die eindeutigen Namen ändern sich, dann kann DVB.NET immer noch eine Auflösung über den Anzeigenamen samt Nummer versuchen. Nun die gute Nachricht: zumindest für USB Geräte (und scheinbar auch für einige PCI Geräte) haben die Gerätepfad für zusammengehörige Filterpaare eine gewisse Symmetrie. Die Sortierung wird vielleicht die Anzeigenamen (1) und (2) vertauschen, dies aber simultan für Tuner und Capture Filter. Oder kurz ausgedrückt: selbst bei einer Vertauschung hat man immer noch korrekt konfigurierte Profile, nur dass diese nun evtl. andere Geräte ansprechen – da dieser aber identisch sind, ist dies im realen Leben möglicherweise gar kein Problem.

Nun gut, zwei weitere Wermutstropfen gibt es noch – einer in einem Folgeartikel, der andere hier: die Nummerierung beginnt, wenn mindestens zwei Geräte mit gleichen Anzeigenamen vorhanden sind. Der Nummernzusatz hängt von der Anzahl der gleichartigen Geräte ab und ist bei bis zu 9 Geräten (1) bis (9) und dann (01) bis zur Anzahl der Geräte. Das bedeutet, dass der Sprung von einem zu zwei Geräten (und umgekehrt) sowie von 9 zu 10 (und umgekehrt) eine Neukonfiguration des Geräteprofils erforderlich machen kann – ich würde es zumindest empfehlen. Bei Verwendung ständig wechselnder USB Konfigurationen kann dies lästig werden. Sollte das tatsächlich mal ein Problem werden, denke ich darüber nach. Die Wahrscheinlichkeit ist aber nicht wirklich gigantisch…

Tschüss

Jochen