Optionale Neutrino-Komponenten

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

Optionale Neutrino-Komponenten

Beitrag von rhabarber1848 »

Hi,

einige Teile von Neutrino sind bereits optional de-/aktivierbar
- UPnP-Support
- Radiotext
- Esound
- FLAC-Support im Audioplayer
- Movieplayer vs. Movieplayer2
- HTTP-Update
- Audioplayer/Internetradio
- Pictureviewer

Zum Testen gibt es Patches für
- Neutrino-interne mount-Verwaltung, noch ohne configure-Option

Ich teste hier im Moment einen Patch, der den Audioplayer deaktivierbar
macht, was auch libid3tag, libmad und libvorbisidec überflüssig werden
lässt. Ein Squashfs/LZMA-Image gewinnt dadurch 264kb mehr freien Platz
/bin/neutrino schrumpft im Image von 1401080 auf 1255324 Byte.
PS: erledigt.

Ziel des Threads ist es, diese Aktivitäten hier vorzustellen und zu testen.
Aufgrund der Vorgeschichte von Radiotext und Esound möchte ich darum
bitten, Testberichte in den jeweiligen Threads zu posten. Patches für
bestehende Neutrino-Komponenten, wie den Audioplayer, werde ich
allerdings in diesem Thread sammeln und zum Testen bereitstellen.
Zuletzt geändert von rhabarber1848 am Dienstag 11. August 2009, 12:05, insgesamt 3-mal geändert.
dwilx

Re: Optionale Neutrino-Komponenten

Beitrag von dwilx »

Bei der Gelegenheit könnte man das gute alte Mosaik wieder zum Leben erwecken. Könnte ja sein, dass es in Zukunft Boxen gibt, die sowas lockerer können. Stichwort Twintuner. Nur so als Idee. :wink:
http://cvs.tuxbox-cvs.sourceforge.net/c ... 8&view=log
racker
Einsteiger
Einsteiger
Beiträge: 369
Registriert: Samstag 29. Mai 2004, 01:50

Re: Optionale Neutrino-Komponenten

Beitrag von racker »

dixidix hat geschrieben:Bei der Gelegenheit könnte man das gute alte Mosaik wieder zum Leben erwecken. Könnte ja sein, dass es in Zukunft Boxen gibt, die sowas lockerer können. Stichwort Twintuner. Nur so als Idee. :wink:
http://cvs.tuxbox-cvs.sourceforge.net/c ... 8&view=log
Siehe:
http://forum.tuxbox.org/forum/viewtopic ... ic#p286197
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Optionale Neutrino-Komponenten

Beitrag von rhabarber1848 »

dixidix hat geschrieben:Bei der Gelegenheit könnte man das gute alte Mosaik wieder zum Leben erwecken.
Mein Interesse geht im Moment eher in die Richtung,
/bin/neutrino so klein zu machen, dass man damit
gerade noch TV+Radio konsumieren kann. Deshalb
habe ich nur wenig Interesse an Plugins wie mosaic.cpp.

Das technische Ziel dieses Threads ist es, auf libcurl verzichten
zu können. Afaics muss dazu das HTTP-Update - das geht bereits -
und der Audio- und Movieplayer abgeschaltet werden. Wenn das
der Fall ist, soll Neutrino configure den Kompilierprozess so
steuern, dass libcurl nicht mehr gelinkt wird. Das bedeutet
aber auch, dass diese Logik in cdk/make/neutrino.mk nicht
vorhanden sein wird. Deshalb wird libcurl zwar kompiliert,
aber nicht mehr gegen Neutrino gelinkt. Damit kann
Neutrino auch ohne cdk/* so gebaut werden, dass libcurl
nicht notwendig ist.
StevenSch
Einsteiger
Einsteiger
Beiträge: 105
Registriert: Mittwoch 20. Oktober 2004, 12:41

Re: Optionale Neutrino-Komponenten

Beitrag von StevenSch »

Ich bin ja dafür geunsätzlich alle was nicht direkt mit TV zu tun hat optional zu machen. Bei den derzeitigen configure Möglichkeiten habe ich den Überblick verloren, was man wie disablen oder enablen muss bzw kann.

Ein ./configure ohne alle baut dann eben nur noch ein neutrino für TV ohne alles.
Will man mehr muss man (als Beispiel) ./configure --enable(movieplayer2,ide(ext3,xfs),tuxtxt,satfind,games(4gewinnt),audioplayer,radio) eingeben.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Optionale Neutrino-Komponenten

Beitrag von rhabarber1848 »

StevenSch hat geschrieben:Ein ./configure ohne alle baut dann eben nur noch ein neutrino für TV ohne alles.
Mit Blick auf Rückwärtskompatiblität bin ich dagegen.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Optionale Neutrino-Komponenten

Beitrag von rhabarber1848 »

Hier der Patch, um Audioplayer/Internetradio optional zu machen:
EDIT: Patch ist im CVS
(07.08.2009: aktualisiert für das aktuelle CVS)
(10.08.2009: nochmals aktualisiert, s.u.)

Beide Funktionen benutzen weitgehend denselben Code, daher ist es
wenig sinnvoll, nur auf eine der beiden Funktionen verzichten zu wollen.

Als default wird der Audioplayer kompiliert, um ihn zu deaktivieren:
cdk/configure --disable-audioplayer

Wie gehabt, am besten das CVS in ein leeres Verzeichnis auschecken/
kopieren, dort den Patch anwenden und testen. Bei Problemen, die nicht
in einer solchen Umgebung auftreten, werde ich keinen Support leisten.

Hier kompiliert der Patch durch, jeweils mit aktiviertem und deakti-
viertem Audioplayer. Neutrino ohne Audioplayer startet, ich habe aber
noch nicht jede Funktion auf Nebenwirkungen des Patches hin getestet.
Dennoch denke ich, da Neutrino ohne Audioplayer problemlos kompiliert
und gelinkt wurde, ist der Patch reif für den Test durch Euch ;)

PS (10.08.2009):
- ENABLE_INTERNETRADIO wird jetzt zusätzlich definiert, aber im
Moment nur dazu genutzt, bei --disable-audioplayer zusätzlich
Internetradio-spezifische Codeteile, wie Shoutcast, zu entfernen.
Ich habe im Moment keine Zeit, eine Option --disable-internetradio
durchzucoden, aber gewisse Vorbereitungen habe ich bereits an
den für mich offenkundigen Stellen einfließen lassen.
- Startmodus- und Personalisierungseinstellungen sind berücksichtigt
- Internetradio-Radioliste berücksichtigt
Zuletzt geändert von rhabarber1848 am Dienstag 11. August 2009, 11:58, insgesamt 5-mal geändert.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Optionale Neutrino-Komponenten

Beitrag von rhabarber1848 »

Der Radiotext- und der Rest des Esound-Patches sind im CVS.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Optionale Neutrino-Komponenten

Beitrag von rhabarber1848 »

Hier der Patch, um den Pictureviewer optional zu machen:
EDIT: Patch ist im CVS

Dieser Patch ist abhängig vom disable-audioplayer-Patch,
welcher vorher einzuspielen ist.

Als default wird der Pictureviewer kompiliert, um ihn zu deaktivieren:
cdk/configure --disable-pictureviewer

Ein Squashfs/LZMA-Image wird 304kb kleiner, wenn
Audioplayer und Pictureviewer deaktiviert wurden.
/bin/neutrino wird dabei unkomprimiert 200kb kleiner.

Als nächstes ist der Movieplayer dran.
Dafür plane ich die Option --enable-movieplayer2 zu entfernen
und sie durch --with-movieplayer zu ersetzen. Wenn kein
Movieplayer gewünscht ist, dann --without-movieplayer.
Ansonsten:
--with-movieplayer für den normalen Neutrino-Movieplayer
--with-movieplayer=movieplayer2 für die Version seife
--with-movieplayer=thor als mögliche Variante für den MP von anubis_neutrino

Darüberhinaus plane ich --disable-vlc, um nur die VLC-Komponenten
aus dem Movieplayer zu entfernen, das reicht, um libcurl.so
überflüssig zu machen. In Neutrino einen Movieplayer zu haben,
der nur die eigenen Aufnahmen wiedergeben kann, wäre sinnvoll.
Zuletzt geändert von rhabarber1848 am Dienstag 11. August 2009, 12:00, insgesamt 1-mal geändert.
dbt
Administrator
Beiträge: 2675
Registriert: Donnerstag 28. September 2006, 19:18

Re: Optionale Neutrino-Komponenten

Beitrag von dbt »

Ich weiß nicht, ob es so sinnvoll ist 3 Varianten zu haben. Es wäre vlt. sinnvoll sich auf eine saubere Version zu einigen und die so bauen, dass die auch alles macht was man braucht auch in Bezug auf den Moviebrowser.
dietmarw
Contributor
Beiträge: 1833
Registriert: Mittwoch 10. April 2002, 15:39

Re: Optionale Neutrino-Komponenten

Beitrag von dietmarw »

dafür..

welcher ist mir prinzipiell egal..
sollte das aber in richtung mp2 gehen, dann aber bitte mit funktionierender vlc funktion ;)
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Optionale Neutrino-Komponenten

Beitrag von rhabarber1848 »

Wie es wäre mit folgender Vorgehensweise:

--enable-movieplayer2 bleibt ohne Änderungen erhalten und
kann dann wegfallen, wenn über die Zukunft des Neutrino MP
endgültig entschieden wurde.

--disable-movieplayer (neu) verhindert das Kompilieren eines
Movieplayers in Neutrino, --enable-movieplayer2 wird in diesem
Fall ignoriert

--disable-vlc (neu) verhindert das Kompilieren der VLC-Komponente,
um libcurl.so loszuwerden, ohne auf einen MP verzichten zu müssen.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Optionale Neutrino-Komponenten

Beitrag von seife »

--disable-vlc würde ich dann auch in MP2 einbauen.

Wie wäre es übrigens mit einem audiplayer, der nur "lokale" (also Platte/NFS) Dateien abspielen kann?

(ich wollte vor langer Zeit auch mal libcurl loswerden, deswegen habe ich damals auch das internetupdate rausgepatcht, aber als ich gesehen habe, was alles davon abhängt, habe ich es dann gelassen... Also Respekt für diese Sysiphusarbeit ;))
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Optionale Neutrino-Komponenten

Beitrag von rhabarber1848 »

seife hat geschrieben:Wie wäre es übrigens mit einem audiplayer, der nur "lokale" (also Platte/NFS) Dateien abspielen kann?
Das hebe ich mir für später auf, da die Variable inetmode
ziemlich tief in audioplayer.cpp drinsteckt.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Optionale Neutrino-Komponenten

Beitrag von rhabarber1848 »

rhabarber1848 hat geschrieben:
seife hat geschrieben:Wie wäre es übrigens mit einem audiplayer, der nur "lokale" (also Platte/NFS) Dateien abspielen kann?
Das hebe ich mir für später auf, da die Variable inetmode
ziemlich tief in audioplayer.cpp drinsteckt.
Einige Vorbereitungen dafür habe ich in den aktuellen Audioplayer-
Patch einfließen lassen, um dessen Test ich Euch hiermit bitten
möchte. Meinerseits ist er in einer CVS-würdigen Form. Ich hoffe,
ich habe beim #ifdef'en des Codes nichts vergessen.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Optionale Neutrino-Komponenten

Beitrag von rhabarber1848 »

Sehe ich das richtig, dass innerhalb von Neutrino nur
EPGplus den Font md_khmurabi_10.ttf benutzt?
Wenn ja, wäre --disable-epgplus ein weiterer Kandidat,
um Neutrino zu reduzieren.
dwilx

Re: Optionale Neutrino-Komponenten

Beitrag von dwilx »

Meines Wissens nach wird die Schrift auch abhängig von einigen Locales gebraucht. Sowas wie Keryllisch oder so, deswegen ist die auch so fett.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Optionale Neutrino-Komponenten

Beitrag von rhabarber1848 »

Die Patches für --disable-audioplayer und --disable-pictureviewer sind im CVS.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Optionale Neutrino-Komponenten

Beitrag von rhabarber1848 »

Hier der Patch zum Deaktivieren des Movieplayers: EDIT: Patch ist im CVS

Mit diesem Patch kann Neutrino ohne libcurl kompiliert werden:

Code: Alles auswählen

cdk/bin/powerpc-tuxbox-linux-gnu-readelf -a cdkflash/root-neutrino-squashfs/bin/neutrino | grep curl
~ #
wenn
--disable-audioplayer
--disable-movieplayer
--with-updatehttpprefix=disable
zusammen gesetzt sind.
Zuletzt geändert von rhabarber1848 am Dienstag 18. August 2009, 13:51, insgesamt 1-mal geändert.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Optionale Neutrino-Komponenten

Beitrag von rhabarber1848 »

rhabarber1848 hat geschrieben:Sehe ich das richtig, dass innerhalb von Neutrino nur
EPGplus den Font md_khmurabi_10.ttf benutzt?
Andere Möglichkeit, um Speicherplatz zu sparen:

Code: Alles auswählen

ln -s micron.ttf md_khmurabi_10.ttf
Für den Einsatz in Deutschland ist md_khmurabi_10.ttf nicht nötig,
ich habe obigen Befehl in meine customization-Skripts eingebaut.
Für mich reicht das, --disable-epgplus wird es von mir nicht geben.
seife
Developer
Beiträge: 4189
Registriert: Sonntag 2. November 2003, 12:36

Re: Optionale Neutrino-Komponenten

Beitrag von seife »

Ich hatte mal "Nimbus Sans L Regular" und "Nimbus Sans L Condensed" (aus dem ghostscript-fonts paket) anstelle dem MD King KhammuRabi bei mir drin (die haben auch nicht die Copyrightprobleme des MD King), aber ich muss den Patch mal wieder ausgraben. Ich weiss auch nicht, ob alle Glyphen drin sind, die benötigt werden.

Jedenfalls sind sie kleiner:

Code: Alles auswählen

-rw-r--r--  1 seife suse    68590 31. Dez 2002  n019003l.pfb
-rw-r--r--  1 seife suse    74147  3. Dez 2008  n019043l.pfb
Wenn ich mich recht erinnere, hatte ich den einen auch nur für's LCD benutzt und den anderen fürs EPGplus, aber ich bin mir nicht mehr sicher.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Optionale Neutrino-Komponenten

Beitrag von rhabarber1848 »

rhabarber1848 hat geschrieben:Hier der Patch zum Deaktivieren des Movieplayers: EDIT: Patch ist im CVS
Bitte nochmal neu herunterladen, es gab noch Linkprobleme,
wenn der Movieplayer2 aktiviert wurde, diese sind nun behoben.
Zuletzt geändert von rhabarber1848 am Dienstag 18. August 2009, 13:52, insgesamt 1-mal geändert.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Optionale Neutrino-Komponenten

Beitrag von rhabarber1848 »

Neutrino, in einem Image ohne --enable-lirc kompiliert,
braucht weder libirsend.so noch liblircdclient.so.

EDIT: Patch ist im CVS

Hintergründe: http://forum.tuxbox-cvs.sourceforge.net ... 10#p369510
Zuletzt geändert von rhabarber1848 am Dienstag 18. August 2009, 20:06, insgesamt 1-mal geändert.
rhabarber1848
CDK-Experte
Beiträge: 4335
Registriert: Donnerstag 3. April 2008, 14:05

Re: Optionale Neutrino-Komponenten

Beitrag von rhabarber1848 »

rhabarber1848 hat geschrieben:Hier der Patch zum Deaktivieren des Movieplayers: EDIT: Patch ist im CVS
committed
Barf
Developer
Beiträge: 1475
Registriert: Dienstag 4. Februar 2003, 22:02

Re: Optionale Neutrino-Komponenten

Beitrag von Barf »

Annähernd offtopic:
rhabarber1848 hat geschrieben:Neutrino, in einem Image ohne --enable-lirc kompiliert,
braucht weder libirsend.so noch liblircdclient.so.
Eigentlich glaube ich dass man kann/soll mehr sagen: Die beide genannten Libs duplizieren irsend.c von den Lirc-Quellen (am mindestens große Teile einfach reinkopiert und mit anderen Copyright versehen... ...). Schweizer Armemesserdenken, dass man so oft in Neutrino begegnet: Alles selbst machen können, aber schlecht. :cry: Anstatt sollte wir untersuchen, falls es nicht besser wäre, z.B. der Lirc-client (irsend) einzubinden, entweder als executable oder als library.

Erst aber Lirc 0.8.6 abwarten (0.8.6pre1 ist aktuell).