Tobias (MEG RL 940, KH 120 A, BK XLS200, Nubert AW411)

audiophile Biografien unserer Mitglieder
Forumsregeln
Bei Vorstellungen steht die persönliche, subjektive Erfahrungswelt des Verfassers im Vordergrund. Insbesondere soll die Vorstellung als "Visitenkarte" des Mitglieds gewürdigt bzw. respektiert werden. Dialoge sollten hier vorrangig mit dem Verfasser und nicht mit Dritten geführt werden. Siehe auch die Forumsregeln.

Beitragvon Pittiplatsch » 07.05.2017, 15:30

bisher hat mich das Thema brutefir und oveflow gefolgt vom dropout und manuellem neustart nie wirklich gestoert. Selbst mein Heimkino-setup lief recht stabil (sehr selten mal einen dropout). Dann hat es mich gepackt und ich hab mal wieder upgedated -seit dem das gleiche Bild: staendige dropouts ... total inakzeptabel.

Das wird also erstmal die Hauptbaustelle. Seit ich Filme mit Korrektur gehoert habe will ich nicht mehr zurueck. Noch schlimmer: wenn jetzt mal einen ohne anschaue verdirbt mir das den Spass ...

So schwer kann das ja nicht sein. Der brutefir-code ist ja recht uebersichtlich und soweit ich gesehen hab passiert das ja beim alsa-interfacing: bfio_alsa.c - mal schauen was ich so hin-baue.

es scheint auf bestimmte setups beschraenkt zu sein. Mein betagter PC mit Core2Duo hat das update klaglos ueberlebt....

Viele Gruesse,
Tobias
Bild
Pittiplatsch
Aktiver Hörer
 
Beiträge: 348
Registriert: 26.02.2012, 10:48

Beitragvon Buschel » 07.05.2017, 16:49

Hallo Tobias,

ärgerlich, dass es dich jetzt auch "erwischt". Leider kann ich die drop-outs nicht provozieren, ansonsten könnte ich schneller meinen neuesten Ansatz überprüfen. Wenn man in meinem Setup während des Playbacks die playback buffer der snd-aloop betrachtet, fällt auf, dass diese recht klein sind, und dass kodi immer in float ausgibt, wenn möglich. Also Pseudocode sieht das wie folgt aus:
$ cat /proc/asound/card/...
format: FLOAT_LE
period_size: 2205
buffer_size: 8820


Damit man in kodi selbst definierte Senken auswählbar bekommt, muss man offenbar dmix-devices anlegen. Damit kann man dann playback devices definieren, die sowohl S32_LE als auch feste und größere buffer benutzen. Meine aktuelle asound.conf sieht deswegen bzgl. der snd-aloop wie folgt aus (Tippfehler möglich):

pcm.aloopp {
   type hw
   card Loopback
   device 0
}

pcm.brutefir_all_formats {
   type plug
   slave.pcm "aloopp"
}

pcm.brutefir_44k1_32b {
   type dmix
   ipc_key 1024
   slave {
      pcm "aloopp"
      format "S32_LE"
      rate 44100
      period_size 1024
      buffer_size 16384
   }
}


Mit diesem Setup kann ich jetzt "brutefir_44k1_32b" als Audiosenke auswählen und es werden die entsprechend größeren buffer mit S32_LE als Ausgabeformat verwendet. Ich konnte bisher leider nicht überprüfen, ob das die dropu-outs beseitigt. Vielleicht ist das bei deinem Setup ja einen Versuch wert.

Viele Grüße,
Andree
Bild
Buschel
Aktiver Hörer
 
Beiträge: 505
Registriert: 12.12.2013, 20:12
Wohnort: Raum Karlsruhe

Beitragvon Pittiplatsch » 07.05.2017, 18:10

Hallo Andree,

super das wir das von verschiedenen Seiten angehen. Meiner Meinung nach ist ein Fehler im brutefir code nicht so unwahrscheinlich:

bei mir kommt folgender Fehler:

bfio_read_error:
    switch (n) {
    case -EPIPE:
        if (as->ignore_xrun) {
            fprintf(stderr, "ALSA I/O: overflow! (read on %s)\n",
                    as->device);


da wo eigfentlich das as->device ausgegeben werden sollte steht nur quatsch in stderr. Nachdem "as" aus einer globalen Variable kommt kann das nur passieren wenn irgendwas den Speicher zerschiesst. Ich hab erstmal alle compiler-warnings gefixt und zumindest laeuft diese version jetzt im 2-Kanal Setup.
Ich werde mein 5.1 - Kanal Setup so lassen, weil dort der Fehler recht zuverlaessig auftritt. An einen Alsa-Fehler glaube ich erstmal nicht: wenn es ein alsa-Problem haette wuerde man das ohne brutefir zumindest auch ab und an mal knacksen hoehren (overrun/underrun).

Mal schauen ob ich heute Abend mal dazu komme meine brutefir Frickelei am HTPC zu testen. Ich vermute eine haessliche multithreading-geschichte; schwer zu debuggen ...

Viele Gruesse,
Tobias
Bild
Pittiplatsch
Aktiver Hörer
 
Beiträge: 348
Registriert: 26.02.2012, 10:48

Beitragvon Buschel » 07.05.2017, 19:34

Hallo Tobias,

Pittiplatsch hat geschrieben:super das wir das von verschiedenen Seiten angehen.

Nach deiner Analyse ist die von mir vermutete Ursache unwahrscheinlich. Der größere Buffer würde aber zumindest du Robustheit bei höherer Systemlast erhöhen. Schaden wird das nicht. ;)

Pittiplatsch hat geschrieben:da wo eigfentlich das as->device ausgegeben werden sollte steht nur quatsch in stderr. Nachdem "as" aus einer globalen Variable kommt kann das nur passieren wenn irgendwas den Speicher zerschiesst.

:shock: Oha.
Als "stumpfe Maßnahme" kannst du ein paar MB an buffer vor und nach der Variable "as" allokieren. Und dann mal schauen was und wie weit da reingeschrieben wird.

Pittiplatsch hat geschrieben:Ich hab erstmal alle compiler-warnings gefixt und zumindest laeuft diese version jetzt im 2-Kanal Setup.

Wenn das dein Problem behebt, hätte ich an einem patch Interesse. :mrgreen:

Viele Grüße,
Andree
Bild
Buschel
Aktiver Hörer
 
Beiträge: 505
Registriert: 12.12.2013, 20:12
Wohnort: Raum Karlsruhe

Beitragvon Pittiplatsch » 07.05.2017, 21:56

Hallo Andree,

so einfach war es scheinbar doch nicht - auf meinem HTPC ist es nach wie vor recht zuverlaessig abgeschmiert. Die Idee mit dem dummy variablen davor und danach hatte ich auch schon. Das werde ich als naechstes angehen.

Viele Gruesse,
Tobias
Bild
Pittiplatsch
Aktiver Hörer
 
Beiträge: 348
Registriert: 26.02.2012, 10:48

Beitragvon Pittiplatsch » 08.05.2017, 20:03

ok, die dummy mem-bloecke haben auch nichts gebracht. Ich werde jetzt mal etwas grosszuegiger debugausgaben einbauen - das wird wohl eine laengere Geschichte... Gut das ich am PC auch anstaendige LS habe - dort laeuft brutefir auch bemerkenswert stabil:).
Bild
Pittiplatsch
Aktiver Hörer
 
Beiträge: 348
Registriert: 26.02.2012, 10:48

Beitragvon Pittiplatsch » 08.05.2017, 20:34

mist zu spaet fuer ein edit ... warum debug-Ausgaben wenn man bequem debuggen kann ... Anjuta draufgeschmissen und gdb drangehaengt und einen Breakpoint. Was soll ich sagen: natuerlich laeuft es so schon laenger stabil als jemals vorher ... ich werde nachher nochmal runter ins HK schauen ob er bei meinem Breakpoint vorbeigelaufen ist :)
Bild
Pittiplatsch
Aktiver Hörer
 
Beiträge: 348
Registriert: 26.02.2012, 10:48

Beitragvon Buschel » 08.05.2017, 20:35

Wie war das noch mit Systemen, die sich durch Beobachtung verändern? 8)
Bild
Buschel
Aktiver Hörer
 
Beiträge: 505
Registriert: 12.12.2013, 20:12
Wohnort: Raum Karlsruhe

Beitragvon Pittiplatsch » 08.05.2017, 20:40

tja wenn das halt die loesung ist - die peformance passt auch mit angehangtem gdb :mrgreen:

nee im Ernst: es ist extrem merkwuerdig, zumal ich zum debuggen nicht mal als root laufen lasse :shock: - also doch parallel noch ein paar debug-ausgaben einbauen ...
Bild
Pittiplatsch
Aktiver Hörer
 
Beiträge: 348
Registriert: 26.02.2012, 10:48

Beitragvon Pittiplatsch » 15.08.2017, 13:49

Nachdem ja jetzt auf der brutefir Seite alle Probleme (mehr oder weniger) geloest sind laufen jetzt alle meine Anlagen raumkorrigiert. Falls Interesse an einer Zusammenfassung der Erkenntnisse besteht schreibe ich das auch gerne mal bei Gelegenheit zusammen.

Im Moment gibt es also ausser Musikhoeren nix mehr zu tun bis mal wieder was abraucht und ersetzt werden muss ;).

Nachdem ich ja Vertreter der Fraktion bin die Tiefbass unter 40Hz fuer verzichtbar haelt bin ich jetzt mit Bjoerks Vulnicura erstmalig auf eine Scheibe gestossen die wirklich ohne Tiefbass sinnentstellt wird. Als Gegenbeispiel kann ich mir Saint Seans Orgel Sinfonie auch sehr gut auf meinen KH120 anhoeren* ohne das mir musikalisch etwas fehlt, aber bei der Vulnicura sind die Bereiche unterhalb 40Hz schon recht essentiell :).

Viele Gruesse,
Tobias

*ohne Frage macht auch das mehr Spass wenn man die unteren Oktaven wiedergeben kann
Bild
Pittiplatsch
Aktiver Hörer
 
Beiträge: 348
Registriert: 26.02.2012, 10:48

Beitragvon Pittiplatsch » 18.08.2017, 21:25

Durch die Rumprobiererei mir brutefir musste ich zwangsweise eine Weile mit Audacious hoeren. Vom Bedienkomfort fuer mich als Rhythmbox-Benutzer ein absoluter Graus. Nun hatte ich etwas Zeit und konnte RB auch mit brutefir zum Laufen zu kriegen. Falls mal jemand am PI selbiges vorhat: RB krallt sich das default audio device und sobald man RB installiert kommt pulse mit ob man will oder nicht. Es recicht also pulseaudio + das gstreamer pulseaudio plugin verschwinden zu lassen und schon funktioniert es. Als Bonus gehen jetzt an meinem Keyboard die Multimediatasten fuer die RB Bedienung (happy!!!).
Als Nebeneffekt kann ich jetzt beide player klanglich vergleichen. Beide geben direkt (RB ueber die Zwischenstation gstreamer) an Alsa ueber brutefir aus. Unterschied fuer meine Ohren: null. Somit stimmt mein Weltbild wieder und ich kann in Ruhe Musik hoeren (Im Moment nach einer laengeren Metal-Phase mal wieder Oscar Peterson).

Viele Gruesse,
Tobias
Bild
Pittiplatsch
Aktiver Hörer
 
Beiträge: 348
Registriert: 26.02.2012, 10:48

Vorherige

Zurück zu „wie ich zum aktiven Hören kam“

Wer ist online?

Mitglieder in diesem Forum: Google [Bot], treble trouble und 8 Gäste