Seite 1 von 4

API-Fehler / Fehlende Funktionen

Verfasst: Do 16. Feb 2006, 10:46
von Gerti
Hi!

Könnten wir nochmal eine Liste zusammenstellen, welche Bugs die API hat und was noch fehlt...ich will das mal wieder nach Korea schicken...das hier fällt mir (spontan) ein...es wäre hilfreich, wenn Ihr vielleicht auch neben der deutschen Fassung, eine englische Fassung posten könntet:


Fehler:
- TAP_Hdd_PlayTs(); startet Dateien ohne Abfrage eines "unlock Keys"
- TAP_Hdd_ChangePlaybackPos(); gibt die Wiedergabe einer gesperrten Datei frei, ohne den "unlock Key" eingegeben zu haben. Es blendet bei Benutzung die Fortschrittsleiste ein. Es passt die Position in der Fortschrittsleiste im Timeshift nicht an.
- TAP_Channel_IsPlayable(); gibt alles zurück, nur nicht das, was es zurückgeben sollte
- TAP_Channel_Start(); gibt keinen verlässlichen Rückgabewert zurück und für das Subpicture funktioniert es nur, wenn dieses zuvor auf einem anderen Kanal war als der, auf dem es neu geöffnet werden soll.
- TAP_Hdd_GetHddID(); liefert häufig keine oder falsche Werte, es sollte den ganzen ID-Block (512 Bytes) liefern und nicht nur Auszüge
- file.size liefert einen um 512 Bytes zu kleinen Wert wenn die Datei ein vielfaches von 512 ist
- TAP_EPG_GetExtInfo(); description[128]; Limit von 128 ist viel zu klein...
- TAP_Channel_Scale sollte schon vor TAP_Channel_Start angewendet werden können
- TAP_GetPlayInfo(); / TAP_GetRecInfo(); hat einen Buffer-Overflow bei manchen Sendungen/Sendern (offensichtlich beim Kopieren von Strings aus dem DVB-Stream ohne Längenprüfung)
- MemAlloc allociert immer min. 1280 Bytes
- OSD beim Masterpiece: Regions bei TAP_Win_-Funktionen auf dem Masterpiece (die Text-Region liegt unter dem Hintergrund/Rahmen des Window). Falsche Reihenfolge der OSD schichten. Auslöschen des OSDs beim umschalten.


Fehlende Funktionen:
- Abfrage des aktuellen Tuners
- Wechsel des aktuellen Tuners
- Erkennung des "Unlock Key" Fensters über Mainstate/Substate
- Erkennung ob 4:3 bzw. 16:9 Sendung gesendet wird (sowohl für Main- wie Sub-Picture)
- Teletext-Daten des aktuellen Senders auslesen können
- Move-Funktion für Dateien
- Start von TAPs über TAP-API
- TAP_GetCurrentAudio() um die aktuell gewälte Tonspur zu ermitteln
- TAP_Hdd_ChangePlaybackPos_MP3(), um auch in einem MP3 eine Stelle anwählen zu können
- Eine Funktion, die den Topf direkt abschaltet
- Eine Event an alle Taps, dass ein Shutdown ansteht und Verzögerung des Shutdowns, bis das Event alle TAPs durchlaufen hat
- Abfrage von SysID, Firmwaretyp und Firmwaredatum
- Abfrage ob ein OSD vorhanden ist und ob dieses von der Firmware oder einem TAP erzeugt wurde

Gruß,
Gerti

Verfasst: Do 16. Feb 2006, 11:13
von General
teletext im livebetrieb auslesen so das jemand ein teletextdecoder TAP schreiben kann.

Verfasst: Do 16. Feb 2006, 11:13
von Harvey
Hattest Du nicht auch Probleme mit TAP_Hdd_GetHddID ?
Move-Funktíon fehlt (offiziell)
TAP_Hdd_ChangePlaybackPos blendet Zeitleiste ein?
Zugriff auf Videotext wäre schön.

Verfasst: Do 16. Feb 2006, 11:14
von emarzinkowski
da fällt mir spontan eine Move Funktion ein, die da noch fehlt. :D
edit sorry, war zu langsam und nu doppelt.

Verfasst: Do 16. Feb 2006, 11:17
von Gerti
Hi!

Habe es nachgetragen...
Weitere Vorschläge/Fehler?

Gruß,
Gerti

Verfasst: Do 16. Feb 2006, 11:25
von StevieC
Hi,


-Zusätzlich zur Abfrage des Tuners auch wechseln des Tuners...
-vollständiges Einlesen der EPG Daten über das PIP, das geht (wenn ich mich nicht irre) momentan nur für die laufende und nächste Sendung.

Gruß

StevieC

Verfasst: Do 16. Feb 2006, 11:51
von Happy
Hallo,
dann fange ich mal an zu träumen,
meine Wünsche wären noch folgende (außer dem Verschieben :D ):
  • so etwas wie TAP_GetCurrentAudio(), welches die aktuell gewälte Tonspur zurückgibt, damit ich weiss ob Dolby oder MPEG Ton aktiv ist (das würde ich mir für Nicedisplay aber auch für Improbox wünschen :angel: )
  • TAP_Hdd_ChangePlaybackPos_MP3(), um auch in einem MP3 eine Stelle anwählen zu können
  • Eine Funktion, die den Topf direkt abschaltet
  • Eine Event an alle Taps, dass ein Shutdown ansteht und Verzögerung des Shutdowns, bis das Event alle TAPs durchlaufen hat (ähnlich wie beim Poweroff TAP)
  • Ein richtiges Event, welches das Ende eines MP3s anzeigt (statt die Krücke mit dem Hintergrundwechsel)
  • Praktisch wären offizielle Funktionen, um die SysID, den Firmwaretyp und das Firmwaredatum abzufragen
Oder ist das zuviel verlangt :confused:

Zu Bugs:
-Der Bug, dass Dateien, die ein Vielfaches von 512 bytes sind mit 512 bytes weniger gemeldet werden. Dies ist aber eigentlich kein API Bug, sondern ein Firmware Bug, zieht sich auch durch die Original Topfieldmenüs.

Gruß,
Happy

Verfasst: Do 16. Feb 2006, 12:09
von flechumer
Hallo,

Positionsänderung mit TAP_Hdd_ChangePlaybackPos wird bei Time-Shift auf dem Fortschrittsbalken ignoriert.

Gruß
Rudolf

PS: war übrigens schon mal als Fehler gepostet.

Verfasst: Do 16. Feb 2006, 12:17
von Gerti
Hi!

@Happy: Die Firmwareversion kann man per extern int _appl_version; abfragen...
Die anderen Dinge nicht vielleicht auch irgendwie?

Gruß,
Gerti

Verfasst: Do 16. Feb 2006, 12:46
von Happy
Gerti hat geschrieben: @Happy: Die Firmwareversion kann man per extern int _appl_version; abfragen...
Nach der Firmwareversion habe ich ja auch nicht gefragt :wink:
Die Sysid kann man wohl auch noch systemunabhängig abfragen.

Code: Alles auswählen

#define pSysID          0xa3fffffa
word SysID = *(word*)pSysID;
Man weiss dann aber immer noch nicht ob man einen europäischen oder australischen Topf vor sich hat.
Lebenswichtig ist die Funktion nicht, aber praktisch für TAPs, die zwischen den Modellen unterscheiden können. Und sie sollte deutlich einfacher zu implementieren sein als eine Movefunktion, da ja nur ein paar Strings, die irgendwo im Speicher stehen kopiert werden müssen.

Gruß,
Happy

Verfasst: Do 16. Feb 2006, 12:50
von Erdnussnase
Abfrage 16/9 AUCH FÜR PIP !
TAP_Channel_Scale wirkt erst nach TAP_Channel_Start (PiP startet so kurz auf der Topf eigenen Position)

Verfasst: Do 16. Feb 2006, 13:21
von Grubix
Mal als Laie: ich lese hin und wieder das ein TAP den Bildschirm scannt um zu erkennen, ob ein OSD vorhanden ist. Demnach bräuchte man eine API-Funktion mit der man abfragen kann, ob ein OSD da ist und wer (TAP, Receiver) es aufgerufen hat. So könnte doppelte Tastenbelegungen besser umgangen werden.


Bis denn dann, Grubix.

Verfasst: Do 16. Feb 2006, 13:55
von DeadBeef
- Samsung-freundliches Setzen vom HDD-Standby-Timeout während der Initialisierung der Festplatte (ATA: WIN_STANDBY/0xE2 durch WIN_IDLE1/0xE3 ersetzen)
- Überprüfung auf Stromausfall und Holen der aktuellen Zeit mit ggf. anschließender Abschaltung (a la FireBird)
- Buffer-Overflow in TAP_GetPlayInfo() bei manchen Sendungen/Sendern (offensichtlich beim Kopieren von Strings aus dem DVB-Stream ohne Längenprüfung)
- es gab mal Probleme mit dem Wide Screen Signaling (WSS), an den Kontext kann ich mich nicht genau erinnern
- TAP_GetHddID() sollte den ganzen ID-Block (512 Bytes) liefern und nicht nur Auszüge

Verfasst: Do 16. Feb 2006, 14:01
von Happy
DeadBeef hat geschrieben: - es gab mal Probleme mit dem Wide Screen Signaling (WSS), an den Kontext kann ich mich nicht genau erinnern
Der Topf setzt wohl sein eigenes WSS und unterscheidet aber nur 4:3 und 16:9. Viel Ferneher wie auch mein Sony 16:9 setzen dann die automatische "Schwarze Balken" Erkennung außer Kraft und orientieren sich nur am WSS. Spielfilme bei Pro7 beispielsweise, werden dann nicht mehr automatisch aufgezoomt.

Gehört wohl auch eher in den Fw-Bereich. Da würde ich mir ein Abschalten des WSS wünschen.

Gruß,
Happy

Verfasst: Do 16. Feb 2006, 14:09
von DeJe
suboptimal: MemAlloc allociert immer min. 1280 Bytes
Fehler: Buffer-Overflow betrifft auch TAP_GetRecInfo().
Fehler: Regions bei TAP_Win_-Funktionen auf dem Masterpiece (die Text-Region liegt unter dem Hintergrund/Rahmen des Window)

Verfasst: Do 16. Feb 2006, 14:13
von ibbi
Happy hat geschrieben:Gehört wohl auch eher in den Fw-Bereich. Da würde ich mir ein Abschalten des WSS wünschen.
Ja, aber - wahlweise - nur für 4:3; für echtes 16:9 ist das WSS sehr sinnvoll. (Alternativ könnte der Topf 4:3 sinnvoller ermitteln: Gibt es schwarze Balken, ist es eben kein echtes 4:3.)

Verfasst: Do 16. Feb 2006, 14:19
von ibbi
Was vielleicht noch sinnvoll wäre: Eine Funktion, die eine eindeutige Seriennummer ("Key") des Receivers zurückliefert. Über diese könnte man dann die Lizenzierung von TAPs laufen lassen.

Verfasst: Do 16. Feb 2006, 15:36
von t3xi
Ich hätte gerne eine API-Funktion, mit der man die Senderliste sortieren kann.

Verfasst: Do 16. Feb 2006, 16:45
von Elle4u
Wunsch: Sommer/Winterzeit-Umstellung per API (also Time-Offset).

Fehler: Time-Offset wird oft erst nach 1 Minute eingestellt...

Wunsch: Alles was wir in Filer aus den Datei-Headern lesen müssen!!! (bin auf der Arbeit, kann DeJe das evtl. zusammentragen? - mal aus dem Kopf) :D
Aufnahmen:
- Sender-Name
- kurz-Beschreibung
- erw. Infos
- Spieldauer
- Crypt-Status
...

MP3:
- Interpret,
- Titel,
- Album.
- Jahr
...

Verfasst: Fr 17. Feb 2006, 00:09
von ICTag
Gerti hat geschrieben:Hi!
- TAP_GetPlayInfo(); / TAP_GetRecInfo(); hat einen Buffer-Overflow bei manchen Sendungen/Sendern (offensichtlich beim Kopieren von Strings aus dem DVB-Stream ohne Längenprüfung)
Gerti - du bist mein St Martin!

Ich weis nicht wie viele Stunden ich verschwendet habe um ein böse Pointer zu entlarven - aber der Fehler lag doch im TAP API :bash:

Vieleicht kannst du diese Liste als Sticky posten?

Gruß,
ICTag

PS: Buffer-Overflow bei BBC auf Astra 2D.