Nicht-konforme Zeichen in der Aufnahme-XML

Wünsche, Anträge, Fehlermeldungen
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von seife »

Sieht aus wie ein buffer overflow oder Müll, der im Speicher lag.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von Gaucho316 »

Ich habe den Fehler auch schon gefunden. Er versteckt sich in Zeile 427 bis 429 von remotecontrol.cpp und fällt erst auf, wenn die Audionamen länger als 24 Zeichen sind.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von Gaucho316 »

Ich habe den Fehler nun mal korrigiert. Hoffe ich zumindest. Guckt mal, ob's hilft. Es sollte auch unbedingt mal jemand drübergucken. seife vielleicht?

Link zum Patch entfernt

Edit: Ich habe den Patch um dieselben Korrekturen für zapit und nhttpd erweitert. Dort könnte ein derartiger Pufferüberlauf nämlich auch passieren.

Link entfernt, da Patch im CVS
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von Houdini »

sieht gundsätzlich gut aus,
explodiert aber für

Code: Alles auswählen

sizeof( pids.APIDs[i].desc ) = 0
das sollte man noch abfangen
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von seife »

Houdini: das kann nicht passieren: desc ist char[25]

(das könnte man ausserdem auch auf 32 erhöhen, vom Speicherverbrauch bleibt sich das vermutlich ziemlich gleich).
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von Gaucho316 »

Freut mich, dass der Code in Ordnung ist. Derjenige, der den Code eincheckt, sollte dann auch zusätzlich in Zeile 172 von apps/dvb/zapit/include/zapit/client/zapitclient.h die Zahl 25 in 32 ändern.
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von Houdini »

die Frage ist noch ob anstatt sizeof() eher strlen() gemeint ist...
sizeof() sollte ja immer die buffer size liefern, egal was drin ist
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von GetAway »

Er meint wohl diese Zeilen:

Code: Alles auswählen

size_t desc_maxlen = sizeof(current_PIDs.APIDs[j].desc) - 1;
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von Gaucho316 »

sizeof ist schon richtig. Ich will ja die Maximalgröße wissen.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von Gaucho316 »

seife hat geschrieben:(das könnte man ausserdem auch auf 32 erhöhen, vom Speicherverbrauch bleibt sich das vermutlich ziemlich gleich).
Ich glaube, dass wir das doch lieber sein lassen sollten. Dann müsste man nämlich auch den Audiospurauswahldialog vergrößern.
Mucki
Interessierter
Interessierter
Beiträge: 78
Registriert: Freitag 7. Januar 2011, 01:20

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von Mucki »

Könnte man den Wert nicht auf 32 erhöhen, ohne gleich das Audio-Auswahlfenster zu vergrößern? Dort hätte man zwar eine verkürzte Anzreige (ca. 27 Zeichen), aber dafür den kompletten Audio-Namen in der Aufnahme-XML.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von Gaucho316 »

Also gut, einverstanden. Dann möchte ich aber die Nummern der Audio-PIDs im Audioauswahldialog der Movieplayer vorne angezeigt bekommen. Ansonsten kann es passieren, dass die gar nicht mehr zu sehen sind.

Link zum Patch entfernt
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von Gaucho316 »

Beim Testen des vorherigen Patches ist mir aufgefallen, dass im Movieplayer2 am Ende von AC3-Tonspuren im Audioauswahldialog AC3 doppelt angezeigt wird. Der folgende Patch verhindert das.

Link entfernt, da Patch im CVS
Mucki
Interessierter
Interessierter
Beiträge: 78
Registriert: Freitag 7. Januar 2011, 01:20

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von Mucki »

Gaucho316 hat geschrieben:Dann möchte ich aber die Nummern der Audio-PIDs im Audioauswahldialog der Movieplayer vorne angezeigt bekommen.
Die könnte man eher ganz weglassen, wer wählt denn die Sprache anhand der PID's?
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von Gaucho316 »

Mucki hat geschrieben:wer wählt denn die Sprache anhand der PID's?
Ich.

Ich hatte das damals eingebaut, weil manchmal Audiospuren aufgenommen werden, die gleich heißen, nämlich "German". So kann ich sie wenigstens anhand der Audio-PID auseinanderhalten. Die kleinere ist dann die deutsche. Und auch wenn keine XML-Datei vorhanden ist oder der EPG bei Aufnahmestart fehlte, ist diese Info ganz hilfreich.
Mucki
Interessierter
Interessierter
Beiträge: 78
Registriert: Freitag 7. Januar 2011, 01:20

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von Mucki »

Vielleicht sollte man das einstellbar machen ("Erweiterte Audioauswahl an/aus"), und nur im erweiterten Modus die PID's und die non-Audio-Streams anzeigen.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von Gaucho316 »

Finde ich übertrieben. Es gibt schon genug nutzlose Einstellmöglichkeiten.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von Gaucho316 »

Gaucho316 hat geschrieben:Also gut, einverstanden. Dann möchte ich aber die Nummern der Audio-PIDs im Audioauswahldialog der Movieplayer vorne angezeigt bekommen. Ansonsten kann es passieren, dass die gar nicht mehr zu sehen sind.
Nach längerem Betrachten bin ich der Meinung, dass die eckigen Klammern am Anfang ziemlich dämlich aussehen. Ich habe den Patch nun so abgeändert, dass die Audio-PID durch einen Doppelpunkt vom Audionamen getrennt ist. Ich finde, dass das besser aussieht.

Link entfernt, da Patch im CVS
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von Gaucho316 »

Und außerdem fehlt der Abbrechen-Button im Audioauswahldialog beider Movieplayer.

Link entfernt, da Patch im CVS
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von Gaucho316 »

Auch die Nummerierung ist im Audioauswahldialog beider Movieplayer manchmal falsch. Die Reihenfolge lautet dann z.B. 2, 3 und dann erst 1.

Link entfernt, da Patch im CVS
Mucki
Interessierter
Interessierter
Beiträge: 78
Registriert: Freitag 7. Januar 2011, 01:20

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von Mucki »

Bei der Audioauswahl im Movieplayer gibt es noch andere Auffälligkeiten:
  • - In der Aufnahme-XML stehen auch Audio-Spuren, die gar nicht aufgenommen wurden.
    - Wenn man während der Wiedergabe die Audiospur wechselt, läuft die Aufnahme nicht weiter (Standbild). Man muss danach immer Pause/Play drücken.
    - Die Audioauswahl wird manchmal auch dann angezeigt, wenn es nur eine Audio-Spur gibt. Und zwar dann, wenn der Videotext-Stream dabei ist.
    - Wenn man beim Start einer Aufnahme in der Audioauswahl 'Abbrechen' wählt gibt's keinen Ton und das Bild ruckelt.
Gaucho, hast du gerade einen kreativen Lauf? :wink:
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von Gaucho316 »

Mucki hat geschrieben:- Wenn man während der Wiedergabe die Audiospur wechselt, läuft die Aufnahme nicht weiter (Standbild). Man muss danach immer Pause/Play drücken.
Kann ich auf meiner Avia500-Box nicht bestätigen. Während das Auswahlfenster geöffnet ist, bleiben bei mir Bild und Ton auch stehen. Danach geht's aber ohne Probleme weiter. Ich weiß auch gar nicht, wo ich da ansetzen sollte. Dafür fehlt mir die Fachkenntnis. Bei mir reicht's nur für kleine Bugfixes. Hast du statt Pause/Play mal die Taste 0 für Resync gedrückt? Das geht schneller.

Edit: Ich kann das Problem doch nachvollziehen, wenn ich "Verwende Buffer (WabberQueue)" einschalte. Das ist bei mir normalerweise aus. Der folgende Patch hilft bei mir.

Link entfernt, da Patch im CVS
Mucki hat geschrieben:- Die Audioauswahl wird manchmal auch dann angezeigt, wenn es nur eine Audio-Spur gibt. Und zwar dann, wenn der Videotext-Stream dabei ist.
Richtig. Das wurde wohl damals mit Absicht eingebaut. Frag mich aber nicht warum. Ich würde es einfach so lassen. Stört ja nicht.
Mucki hat geschrieben:- Wenn man beim Start einer Aufnahme in der Audioauswahl 'Abbrechen' wählt gibt's keinen Ton und das Bild ruckelt.
Kann ich auf meiner Avia500-Box auch nicht bestätigen. Bei mir geht das ohne Probleme.
Mucki hat geschrieben:Gaucho, hast du gerade einen kreativen Lauf? :wink:
Nein, nur zuviel Zeit zwischen Weihnachten und Neujahr. :D
Mucki hat geschrieben:- In der Aufnahme-XML stehen auch Audio-Spuren, die gar nicht aufgenommen wurden.
Stimmt, habe ich auch schon bemerkt. Hat mich aber noch nie so richtig gestört. Mit folgendem Patch werden nun nur noch die Audiospuren in die XML-Datei geschrieben, die aufgenommen werden. Guckt mal, ob das nichts kaputt macht. Für die Direktaufnahme habe ich es getestet, für die Serveraufnahme nicht.

Link zum Patch entfernt
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von Gaucho316 »

Und noch einen. Ist man vor Beginn einer Aufnahme auf einem anderen Kanal als dem, der aufgenommen werden soll, werden als Tonspurnamen in der XML-Datei die Tonspurnamen des alten Kanals gespeichert. Der folgende Patch fixt das mehr oder weniger elegant.

Link entfernt, da Patch im CVS
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 13:05

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von rhabarber1848 »

Gaucho316 hat geschrieben:neutrino_terminate-apid-names-correctly_2011-11-26_1934.diff
committed to CVS:
http://article.gmane.org/gmane.comp.vid ... x.scm/3183
http://article.gmane.org/gmane.comp.vid ... x.scm/3184
Gaucho316 hat geschrieben:Zeile 172 von apps/dvb/zapit/include/zapit/client/zapitclient.h die Zahl 25 in 32 ändern.
http://article.gmane.org/gmane.comp.vid ... x.scm/3186
Gaucho316 hat geschrieben:movieplayer2_prevent-double-ac3-in-apid-names_2011-12-28_1622.diff
http://article.gmane.org/gmane.comp.vid ... x.scm/3187
Gaucho316 hat geschrieben:movieplayer_move-apid-numbers-in-audio-select-dialog_2011-12-29_0027.diff
http://article.gmane.org/gmane.comp.vid ... x.scm/3188
Gaucho316 hat geschrieben:movieplayer_add-intro-items-to-audio-select-dialog_2011-12-29_1718.diff
http://article.gmane.org/gmane.comp.vid ... x.scm/3189
Gaucho316 hat geschrieben:movieplayer_fix-numbering-in-audio-select-dialog_2011-12-29_1939.diff
http://article.gmane.org/gmane.comp.vid ... x.scm/3190
Mucki
Interessierter
Interessierter
Beiträge: 78
Registriert: Freitag 7. Januar 2011, 01:20

Re: Nicht-konforme Zeichen in der Aufnahme-XML

Beitrag von Mucki »

Gaucho316 hat geschrieben:
Mucki hat geschrieben:- In der Aufnahme-XML stehen auch Audio-Spuren, die gar nicht aufgenommen wurden.
Mit folgendem Patch werden nun nur noch die Audiospuren in die XML-Datei geschrieben, die aufgenommen werden.
Könnte man das auch beim Videotext-Stream korrigieren?