softhddevice, alsa buffer underrun Fehler

  • Ich teste seit einigen Tagen ein neues VDR System mit einer GT640 (ASUS) auf einem DH77EB Board. Ich nutze yaVDR 0.5.0 mit softhddevice 0.6.0rc2. Dabei tauchen immer wieder diese alsa buffer underruns auf. In seltenen Fällen friert dabei die Ausgabe ein und lässt sich durch Umschalten wieder starten.



    Ich habe es nun mit yaVDR 0.5.0 (vdr 1.7.27) mit dem Standardkernel und Nvidia-Treiber versucht als auch mit einem 3.8.5er Kernel und dem 304.84 Treiber aus dem x-updates ppa. Die exakt gleiche Softwarekonfiguarion läuft auf zwei anderen Systemen ohne diesen Fehler (bzw. er kommt extrem selten und tritt denn nur einmal auf). Der Fehler tritt unabhängig von der Datenquelle auf (CineCT oder streamdev-client) und ist unabhängig vom angeschlossenen Display (beide auf 50 Hz getestet) und tritt sowohl bei Audio-passthrough als auch bei direkter Ausgabe auf. Es scheint also an der Hardwarekombination zu liegen, also entweder der GT640 generell oder meine GT640 hat einen Fehler.


    Ist ein solcher Fehler bei jemand anderem schon aufgetreten? Wie konnte er behoben werden?

  • Setze mal die Pufferzeit im Pluginsetup unter Audio höher.
    Vielleicht ist es dann weg. Die 0 entspricht 366ms also 400 oder noch größer.


    Johns

    Sag mir, wo die Developer sind. Wo sind sie geblieben? . . . . . . . . . . . . . . . . . . . . SoftHdDevice - A software and GPU emulated HD output device plugin.
    Sag mir, wo die Developer sind. Was ist geschehn?


    Client0: Crown CW02 MSI_C847MS-E33 Zotac_GT640_passiv Cine-S2 iMon-MCE / streamdev softhddevice
    Client1: Lian_Li_PC-Q09FB ASRock_H67M-ITX/HT I3-2100 ASUS_ENGT520_passiv / streamdev softhddevice
    Test: Lian_Li_PC-Q09R Asus C60M1-I / streamdev
    Server0: Dockstar TT-S2-3600-USB / streamdev
    Server2: Lian_Li_PC-Q07R Intel_DH61DL G620 WD20EARX 90W PicoPSU Cine-S2+DuoFlex-S2+DuoFlex-CT / streamdev / 22 Watt Verbrauch

  • Also 400 ms (hatte ich schon vorher versucht) hat noch nichts gebracht, jetzt steht es auf 500 ms und läuft seit 30 min ohne Fehler. Ich nehme an, dass die dritte Spalte den Füllstand des Puffers angibt? Die sinkt zeitweise bis auf unter 200 ab, während bei meinem Haupt-VDR mit Standardwert sehr selten mal einen Wert unter 300 ausgibt. Heißt das, dass die CPU zu lange braucht bis sie den Interrupt beantwortet? Würde es etwas bringen, den Interrupt auf einen anderen Kern zu pinnen?


    EDIT: Nachdem herumspielen mit den Interrupts keine deutliche Verbesserung gebracht hat habe ich mal bdl_pos_adj=64 an snd_hda_intel übergeben. Seitdem ist der Füllstand nicht mehr unter 300 gesunken. Ich denke, dass ich nun Audiopuffer wieder auf Standard zurückstellen kann.


    EDIT2: Okay, zu früh gefreut. Der Füllstand ist zwar am Anfang hoch, aber nach so ca. 30 min (nach dieser Zeit kamen mit dem Standardwert die ersten Fehler) fällt er irgendwie stark ab und schwank. Naja, im Moment scheinen die 500 ms noch zu reichen.


  • Code
    Apr  1 15:02:39 hestia vdr: video: 16:19:06.459  +42  206   0/\ms  74+7 v-buf


    Ja die "206" sind der Füllstand des Audio=Alsa Buffers.
    Wenn der mit der Zeit sinkt, dann scheint dein Ton etwas zu schnell zulaufen.
    Dafür gibts die Option Audio Drift Korrektur, leider macht die die Sache meist
    schlechter. Und für AC3 Passthrough geht es sowieso nicht gescheit.


    Johns

    Sag mir, wo die Developer sind. Wo sind sie geblieben? . . . . . . . . . . . . . . . . . . . . SoftHdDevice - A software and GPU emulated HD output device plugin.
    Sag mir, wo die Developer sind. Was ist geschehn?


    Client0: Crown CW02 MSI_C847MS-E33 Zotac_GT640_passiv Cine-S2 iMon-MCE / streamdev softhddevice
    Client1: Lian_Li_PC-Q09FB ASRock_H67M-ITX/HT I3-2100 ASUS_ENGT520_passiv / streamdev softhddevice
    Test: Lian_Li_PC-Q09R Asus C60M1-I / streamdev
    Server0: Dockstar TT-S2-3600-USB / streamdev
    Server2: Lian_Li_PC-Q07R Intel_DH61DL G620 WD20EARX 90W PicoPSU Cine-S2+DuoFlex-S2+DuoFlex-CT / streamdev / 22 Watt Verbrauch

  • bei mir sieht das ganze so aus (s.u.)


    selbst wenn ich den Puffer auf 900 erhöhe gibt es kaum Besserung. Wenn ich umschalte, läuft alles für einige Sekunden normal. Danach wird der Ton irgendwie deutlich "leiser" (so als ob was fehlt) und außerdem fängt das Bild an zu flackern und es gibt Aussetzer.


    Ich bin mir nicht mehr sicher seit wann das Problem auftritt, u.a. habe ich vor kurzem den Receiver ausgetauscht. Da ich meistens XBMC nutze und kaum fernsehe ist es mir erst irgendwann aufgefallen und daher weiß ich nicht mehr, welche Änderung ggf. dazu geführt hat...


    http://pastebin.com/t3Rn9dkh

  • ok es gab offenbar ein Problem mitder Bildwiederholrate. Nach Korrektur auf 50 Hz alles soweit einwandfrei.


    Aber sporadisch alle paar Minuten habe ich kurze Tonaussetzer die so aussehen:

    Code
    May 12 20:26:36 wohn vdr: video: slow down video, duping frameMay 12 20:26:36 wohn vdr: video:  0:23:36.461  +41  615   0/\ms  45+2 v-buf

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!