Sound Server für die Dbox
-
- Interessierter
- Beiträge: 33
- Registriert: Mittwoch 24. Oktober 2007, 12:07
Sound Server für die Dbox
Hallo zusammen,
ich hatte die Idee ob es nicht möglich ist die Dbox quasi als Remote Lautsprecher für den PC zu benutzen nach dem Vorbild von Airport Express von Apple. Nach etwas googeln bin ich auf Pulseaudio gestoßen. Das ist ein Sound Server welcher Verbindungen annimmt und diese lokal ausgiebt. Pulseaudio ist sowohl für Windows als auch für Linux zu haben und unter der GPL veröffentlicht.
So nun zum Dbox Teil. Zum einen ist es ohne weiteres möglich den Sourcecode einfach durch den Cross Compiler zu jagen? Zum zweiten wie siehts in der Box mit der Hardware aus, das Teil muß das ja auch irgendwie ausgeben können. Allerdings denke ich mir dass dies bereits realisiert wurde da der Audioplayer ja auch funktioniert und auch Streams annehmen kann.
Also muß das ganze meiner Meinung nach nur compiliert und dann richtig konfiguriert werden. Am schönsten wäre das ganze dann natürlich wenn man auf der Box nen Punkt hat "Soundserver starten" oder sowas. Tv Bild und Audio wird dann ausgeblendet wie beim Audioplayer und der Pulseaudio wird gestartet.
Schonmal vielen Dank für die Hilfe
LG
Phil
ich hatte die Idee ob es nicht möglich ist die Dbox quasi als Remote Lautsprecher für den PC zu benutzen nach dem Vorbild von Airport Express von Apple. Nach etwas googeln bin ich auf Pulseaudio gestoßen. Das ist ein Sound Server welcher Verbindungen annimmt und diese lokal ausgiebt. Pulseaudio ist sowohl für Windows als auch für Linux zu haben und unter der GPL veröffentlicht.
So nun zum Dbox Teil. Zum einen ist es ohne weiteres möglich den Sourcecode einfach durch den Cross Compiler zu jagen? Zum zweiten wie siehts in der Box mit der Hardware aus, das Teil muß das ja auch irgendwie ausgeben können. Allerdings denke ich mir dass dies bereits realisiert wurde da der Audioplayer ja auch funktioniert und auch Streams annehmen kann.
Also muß das ganze meiner Meinung nach nur compiliert und dann richtig konfiguriert werden. Am schönsten wäre das ganze dann natürlich wenn man auf der Box nen Punkt hat "Soundserver starten" oder sowas. Tv Bild und Audio wird dann ausgeblendet wie beim Audioplayer und der Pulseaudio wird gestartet.
Schonmal vielen Dank für die Hilfe
LG
Phil
-
- Moderator english
- Beiträge: 2458
- Registriert: Donnerstag 20. Dezember 2001, 00:00
Re: Sound Server für die Dbox
Schon mal Upnp versucht ?
-
- Interessierter
- Beiträge: 33
- Registriert: Mittwoch 24. Oktober 2007, 12:07
Re: Sound Server für die Dbox
Hi,
ja UPNP kenne ich. Mir gehts aber darum das ich für diese Geschichte an der Dbox so gut wie nix machen muß. Über die Fernbedienung das Teil Starten und dann gibt der alles wieder was auf Port 4713 reinkommt. Und da das System ähnlich wie UPNP arbeitet wird die Box im Netzwerk von jedem Pulseaudio fähigen Gerät gefunden ohne dabei etwas konfigurieren zu müßen. Bei UPNP muß ich den Fernseher bzw. Beamer einschalten, bei der Pulseadio Lösung nicht.
LG
Phil
ja UPNP kenne ich. Mir gehts aber darum das ich für diese Geschichte an der Dbox so gut wie nix machen muß. Über die Fernbedienung das Teil Starten und dann gibt der alles wieder was auf Port 4713 reinkommt. Und da das System ähnlich wie UPNP arbeitet wird die Box im Netzwerk von jedem Pulseaudio fähigen Gerät gefunden ohne dabei etwas konfigurieren zu müßen. Bei UPNP muß ich den Fernseher bzw. Beamer einschalten, bei der Pulseadio Lösung nicht.
LG
Phil
-
- Moderator english
- Beiträge: 2458
- Registriert: Donnerstag 20. Dezember 2001, 00:00
Re: Sound Server für die Dbox
Upnp sollte inzwischen eigentlich auch via LCD zu bedienen sein
-
- Interessierter
- Beiträge: 33
- Registriert: Mittwoch 24. Oktober 2007, 12:07
Re: Sound Server für die Dbox
Das mag vielleicht sein. Allerdings ist das wesentlich mehr aufwand weil brauch ich dann einen UPNP Server der Files bereitstellt und diese gegebenenfalls auch noch Transkodiert. Das war aber garnicht die Fragestellung.PT-1 hat geschrieben:Upnp sollte inzwischen eigentlich auch via LCD zu bedienen sein
Ich will die Dbox als Receiver für Audio over IP benutzen und dafür ist Pulseaudio oder ESD prädestiniert. Darum ist meine Frage ob ich den Quelltext einfach so durch den Cross-Compiler jagen kann und zum zweiten wie die Config aufgebaut sein muß auf um auf die Hardware der Box (in dem Fall Audio Ausgang) zugreifen zu können.
LG
Phil
-
- Moderator english
- Beiträge: 2458
- Registriert: Donnerstag 20. Dezember 2001, 00:00
Re: Sound Server für die Dbox
Da wuerde ich mal hier anfangen: http://forum.tuxbox-cvs.sourceforge.net ... =9&t=35514
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: Sound Server für die Dbox
Ich denke, dass dürfte gehen. Ich habe damit mal angefangen, die Libs zu kompilieren,kruemel666 hat geschrieben:Darum ist meine Frage ob ich den Quelltext einfach so durch den Cross-Compiler jagen kann
die Pulseaudio braucht, das klappt schon ganz gut. Vielleicht komme ich heute noch dazu,
Pulseaudio selber zu kompilieren.
Als Soundinterface müsste /dev/sound/dsp zu nutzen sein:
Hier dürfte das OSS-Modul von Pulseaudio zum Tragen kommen, allerdings bräuchtecrw------- 1 root root 14, 3 Jan 1 1970 /dev/sound/dsp
ich in diesem Punkt etwas Hilfe, da ich Pulseaudio noch nie genutzt habe.
-
- Interessierter
- Beiträge: 33
- Registriert: Mittwoch 24. Oktober 2007, 12:07
Re: Sound Server für die Dbox
Hi,
na das klingt doch schonmal echt fantastisch!!
Ich hab das ganze mit Server und Client mal auf 2 Linux Laptops nachgestellt und es funktioniert echt super. Die Config kann ich dir bereitstellen da von der Standard nur 3 Zeilen abgeändert werden müßen um den Netzwerkzugriff zu erlauben.
Das mit dem OSS Device muß ich mir selbst erst ansehen da auf den Laptops Alsa läuft. Allerdings ist die Doku und das Wiki von Pulseaudio echt klasse.
LG
Phil
Edit:
Ein Blick in die default.pa von PulseAudio gibt das her:
Nun weiß ich aber nicht ob diese Funktion auf der Box funktioniert. Ansonsten kann man in dieser Datei die OSS Module von Hand nachladen.
Nun kann es sein das man die Module beim ./configure mit angeben muß.
na das klingt doch schonmal echt fantastisch!!
Ich hab das ganze mit Server und Client mal auf 2 Linux Laptops nachgestellt und es funktioniert echt super. Die Config kann ich dir bereitstellen da von der Standard nur 3 Zeilen abgeändert werden müßen um den Netzwerkzugriff zu erlauben.
Das mit dem OSS Device muß ich mir selbst erst ansehen da auf den Laptops Alsa läuft. Allerdings ist die Doku und das Wiki von Pulseaudio echt klasse.
LG
Phil
Edit:
Ein Blick in die default.pa von PulseAudio gibt das her:
Code: Alles auswählen
### Automatically load driver modules depending on the hardware available
load-module module-hal-detect
Code: Alles auswählen
load-module module-oss device="/dev/dsp" sink_name=output source_name=input
-
- Interessierter
- Beiträge: 33
- Registriert: Mittwoch 24. Oktober 2007, 12:07
Re: Sound Server für die Dbox
So, hier noch die 3 Zeilen für den Netzwerk Zugriff:
LG
Phil
Code: Alles auswählen
load-module module-esound-protocol-tcp auth-anonymous=1
load-module module-native-protocol-tcp auth-anonymous=1
load-module module-zeroconf-publish
Phil
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: Sound Server für die Dbox
Habe ich gemacht, es kommt diese Fehlermeldung auf der Dbox:kruemel666 hat geschrieben:Ansonsten kann man in dieser Datei die OSS Module von Hand nachladen.Code: Alles auswählen
load-module module-oss device="/dev/dsp" sink_name=output source_name=input
Code: Alles auswählen
# /bin/pulseaudio --system
W: main.c: Running in system mode, but --disallow-exit not set!
W: main.c: Running in system mode, but --disallow-module-loading not set!
N: main.c: Running in system mode, forcibly disabling SHM mode!
N: main.c: Running in system mode, forcibly disabling exit idle time!
E: oss-util.c: SNDCTL_DSP_GETCAPS: Operation not permitted
E: module.c: Failed to load module "module-oss" (argument: "device="/dev/sound/dsp" sink_name=output source_name=input"): initialization failed.
E: main.c: Module load failed.
E: main.c: Failed to initialize daemon.
E: shm.c: Assertion 'm->ptr' failed at pulsecore/shm.c:182, function pa_shm_free(). Aborting.
Aborted
Code: Alles auswählen
ioctl(fd, SNDCTL_DSP_SETDUPLEX, 0);
if (ioctl(fd, SNDCTL_DSP_GETCAPS, pcaps) < 0) {
pa_log("SNDCTL_DSP_GETCAPS: %s", pa_cstrerror(errno));
goto fail;
}
Code: Alles auswählen
case SNDCTL_DSP_GETCAPS:
printk("IOC: 10\n");
return -1;
...
case SNDCTL_DSP_SETDUPLEX:
printk("IOC: 17\n");
return -1;
beim Startversuch des pulseaudio-Daemons auf der Dbox.IOC: 17
IOC: 10
An dieser Stelle bin ich mit meinem Latein leider am Ende. Vorschläge?
-
- Interessierter
- Beiträge: 33
- Registriert: Mittwoch 24. Oktober 2007, 12:07
Re: Sound Server für die Dbox
Hi,
erstmal danke für die Klasse Arbeit!!
So tief steck ich allerdings in der Materie nicht drin. Ich werde mit deinen Erkenntnissen mal einen Thread im Pulseaudio Forum aufmachen. Oder vielleicht find ich auch in deren Developer Foren etwas.
LG
Phil
erstmal danke für die Klasse Arbeit!!
So tief steck ich allerdings in der Materie nicht drin. Ich werde mit deinen Erkenntnissen mal einen Thread im Pulseaudio Forum aufmachen. Oder vielleicht find ich auch in deren Developer Foren etwas.
LG
Phil
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: Sound Server für die Dbox
Hier der Patch: pulseaudio.diff
Einige Kommentare zum Inhalt des Patches:
- libtool >= 1.5.24 wird benötigt, dies gilt nur innerhalb des CDK, die libtool-Version des Hostsystems hat damit nichts zu tun.
- libltdl aus dem libtool-Paket wird benötigt, nicht nur /bin/libtool allein, "make xfsprogs" nicht getestet
- Erklärung für libatomic_ops.diff
- pulseaudio.diff - shm.c: Lt. strace schlägt mmap fehl, der Patch ist ein ugly workaround
- pulseaudio.diff - Makefile.in: Unwichtige Datei src/tests/rtstutter.c lässt sich wegen fehlenden NPTL-Supports nicht komplieren
- Update 20.09.2008: avia_gt_oss.c-Patches integriert
- Update 20.09.2008: Pulseaudio belegt nunmehr noch 16MB per mmap(), nicht mehr 64MB, Dbox hat nicht so viel RAM...
- Update 20.09.2008: Pulseaudio-Config an Dbox angepasst, OSS-Treiber wird korrekt geladen
- Update 20.09.2008: /dev/shm wird mit tmpfs gemountet für mmap-Support
Momentan wird ein yadd benötigt um Pulseaudio zu starten, Flash-Support kommt später,
falls Pulseaudio überhaupt auf der Dbox funktioniert.
So funktionierts:
- aktuellen CVS-checkout holen
- Patch einspielen
- ./configure + normale Optionen
- make yadd-none
- make pulseaudio
Yadd booten. yadd-none habe ich gewählt, damit kein Programm das Sounddevice belegen kann.
Dann pulseaudio starten
Einige Kommentare zum Inhalt des Patches:
- libtool >= 1.5.24 wird benötigt, dies gilt nur innerhalb des CDK, die libtool-Version des Hostsystems hat damit nichts zu tun.
- libltdl aus dem libtool-Paket wird benötigt, nicht nur /bin/libtool allein, "make xfsprogs" nicht getestet
- Erklärung für libatomic_ops.diff
- pulseaudio.diff - shm.c: Lt. strace schlägt mmap fehl, der Patch ist ein ugly workaround
- pulseaudio.diff - Makefile.in: Unwichtige Datei src/tests/rtstutter.c lässt sich wegen fehlenden NPTL-Supports nicht komplieren
- Update 20.09.2008: avia_gt_oss.c-Patches integriert
- Update 20.09.2008: Pulseaudio belegt nunmehr noch 16MB per mmap(), nicht mehr 64MB, Dbox hat nicht so viel RAM...
- Update 20.09.2008: Pulseaudio-Config an Dbox angepasst, OSS-Treiber wird korrekt geladen
- Update 20.09.2008: /dev/shm wird mit tmpfs gemountet für mmap-Support
Momentan wird ein yadd benötigt um Pulseaudio zu starten, Flash-Support kommt später,
falls Pulseaudio überhaupt auf der Dbox funktioniert.
So funktionierts:
- aktuellen CVS-checkout holen
- Patch einspielen
- ./configure + normale Optionen
- make yadd-none
- make pulseaudio
Yadd booten. yadd-none habe ich gewählt, damit kein Programm das Sounddevice belegen kann.
Dann pulseaudio starten
Code: Alles auswählen
# pulseaudio --system
Zuletzt geändert von rhabarber1848 am Montag 6. Oktober 2008, 11:20, insgesamt 3-mal geändert.
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: Sound Server für die Dbox
Beitrag entfernt, Soundtreiber-Patches nun im Hauptpatch enthalten.
Zuletzt geändert von rhabarber1848 am Samstag 20. September 2008, 14:39, insgesamt 2-mal geändert.
-
- Interessierter
- Beiträge: 33
- Registriert: Mittwoch 24. Oktober 2007, 12:07
Re: Sound Server für die Dbox
Du bist mal echt heftig! Mein Kompliment zu dieser grandiosen Arbeit. Da ich noch wirklich ein absoluter N00b bin was das Dbox Kompilieren angeht werd ich mir jetzt mal das stinky linux holen und das CDK bauen. Und dann natürlich auch gleich deine Patches testen.
LG
Phil
LG
Phil
-
- Interessierter
- Beiträge: 33
- Registriert: Mittwoch 24. Oktober 2007, 12:07
Re: Sound Server für die Dbox
Hi,
sorry wenn das jetzt evtl ne dumme frage is, aber aus google und Tuxbox Wiki werd ich ned schlau. Ich bekomm das mit den Patches nicht gebacken. Ich hab das CVS wie im Tuxbox Wiki beschrieben ausgecheckt:
das hat auch funktioniert, jetzt wollte ich die patches einspielen und das sieht so aus:
Ich finde das File aber auch niergends. Ausgeführt hab ich das ganze im Tuxbox-CVS Ordner den ich angelegt habe und in dem auch der Checkout stattfand. Entweder steh ich jetzt total aufm Schlauch oder du machst den CVS Checkout anders als ich.
LG
Phil
sorry wenn das jetzt evtl ne dumme frage is, aber aus google und Tuxbox Wiki werd ich ned schlau. Ich bekomm das mit den Patches nicht gebacken. Ich hab das CVS wie im Tuxbox Wiki beschrieben ausgecheckt:
Code: Alles auswählen
cd ~/tuxbox-cvs
set CVS_RSH=ssh && cvs -d anoncvs@cvs.tuxbox.org:/cvs/tuxbox -z3 co -P .
Code: Alles auswählen
patch -p1 --verbose -i /home/slightly/Desktop/pulseaudio.diff
Hmm... Looks like a unified diff to me...
The text leading up to this was:
--------------------------
|diff -uNr ../cvs/cdk/configure.ac ./cdk/configure.ac
|--- ../cvs/cdk/configure.ac 2008-08-16 13:05:10.000000000 +0200
|+++ ./cdk/configure.ac 2008-09-18 09:56:42.000000000 +0200
--------------------------
Patching file cdk/configure.ac using Plan A...
Hunk #1 succeeded at 505 (offset -137 lines).
Hmm... The next patch looks like a unified diff to me...
can't find file to patch at input line 26
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -uNr ../cvs/cdk/make/contrib-libs.mk ./cdk/make/contrib-libs.mk
|--- ../cvs/cdk/make/contrib-libs.mk 2007-11-19 20:01:07.000000000 +0100
|+++ ./cdk/make/contrib-libs.mk 2008-09-18 17:14:33.000000000 +0200
--------------------------
File to patch:
LG
Phil
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: Sound Server für die Dbox
Ja, ich nutze den newmake-branch:kruemel666 hat geschrieben:oder du machst den CVS Checkout anders als ich.
Code: Alles auswählen
cvs -d anoncvs@cvs.tuxbox.org:/cvs/tuxbox -z9 co -f -r newmake -P .
Fehlermeldungen beim Initialisieren des Soundinterfaces mehr. Allerdings kommt
immer noch ein Segfault beim mmap-Befehl. Leider weiss ich hier nicht mehr weiter.
Zum Debuggen auf der mit Yadd gebooteten Dbox kannst Du auf Deinem Kompilierhost
folgende make-targets nutzen: "make strace gdb"
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: Sound Server für die Dbox
Patch aktualisiert, Verbindung zwischen Dbox und PulseAudio Manager auf Workstationrhabarber1848 hat geschrieben:Hier der Patch: pulseaudio.diff
hat bereits funktioniert. Im Moment teste ich noch einen Kompilierdurchlauf, dann probiere
ich, ob der PulseAudio-Daemon Sound auf der Dbox ausgeben kann.
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: Sound Server für die Dbox
Wenn ich Sound abspielen will, kommt nun
E: module-oss.c: Assertion 'u->mixer_devmask & ((1 << 0)|(1 << 4))' failed at modules/module-oss.c:786, function sink_get_volume(). Aborting.
Aborted
-
- Erleuchteter
- Beiträge: 595
- Registriert: Donnerstag 1. Januar 2004, 16:59
Re: Sound Server für die Dbox
Also ich muss sagen, dass das eine sehr interessante Sache ist! Wenn das ausgereift ist, würde es mich freuen, wenn es ins CVS wandern würde.
-
- Developer
- Beiträge: 2183
- Registriert: Mittwoch 10. Dezember 2003, 07:59
Re: Sound Server für die Dbox
Beschreib doch bitte mal wo der configfile (default.pa?) hin muss,
was in diesem steht
und was du machst um pulseaudio zu testen
Gruß
Houdini
was in diesem steht
und was du machst um pulseaudio zu testen
Gruß
Houdini
-
- Interessierter
- Beiträge: 33
- Registriert: Mittwoch 24. Oktober 2007, 12:07
Re: Sound Server für die Dbox
Hi,
also ich muß schon sagen du hängst dich da wirklich rein. Echt Klasse von dir. Vielen Dank!!!!
LG
Phil
also ich muß schon sagen du hängst dich da wirklich rein. Echt Klasse von dir. Vielen Dank!!!!
könnte man die funktion für das get_volume nicht so umschreiben das dieses von neutrino kommt?? Die Volume steuerung kann man doch auch übers Terminal machen wenn ich mich jetzt nicht täusche. Und man kann die aktuelle Lautstärke auch auslesen damit. Könnte man diese Funktion an dieser stelle nicht einfach nutzen?? Nur so ne Idee.E: module-oss.c: Assertion 'u->mixer_devmask & ((1 << 0)|(1 << 4))' failed at modules/module-oss.c:786, function sink_get_volume(). Aborting.
Aborted
LG
Phil
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: Sound Server für die Dbox
/var/etc/pulse/system.pa ist die Konfigurationsdatei, da pulseaudio mit --system gestartetHoudini hat geschrieben:Beschreib doch bitte mal wo der configfile (default.pa?) hin muss,
wird. Die Dbox hat keine User, pulseaudio läuft als root und als systemweiter Dienst.
Defaults minus HAL + OSS-Modul, wird alles durch meinen Patch erzeugt.Houdini hat geschrieben:was in diesem steht
/bin/pulseaudio --system --verbose --log-level=4Houdini hat geschrieben:und was du machst um pulseaudio zu testen
Das Problem ist, dass in driver/dvb/drivers/media/dvb/avia/avia_gt_oss.c
nicht alle notwendigen Funktionen implementiert sind.
-
- CDK-Experte
- Beiträge: 4335
- Registriert: Donnerstag 3. April 2008, 14:05
Re: Sound Server für die Dbox
Meine C-Kenntnisse sind sehr eingeschränkt, das von Dir vorgeschlagene kann ich nicht umsetzen.kruemel666 hat geschrieben:könnte man die funktion für das get_volume nicht so umschreiben das dieses von neutrino kommt??
-
- Interessierter
- Beiträge: 33
- Registriert: Mittwoch 24. Oktober 2007, 12:07
Re: Sound Server für die Dbox
Hi
LG
Phil
meine C Kenntnisse sind auch nicht besser da ich Beruflich auf der VB Schiene bin. Aber ich werd mir das ganze mal anschaun ob im Audioplayer nicht sowas drin ist. Ansonsten arbeite ich in ner Großen Firma, da könnt ich sicher den ein oder anderen C Programmierer auftreiben.Meine C-Kenntnisse sind sehr eingeschränkt, das von Dir vorgeschlagene kann ich nicht umsetzen.kruemel666 hat geschrieben:
könnte man die funktion für das get_volume nicht so umschreiben das dieses von neutrino kommt??
LG
Phil
-
- Developer
- Beiträge: 4189
- Registriert: Sonntag 2. November 2003, 12:36
Re: Sound Server für die Dbox
Ich habe den code nicht angeschaut, aber vermutlich könnte man in dieser Funktion einfach mal einen default-Wert zurückgeben "und gut ist " - für erste Tests reicht das, wenn alles läuft kann man das später fixen.