Albert Konrad Posted January 22, 2022 Share Posted January 22, 2022 Unter folgender Konfiguration lässt sich keine Favoritenliste erstellen: MacBookPro mit M1-Prozessor unter macOS Monterey / Parallels Desktop / Windows 11 Quote Link to comment
Griga Posted January 22, 2022 Share Posted January 22, 2022 Auf welche Weise scheitert es? Was passiert bzw. passiert nicht? Quote Link to comment
Albert Konrad Posted January 22, 2022 Author Share Posted January 22, 2022 z.B. passieren die in der anliegenden Datei beschriebenen Dinge DVBViewer_Favoriten_Probleme.pdf Quote Link to comment
Griga Posted January 22, 2022 Share Posted January 22, 2022 vor 1 Stunde schrieb Albert Konrad: z.B. passieren die in der anliegenden Datei beschriebenen Dinge Das sieht ja böse aus. Was bei den Favoriten anstatt des Sendernamens erscheint, ist die Sender-ID, die man mit Rechtsklick im Senderlisten-Editor -> ID in Zwischenablage erhält. Die Favoritenliste benutzt die ID als Verweis (also quasi als Link) auf den entsprechenden Eintrag der Senderliste. Allerdings ist die fälschlich angezeigte ID teilweise verstümmelt. Sie enthält am Ende des numerischen Teils falsche Zeichen. Es sieht so aus, als wäre der Speicherbereich der Favoritenliste komplett durcheinandergeraten. Gesehen habe ich sowas noch nie und kann es mit einer "normalen" Windows-Installation (nicht in einer VM) auch nicht nachvollziehen. Besteht das Problem auch, wenn du im Senderlisten-Editor nicht den Plus-Button verwendest, sondern Sender mit der Maus in die Favoriten ziehst oder Kopieren/Einfügen verwendest? Das geht übrigens auch mit Mehrfachauswahl und kategorieweise. Mehr dazu hier. Quote Link to comment
Albert Konrad Posted January 22, 2022 Author Share Posted January 22, 2022 Wie der Anlage zu entnehmen ist, passiert es auch bei Kopieren/Einfügen ... DVBViewer_Favoriten_Probleme_002.pdf Quote Link to comment
Griga Posted January 23, 2022 Share Posted January 23, 2022 Also auch nicht besser. vor 17 Stunden schrieb Albert Konrad: MacBookPro mit M1-Prozessor unter macOS Monterey / Parallels Desktop / Windows 11 Die Ausführung von x86-Code muss also emuliert werden, d.h. der x86-Befehlssatz der Intel-CPUs mit ARM-Befehlen nachgebildet werden. Womöglich funktioniert das noch nicht perfekt. Ich sehe keinen Weg, das Problem im DVBViewer zu beheben. Es könnten sich sogar an anderen Stellen weitere Schwierigkeiten zeigen. Es würde mich jedenfalls wundern, wenn nur die Favoritenverwaltung betroffen ist, da von ihr verwendete Codeteile auch woanders im DVBViewer zum Einsatz kommen. Quote Link to comment
Albert Konrad Posted January 23, 2022 Author Share Posted January 23, 2022 Mit der Möglichkeit, dass bei der Emulation des x86-Code etwas schief läuft, muss man natürlich rechnen. Angesichts der Tatsache, dass bereits für Windows 10 der x86-Befehlssatz der Intel-CPUs mit ARM-Befehlen nachgebildet wurde, verwundert es allerdings, dass da immer noch etwas schief läuft. Auf jeden Fall vielen Dank für die Einschätzung, dass das Problem nicht auf Seiten des DVBViewer liegt bzw. sich nicht von dessen Seite her beheben lässt. Für andere, die das gleiche Problem haben sollten, sei festgehallten, dass sich dieses umgehen lässt, wenn man die Favoritenliste eines Intel-PCs übernimmt, d.h. die dort erzeugten Dateien favourites.xml und channels.dat ins Konfigurationsverzeichnis des betroffenen PCs einfügt. Quote Link to comment
hackbart Posted January 23, 2022 Share Posted January 23, 2022 Hmm, was ich zumindest von unserer Seite ausschließen kann ist, dass es an Windows 11 oder Parallels liegt. Ich hab hier beides (allerdings nur auf meinem Intel-Mac) als Produktivsystem laufen und da geht es. Kannst du mal deine Favorites.xml und (sofern die anders ist als die normale) channels.dat posten? Quote Link to comment
Griga Posted January 23, 2022 Share Posted January 23, 2022 Von Interesse wäre eventuell auch das DVBViewer.log (falls vorhanden), um sehen zu können, ob es bei dir Ausnahmefehler gibt. Am besten alles als zip einpacken und dann hier anhängen. Quote Link to comment
Albert Konrad Posted January 23, 2022 Author Share Posted January 23, 2022 Anbei die gewünschten Dateien. Zu favourites.xml und channels.dat ist zu bemerken, dass auf deren Grundlage die Bearbeitung von Favoritenlisten auf anderen PCs, die unter Windows 10 laufen, keine Probleme verursacht. (Zu Windows 11 on ARM ist zu bemerken, dass dies nur als Insider Preview verfügbar ist, das vermutlich häufiger ein Update erfährt. Den in der zweiten pdf-Datei von gestern dargestellten 4. Problemfall kann ich nicht mehr reproduzieren. ... Das könnte daran liegen, dass es zwischenzeitlich ein Update von Windows 11 gab und tatsächlich ein Emulationsproblem vorliegt.) Dateien.zip Quote Link to comment
Albert Konrad Posted February 25, 2022 Author Share Posted February 25, 2022 Mittlerweile hat es verschiedene prerelease-Versionen von Windows 11 on ARM gegeben, die zu keinen Veränderungen des Verhaltens geführt haben. Die neueste ni_release-Version hat das Verhalten verändert: Die auftretenden Fehler haben sich verringert bzw. verändert. Es treten aber immer noch Fehler auf. Das deutet darauf hin, dass weder DVBViewer noch Parallels Ursache der Fehler sind sonder Windows 11 on ARM. Die Fehler lassen sich mit der bereits früher geschilderten Methode umgehen. Quote Link to comment
lsby Posted February 17, 2023 Share Posted February 17, 2023 Hallo, bei meinem system: Mac min M2 -Parallels Desktop -Windows 11 ARM treten immer noch Probleme mit der ChannelID auf, soweit ich feststellen konnte ist nur die SID betroffen! Vielleicht kann mann daraus neue Erkenntnisse gewinnen?? Zur Info, bei der SW E..Tv 4 wird die ChannelID korrekt erzeugt (64 bit prg) !! Spoiler ChannelID 2359890582721931000 |Das Erste HD nok W11 arm 20C0 03FB 53EE 26F8 2359890582721931325 |Das Erste HD ok W11 20C0 03FB 53EE 283D 2359890548428908000 |ZDF HD nok W11 arm 20C0 03F3 57E8 25E0 2359890548428909414 |ZDF HD ok 20C0 03F3 57E8 2B66 23598905827225864W0 |arte HD nok W11 arm 2359890582722586686 |arte HD ok W11 Word 0: 0x445D SID Word 1: 0x0200 APID bit 0-12; bit 13..15: Tunertype (0 = undefined, 1 = DVB-C, 2 = DVB-S, 3 = DVB-T, 4 = ATSC) Word 2: 0x0453 TID Word 3: 0x20C0 bit 0..12: orbital position x 10 (range 0...8999), bit 13..14: TV/Radio (0 = undefined, 1 = TV, 2 = Radio, 3 = reserved) Gruss aus Köln Quote Link to comment
Griga Posted February 17, 2023 Share Posted February 17, 2023 vor 7 Stunden schrieb lsby: soweit ich feststellen konnte ist nur die SID betroffen! Vielleicht kann mann daraus neue Erkenntnisse gewinnen?? Ich nicht Ist das Kopieren der Sender ID in die Windows-Ablage im Senderlisten-Editor (siehe dortiges Kontextmenü) auch betroffen? Und die Sender ID in der timers.xml nach Aufnahmeprogrammierung? Quote Link to comment
lsby Posted February 17, 2023 Share Posted February 17, 2023 (edited) vor 2 Stunden schrieb Griga: Ist das Kopieren der Sender ID in die Windows-Ablage im Senderlisten-Editor (siehe dortiges Kontextmenü) auch betroffen Ja vor 2 Stunden schrieb Griga: Und die Sender ID in der timers.xml nach Aufnahmeprogrammierung? habe ich noch nicht kontrolliert. Ich vermute mal ja. Überall wo die ChannelID erzeugt/gebracht wird, ist diese falsch. > DCBViewer und MediaServer. Wird die ChannelID auch in TransEdit gebracht bzw. erstellt ? Spoiler #EXTM3U #EXTINF:-1,Das Erste HDhttp://localhost:7522/upnp/channelstream/2359890582721931000|Das Erste HD.ts #EXTINF:-1,ZDF HDhttp://localhost:7522/upnp/channelstream/2359890548428908000|ZDF HD.ts #EXTINF:-1,3sat HDhttp://localhost:7522/upnp/channelstream/2359890544160156000|3sat HD.ts #EXTINF:-1,arte HDhttp://localhost:7522/upnp/channelstream/23598905827225864W0|arte HD.ts Auszug der m3u liste die im MS erzeugt wird. Gruss Edited February 17, 2023 by lsby Quote Link to comment
Griga Posted February 18, 2023 Share Posted February 18, 2023 vor 11 Stunden schrieb lsby: Überall wo die ChannelID erzeugt/gebracht wird, ist diese falsch. > DCBViewer und MediaServer. Das hilft weiter, insbesondere, dass die ChannelID im Media Server auf gleiche Weise falsch ist. Auch hier taucht in der ID von arte der Buchtabe "W" auf, der dort rein gar nichts zu suchen hat. Es liegt also weder speziell an dem Code für Favoriten noch an Zufälligkeiten des Memory Layouts. Die ChannelID ist keine permanent im Speicher vorhandene Zeichenkette, sondern wird bei Bedarf zusammengebaut: Zunächst fasst der Code verschiedene Senderdaten zu einer 64-Bit-Ganzzahl zusammen, verwandelt diese in einen String, hängt noch als Separator das Zeichen "|" an und dann den Sendernamen. Das sieht im Code so aus: result := IntToStr(Tuner.BuildID) + IDSeparator + ChannelName; Die Funktion IntToStr, die hier einen 64-Bit-Wert in einen String verwandelt, ist besonders verdächtig, denn vor ihrem Einsatz ist der numerische Teil der ChannelID nur eine Gannzzahl in binärer Form. Da gibt es mit Sicherheit kein "W". IntToStr entstammt der Delphi Runtime-Bibliothek. Ich habe mir den Quellcode angeschaut: Die Funktion ist in x86-Assembler kodiert (also quasi Maschinensprache) und benutzt zudem fleißg x87-FPU-Befehle (Floating Point Unit der CPU), weil diese in 32-Bit-Code bei Multiplikationen/Divisionen schneller arbeiten als entsprechende Funktionen mit 64-Bit-Ganzzahlarithmetik. Insbesondere wird auch das FPU Control Word manipuliert, um ein bestimmtes Rundungverhalten zu bewirken. Womöglich kann die x87-Emulation mit ARM-Befehlen das nicht exakt nachbilden. Um eine Überprüfung zu ermöglichen, habe ich IntToStr bei der Erzeugung der ChannelID durch eine Alternative ersetzt, die auf den FPU-Voodoo verzichtet, und stelle dir eine entsprechende DVBViewer-Testversion via PM zur Verfügung. Falls es damit funktioniert, ist das Problem jedoch vermutlich nicht vollständig gelöst, denn IntToStr wird auch bei anderen Gelegenheiten für 64-Bit-Werte verwendet, und FPU-Arithmetik sowieso... Quote Link to comment
lsby Posted February 18, 2023 Share Posted February 18, 2023 (edited) Hallo, danke für die Testversion, Ergebnise über Strg+ Y 2359890582721931325|Das Erste HD 2359890582722586686|arte HD sieht doch gut aus !! Wo können noch Probleme auftreten die ich eventuell überprüfen könnte!? Ist es möglich auch für dem MediaServer eine Testversion zu bekommen ? Gruss aus Köln und noch eine schöne Karnevalszeit Edited February 18, 2023 by lsby Quote Link to comment
Griga Posted February 18, 2023 Share Posted February 18, 2023 vor 27 Minuten schrieb lsby: Wo können noch Probleme auftreten die ich eventuell überprüfen könnte!? Ich habe schon versucht, solche Stellen zu ermitteln, aber da sucht man sich im Code tot. Es gibt auf jeden Fall mehrere. Außerdem verwendet die Runtime Library selbst IntToStr-Aufrufe. Ich versuche gerade, sie so zu patchen, dass alle Aufrufe von IntToStr auf die Alternative umgeleitet werden, sowohl im DVBViewer als auch im Media Server. Soweit ich bislang sehen kann, geht das. vor 27 Minuten schrieb lsby: Ist es möglich auch für dem MediaServer eine Testversion zu bekommen ? Ja, wenn ich so weit bin... ich muss das erst mal selbst testen. Was ich jedoch so nicht behandeln kann, sind eventuelle weitere Probleme mit nicht exakt emuliertem FPU-Code. Die könnten sich sehr subtil äußern Quote Link to comment
Griga Posted February 18, 2023 Share Posted February 18, 2023 @lsby: DVBViewer/DMS-Versionen mit vollständigem IntToStr Patch via PM. Quote Link to comment
lsby Posted February 18, 2023 Share Posted February 18, 2023 (edited) Hallo @Griga konnte auf der schnelle nur einige Sachen testen schein sowie zu Funktionieren . Danke für deine schnelle Hilfe. Gruss Edited February 18, 2023 by lsby Quote Link to comment
lsby Posted February 18, 2023 Share Posted February 18, 2023 Hallo, es gibt scheinbar noch eine Stelle, wo das problem im MS auftritt ! Sender EPG > Arte es werden die Daten vom ersten angezeigt !! Gruss Quote Link to comment
Griga Posted February 19, 2023 Share Posted February 19, 2023 Hast du die Favoritenliste gelöscht und neu angelegt? Der Datenschrott darin verschwindet nicht unbedingt von alleine. Das gilt eventuell auch für andere Konfigurationsdateien. Quote Link to comment
lsby Posted February 19, 2023 Share Posted February 19, 2023 (edited) Hallo, habe eine neue Installation vorgenommen, die geänderten Daten in den entsprechenden Verzeichnisse kopiert zzw. überschrieben! Im MediaServer gibt es zwei stellen wo die Daten nicht stimmen: SenderEPG + Medien Gruss Edited February 19, 2023 by lsby Quote Link to comment
Griga Posted February 19, 2023 Share Posted February 19, 2023 vor 17 Stunden schrieb lsby: Sender EPG > Arte es werden die Daten vom ersten angezeigt !! Du kannst mit dem Browser überprüfen, ob der Quellcode der Seite an der Stelle die richtige ChannelID enthält: Arte selektieren, dann Rechtsklick auf den Sendernamen und "Untersuchen" (Firefox, Chrome), um die Entwicklerwerkzeuge des Browsers zu öffnen. Das aufgeklappte HTML <li ...> Element enthält den numerischen Teil der ID, z.B. <li id="2359890582722586686" rel="DVB-S" class="jstree-leaf"> <ins class="jstree-icon"> </ins> <a href="#" class="jstree-clicked"> <ins class="jstree-icon"> </ins> arte HD </a> </li> Die ChannelIDs in M3U-Exporten des Media Servers sind jetzt korrekt? Da der Fix "globalgalaktisch" auf die gesamte Anwendung wirkt, ist praktisch unmöglich, dass er an einzelnen Stellen nicht greift. Nicht ausgeschlossen ist jedoch, dass es noch weitere Probleme mit der x86/x87-Emulation von Parallels gibt. Ich kann deiner Beschreibung jedoch nicht entnehmen, welcher Art sie sein könnten. Womöglich sind sie sich nicht so einfach auffindbar und behebbar. Quote Link to comment
Griga Posted February 19, 2023 Share Posted February 19, 2023 P.S. Ich sehe gerade im Media Server Quellcode für den Sender EPG, dass für die Erzeugung des HTML-Codes und die dafür erforderliche Umwandlung des numerischen Teils der ChannelID in einen String nicht IntToStr verwendet wird, sondern dies im Rahmen der Format-Funktion geschieht: WriteStrings([Format('<li id="%d" rel="%s"><a href="#">%s</a></li>', [ChannelIDValue, TunerType, EncodeUTF8(Name)]), #13#10]); Wenn hier die Emulation auch falsch umwandelt, lässt sich das nicht mehr für die gesamte Anwendung vermeiden, da diese sehr komplexe Funktion für alle möglichen Formatierungen zuständig ist. Ich könnte die betroffene Stelle im DMS Code höchstens so umschreiben, dass sie IntToStr verwendet. Aber wer weiß, an wie vielen Stellen das noch nötig ist Quote Link to comment
Griga Posted February 19, 2023 Share Posted February 19, 2023 P.P.S. Ich denke, ich habe auch die andere von dir genannte Stelle gefunden. Sie betrifft nicht nur das Senderangebot auf der Medien-Seite, sondern auch in sämtlichen UPnP Clients. Auch hier lässt sich das Problem umgehen. Die Format-Funktion verwendet für die Umwandlung von 64-Bit-Ganzzahlen in einen String die selbe Subroutine wie IntToStr. Das erklärt, warum es dabei auch schiefgeht. An diese Subroutine komme ich jedoch im DVBViewer/DMS-Code nicht heran, da sie die Code-Unit, in der sie steht, nicht exportiert. Deshalb kann ich sie nicht auf eine Alternative umbiegen. Quote Link to comment
lsby Posted February 19, 2023 Share Posted February 19, 2023 vor 58 Minuten schrieb Griga: Die ChannelIDs in M3U-Exporten des Media Servers sind jetzt korrekt? ja Spoiler #EXTINF:-1,arte HD (deu)http://localhost:7522/upnp/channelstream/2359890582722586686|arte HD (deu).ts #EXTINF:-1,arte HD (deu) rtsp://localhost:554/?chid=2359890582722586686%7Carte%20HD%20%28deu%29 Medien>TV>Alle Sender>ARD Arte (im Browser wiedergeben) es öffnet sich ein neues Fenster : 404 Not Found (i) steht folgender String http://localhost:8089/streamint.html?direct=1&server_id=uuid:98869A78-87B8-4751-8D39-1DE8E08B2E87&itemID=t%23a%2300000%23023598905827225864W0&streamid={56E8C1C7-D17C-4619-98F5-D22F7BC40A98} was kann ich noch Testen ?? Gruss Quote Link to comment
Griga Posted February 19, 2023 Share Posted February 19, 2023 vor 10 Minuten schrieb lsby: was kann ich noch Testen ?? Wenn ich das mal wüsste Ich kann dir wahrscheinlich heute abend noch eine neue DMS-Testversion zur Verfügung stellen, die die letzten beiden gemeldeten Probleme vermeidet. Quote Link to comment
Griga Posted February 19, 2023 Share Posted February 19, 2023 @lsby: Neue DMS Testversion via PM. Quote Link to comment
lsby Posted February 19, 2023 Share Posted February 19, 2023 Hallo, @Grigahabe es jetzt mal auf die schnelle getestet, bisher ist mir keine Fehler mehr aufgefallen! Danke erstmals für die schnelle und Kompetente Hilfe ! Gruss aus Köln Quote Link to comment
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.