Commit-Wünsche für das CVS II

Kreuzuebersetzer, Diskussion über Änderungen im Tuxbox-CDK und Tuxbox-CVS
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Commit-Wünsche für das CVS II

Beitrag von Gaucho316 »

Damit keine Langeweile aufkommt, hier mal wieder ein paar Patches.

Der erste Patch schließt ein Speicherleck in der Bouquetliste. Beim Löschen der Liste wird nämlich der belegte Speicher nicht wieder freigegeben.

Bouquetlist: fix memleak
Link entfernt, da Patch im CVS


Die Anregung zum zweiten Patch habe ich aus dem Coolstream GIT. In den Menüklassen ist der Aufruf von CMenuWidget::hide() nicht nötig, da am Ende der Methode CMenuWidget::exec() schon hide() aufgerufen wird.

Remove unnecessary hide calls in menu classes
Link entfernt, da Patch im CVS


Den dritten Patch, der für den Radiotext ist, habe ich direkt aus dem Coolstream GIT übernommen.

Radiotext: little syntax fix
Link entfernt, da Patch im CVS


Die Idee für den letzten Patch habe ich auch aus dem Coolstream GIT. Ich habe es allerdings etwas anders gelöst als SatBaby. Der Patch sorgt dafür, dass bei einer Suche über alle Kanäle doppelte Einträge aus der Liste gelöscht werden. Das kann nämlich passieren, wenn man denselben Kanal in mehreren Bouquets hat.

Eventlist: remove duplicates from search list
Link entfernt, da Patch im CVS
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Commit-Wünsche für das CVS II

Beitrag von Gaucho316 »

Und weiter geht's. Die Patches sind alle für die Eventliste.

Der erste Patch ist nur eine kosmetische Sache. Um aus der Event-ID die Kanal-ID zu ermitteln, wird jetzt direkt die dafür zuständige Methode der Klasse CChannelEvent statt eines Makros genutzt.

Eventlist: use method instead of macro to get channel id
Link entfernt, da Patch im CVS


Der zweite Patch sorgt dafür, dass man das "leere" Event ("Keine EPG-Information verfügbar.") nicht als Timer hinzufügen kann.

Eventlist: don't add empty event to timerlist
Link entfernt, da Patch im CVS


Der letzte Patch ist für die Kanalsuche. Wird nämlich ein Event gefunden, für das ein Aufnahme- und ein Umschalttimer gesetzt ist, wird der gelbe Punkt über den Sendernamen gezeichnet. Das habe ich damals nicht bedacht, als ich das gleichzeitige Zeichnen beider Symbole eingebaut hatte. Deshalb habe ich einfach den Abstand zwischen Datum und Sendername vergrößert.

Eventlist: add spaces between date and channel name
Link entfernt, da Patch im CVS
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Commit-Wünsche für das CVS II

Beitrag von Gaucho316 »

In der Klasse CNeutrinoApp gibt es ein paar unnötige Membervariablen, die Zeiger auf Objekte enthalten. Ich habe die mal entfernt und dafür gesorgt, dass die Objekte jetzt an den Stellen erzeugt werden, an denen sie tatsächlich benötigt werden.

CNeutrinoApp: remove unnecessary member vars
Link entfernt, da Patch im CVS
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Commit-Wünsche für das CVS II

Beitrag von rhabarber1848 »

Gaucho316 hat geschrieben:bouquetlist_fix-memleak_2012-05-07_1800.diff
http://article.gmane.org/gmane.comp.vid ... x.scm/3393
Gaucho316 hat geschrieben:neutrino_remove-unnecessary-hide-calls-in-menu-classes_2012-05-12_2056.diff
http://article.gmane.org/gmane.comp.vid ... x.scm/3394
Gaucho316 hat geschrieben:radiotext_little-syntax-fix_2012-05-12_2113.diff
http://article.gmane.org/gmane.comp.vid ... x.scm/3395
Gaucho316 hat geschrieben:eventlist_remove-duplicates-from-search-list_2012-05-12_2252.diff
http://article.gmane.org/gmane.comp.vid ... x.scm/3396
Gaucho316 hat geschrieben:eventlist_use-method-instead-of-macro-to-get-channel-id_2012-05-14_1829.diff
http://article.gmane.org/gmane.comp.vid ... x.scm/3397
Gaucho316 hat geschrieben:eventlist_dont-add-empty-event-to-timerlist_2012-05-14_1921.diff
http://article.gmane.org/gmane.comp.vid ... x.scm/3398
Gaucho316 hat geschrieben:eventlist_add-spaces-between-date-and-channel-name_2012-05-14_1942.diff
http://article.gmane.org/gmane.comp.vid ... x.scm/3399
Gaucho316 hat geschrieben:neutrino_remove-unnecessary-member-vars_2012-05-16_2122.diff
http://article.gmane.org/gmane.comp.vid ... x.scm/3400
http://article.gmane.org/gmane.comp.vid ... x.scm/3401
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Commit-Wünsche für das CVS II

Beitrag von Gaucho316 »

Mal wieder ein großes Dankeschön an dbt und rhabarber1848 fürs Einchecken.

Ich habe mir mal die Mühe gemacht, das Auswahlmenü für die Bildoptionen in eine eigene Klasse zu packen. Ich finde das übersichtlicher und ganz nebenbei entfällt auch wieder eine Hilfsklasse in setting_helpers.h/cpp. Was allerdings in den beiden neuen Dateien subchannel_select.h und subchannel_select.cpp fehlt, ist die ID-Zeile

Code: Alles auswählen

$Id: subchannel_select.h,v 1.1 YYYY/MM/DD hh:mm:ss commiter Exp $
bzw.

Code: Alles auswählen

$Id: subchannel_select.cpp,v 1.1 YYYY/MM/DD hh:mm:ss commiter Exp $
Ich habe keine Ahnung, was man da eintragen muss, damit das automatisch geführt wird. Es wäre schön, wenn das derjenige, der es eincheckt, einbauen würde.

Neutrino: make own class for subchannel selection
Link entfernt, da Patch im CVS
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Commit-Wünsche für das CVS II

Beitrag von Gaucho316 »

Einen hab ich noch. Das müsste es jetzt aber erst einmal wieder gewesen sein.

CNeutrinoApp: init and delete some member vars
Link entfernt, da Patch im CVS
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Commit-Wünsche für das CVS II

Beitrag von Gaucho316 »

Ich hatte am Freitag noch einen Patch für die Movieplayer-Einstellungen gemacht. Leider kam ich ja wegen dieses Idioten, der das Forum gelöscht hat, nicht mehr dazu, ihn zu veröffentlichen. Hier ist er nun aber.

Movieplayer setup: remove unnecessary helper class
Link entfernt, da Patch im CVS
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Commit-Wünsche für das CVS II

Beitrag von rhabarber1848 »

committed:
Gaucho316 hat geschrieben:neutrino_make-own-class-for-subchannel-selection_2012-05-17_1555.diff
http://article.gmane.org/gmane.comp.vid ... x.scm/3404
http://article.gmane.org/gmane.comp.vid ... x.scm/3405
http://article.gmane.org/gmane.comp.vid ... x.scm/3406
Gaucho316 hat geschrieben:Was allerdings in den beiden neuen Dateien subchannel_select.h und subchannel_select.cpp fehlt, ist die ID-Zeile
Diese wird durch im Sourcecode von CVS erzeugt: http://article.gmane.org/gmane.comp.vid ... x.scm/3407
Gaucho316 hat geschrieben:neutrino_init-and-delete-some-member-vars_2012-05-17_1913.diff
http://article.gmane.org/gmane.comp.vid ... x.scm/3408
http://article.gmane.org/gmane.comp.vid ... x.scm/3409
Gaucho316 hat geschrieben:movieplayer-setup_remove-unnecessary-helper-class_2012-05-18_2142.diff
http://article.gmane.org/gmane.comp.vid ... x.scm/3410
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Commit-Wünsche für das CVS II

Beitrag von Gaucho316 »

rhabarber1848 hat geschrieben:
Gaucho316 hat geschrieben:Was allerdings in den beiden neuen Dateien subchannel_select.h und subchannel_select.cpp fehlt, ist die ID-Zeile
Diese wird durch im Sourcecode von CVS erzeugt
Das ist ja einfach. Ich danke dir und werde das im Hinterkopf behalten für den Fall, dass ich mal wieder an den Punkt komme, eine neue Klasse erstellen zu müssen.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Commit-Wünsche für das CVS II

Beitrag von Gaucho316 »

Ich wundere mich ja, dass es noch keinem aufgefallen ist, aber nach dem Fixen eines Speicherlecks in der Klasse CBouquetList meinerseits gibt es einen Segfault beim Starten der zweiten Aufnahme nach dem Start von Neutrino. Das kommt dadurch zustande, dass ein und dieselbe Instanz der Klasse CChannel in zwei unabhängigen Vektoren innerhalb der Objekte channelListRecord und bouquetListRecord geführt wird und beim Löschen der Objekte doppelt gelöscht wird. Das fliegt uns natürlich um die Ohren. Der folgende Patch behebt das Problem.

Neutrino: fix segfault while init channels for recording
Link entfernt, da Patch im CVS


Beim Beheben des vorigen Problems ist mir aufgefallen, dass beim Initialisieren der Kanäle ein vorhandener Vektor weitergenutzt werden kann, statt einen neuen anzulegen.

Neutrino: reuse existing vector while init channels
Link entfernt, da Patch im CVS


Und schließlich habe ich einen Patch von Neutrino-HD portiert, der gestern eingecheckt wurde. Der sorgt laut Log-Eintrag dafür, dass Events weniger Speicher verbrauchen, da std::vector für components und ratings statt std::multiset bzw. std::set verwendet wird. Und ein geringerer Speicherverbrauch ist auf der d-box 2 immer sinnvoll.

Sectionsd: use vector for components and ratings to decrease event size
Link entfernt, da Patch im CVS
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Commit-Wünsche für das CVS II

Beitrag von seife »

Ich würde nicht alles ohne nachzumessen für bare Münze nehmen, was bei neutrino-HD so als "fix" eingecheckt wird...
In dem Fall scheint das logisch, ich würde es trotzdem erst mal auf ppc nachmessen, ob es was ausmacht.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Commit-Wünsche für das CVS II

Beitrag von rhabarber1848 »

committed:
Gaucho316 hat geschrieben:neutrino_fix-segfault-while-init-channels-for-recording_2012-05-30_1822.diff
http://article.gmane.org/gmane.comp.vid ... x.scm/3418
Gaucho316 hat geschrieben:neutrino_reuse-existing-vector-while-init-channels_2012-05-30_1826.diff
http://article.gmane.org/gmane.comp.vid ... x.scm/3419
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Commit-Wünsche für das CVS II

Beitrag von Gaucho316 »

seife hat geschrieben:Ich würde nicht alles ohne nachzumessen für bare Münze nehmen, was bei neutrino-HD so als "fix" eingecheckt wird...
In dem Fall scheint das logisch, ich würde es trotzdem erst mal auf ppc nachmessen, ob es was ausmacht.
Bei einem kurzen Vergleich mittels sectionsdcontrol --statistics haben ca. 3470 Events, eingelesen auf Sky Cinema, bei mir ca. 150 KB weniger Speicher belegt, wenn die Code-Änderungen drin sind. Es bringt also etwas. Wundert euch nicht über die geringe Anzahl Events, bei mir ist der EPG-Filter aktiv.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Commit-Wünsche für das CVS II

Beitrag von rhabarber1848 »

mit patch:
$Id: sectionsd.cpp,v 1.340 2012/04/13 12:15:20 rhabarber1848 Exp $
Current time: Thu May 31 21:01:43 2012
Hours to cache: 336
Hours to cache extended text: 48
Events are old 60min after their end time
Number of cached services: 150
Number of cached nvod-services: 0
Number of cached events: 28969
Number of cached nvod-events: 0
Number of cached meta-services: 0
Total size of memory occupied by chunks
handed out by malloc: 16230724 (15850kb)
Total bytes memory allocated with `sbrk' by malloc,
in bytes: 20539380 (20057kb)
ohne patch:
$Id: sectionsd.cpp,v 1.340 CVS 2012/04/13 12:15:20 rhabarber1848 Exp $
Current time: Thu May 31 21:55:16 2012
Hours to cache: 336
Hours to cache extended text: 48
Events are old 60min after their end time
Number of cached services: 0
Number of cached nvod-services: 0
Number of cached events: 28965
Number of cached nvod-events: 0
Number of cached meta-services: 0
Total size of memory occupied by chunks
handed out by malloc: 21919092 (21405kb)
Total bytes memory allocated with `sbrk' by malloc,
in bytes: 22112220 (21593kb)
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Commit-Wünsche für das CVS II

Beitrag von Gaucho316 »

Ich habe hier einen Patch für das Menü "Treiber- und Bootoptionen", der zwei meiner Meinung nach unnötige Notifier entfernt. Die Werte für g_settings.uboot_console und g_settings.uboot_dbox_duplex werden ja schon mit Hilfe der MenuOptionChooser oj_boot_console bzw. oj_dbox_duplex gesetzt. Warum braucht man dann noch je einen Notifier, der die Werte nochmal setzt? :gruebel:

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

Re: Commit-Wünsche für das CVS II

Beitrag von Gaucho316 »

Die Anregung zu diesem Patch habe ich mal wieder aus dem Coolstream GIT. In vielen Notifiern ist es unnötig, true zurückzugeben, da das dazugehörige Menü überhaupt nicht neu gezeichnet werden muss.

Neutrino: remove unnecessary repaint calls in notifiers
Link entfernt, da Patch im CVS


Beim Test des Patches sind mir ein paar Schreibfehler in der Datei deutsch.locale aufgefallen.

Locale: fix typos
Link entfernt, da Patch im CVS


Edit: Ich habe eine kleine Optimierung im ersten Patch vorgenommen.
Edit: Ich habe noch eine Kleingkeit geändert, die der Übersichtlichkeit des Codes dient.
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Commit-Wünsche für das CVS II

Beitrag von Gaucho316 »

Hier noch ein kleiner Patch für die Video-Einstellungen, der den Code übersichtlicher macht. Funktionstechnisch ändert sich nichts.

Video setup: use constants instead of numbers
Link entfernt, da Patch im CVS
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Commit-Wünsche für das CVS II

Beitrag von Gaucho316 »

Ich habe die Diskussion um den folgenden Patch von GetAway in einen neuen Thread ausgelagert, weil es ansonsten hier zu unübersichtlich wird.

Timerlist: automatic set mo.-fr. when selected weekdays. Ported from Neutrino-HD.
http://forum.tuxbox-cvs.sourceforge.net ... =2&t=50107
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Commit-Wünsche für das CVS II

Beitrag von Gaucho316 »

Die Anregung zu folgendem Patch habe ich auch wieder aus dem Coolstream GIT. Er sorgt dafür, dass in den Menüklassendateien eine Menge Notifierklassen entfallen können, indem die Methode changeNotify() der entsprechenden Menüklasse genutzt wird. Er baut auf den obigen Patches aus diesem Thread auf.

Neutrino: use changeNotify() of menu classes if possible
Link zum Patch entfernt


Nebenbei ist mir aufgefallen, dass die Notifier-Klasse CUserMenuNotifier in den Benutzermenü-Einstellungen überflüssig ist.

User menu setup: remove unnecessary notifier
Link entfernt, da Patch im CVS


Eine Sache habe ich die Tage noch vor. Ich will den Notifier COnOffNotifier (setting_helpers.h/cpp) so aufbohren, dass er universeller einsetzbar ist und so ein paar andere Notifierklassen ersetzen kann.
Mourice

Re: Commit-Wünsche für das CVS II

Beitrag von Mourice »

Hi,

man, man .... jetzt mach doch mal Urlaub ...
Ich habe gerade erst ein neues Root-Update erstellt ...

Wer soll den Schritt halten mit Dir ... :D :D :D

MfG

Aber natürlich ... mach weiter so
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Commit-Wünsche für das CVS II

Beitrag von Gaucho316 »

Gaucho316 hat geschrieben:Die Anregung zu folgendem Patch habe ich auch wieder aus dem Coolstream GIT. Er sorgt dafür, dass in den Menüklassendateien eine Menge Notifierklassen entfallen können, indem die Methode changeNotify() der entsprechenden Menüklasse genutzt wird. Er baut auf den obigen Patches aus diesem Thread auf.
Mir ist da gestern leider noch etwas durch die Lappen gegangen. Ich habe einen Notifier in einer CPP-Datei gelöscht, aber vergessen, ihn auch aus der dazugehörigen Headerdatei zu entfernen. Deshalb habe ich den Patch aktualisiert.

Neutrino: use changeNotify() of menu classes if possible
Link entfernt, da Patch im CVS
GetAway
Contributor
Beiträge: 1509
Registriert: Donnerstag 27. Dezember 2007, 12:59

Re: Commit-Wünsche für das CVS II

Beitrag von GetAway »

rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Commit-Wünsche für das CVS II

Beitrag von rhabarber1848 »

committed:
Gaucho316 hat geschrieben:driver-boot-setup_remove-useless-notifiers_2012-06-01_2214.diff
http://article.gmane.org/gmane.comp.vid ... x.scm/3420
Gaucho316 hat geschrieben:neutrino_remove-unnecessary-repaint-calls-in-notifiers_2012-06-03_0138.diff
http://article.gmane.org/gmane.comp.vid ... x.scm/3421
http://article.gmane.org/gmane.comp.vid ... x.scm/3422
Gaucho316 hat geschrieben:locale_fix-typos_2012-06-02_1922.diff
http://article.gmane.org/gmane.comp.vid ... x.scm/3423
Gaucho316 hat geschrieben:video-setup_use-constants-instead-of-numbers_2012-06-03_1944.diff
http://article.gmane.org/gmane.comp.vid ... x.scm/3424
Gaucho316 hat geschrieben:user-menu-setup_remove-unnecessary-notifier_2012-06-07_2002.diff
http://article.gmane.org/gmane.comp.vid ... x.scm/3425
Gaucho316 hat geschrieben:neutrino_use-changenotify-of-menu-classes-if-possible_2012-06-08_1936.diff
http://article.gmane.org/gmane.comp.vid ... x.scm/3426
http://article.gmane.org/gmane.comp.vid ... x.scm/3427
http://article.gmane.org/gmane.comp.vid ... x.scm/3428
GetAway hat geschrieben:remove_initialized_but never_used_variable.diff
remove_currently_unused_variables.diff
use_parentheses_to_clearify_the_code.diff
use_safer_cpp_static_cast.diff
http://article.gmane.org/gmane.comp.vid ... x.scm/3429
http://article.gmane.org/gmane.comp.vid ... x.scm/3430
Gaucho316
Contributor
Beiträge: 1688
Registriert: Donnerstag 17. Februar 2005, 20:24

Re: Commit-Wünsche für das CVS II

Beitrag von Gaucho316 »

GetAway hat geschrieben:movieinfo.cpp
remove_currently_unused_variables.diff
Ist bei diesem Patch jetzt nicht zuviel rausgeflogen? Jetzt wird doch nichts mehr gespeichert, weil write(fd, text, text_size) auskommentiert wurde.