bitstreamout: Bei Stereo hohe Festplattenaktivität

  • Guten Morgen,


    ich habe ein merkwürdiges Verhalten beim Einsatz des bitstreamout-Plugins in Verbindung mit dem VDR 1.3.37: Sendet der Sender im DD, so ist alles in Ordnung und mein Reciever gibt auch entsprechend 5.1 oder 2.0 aus. Sendet der Sender aber im Stereo-Modus (z.B. ARD), dann beobachte ich eine hoch Festplattenaktivität. Schalte ich den Sender auf einen DD oder stelle das Plugin ab, so hören die vielen Festplattenzugriffe sofort auf.


    Kann sich da jemand eine Ursache und auch eine Lösung für das Problem vorstellen?


    OS ist SuSE 10


  • Noe, aber du machst es einem auch sehr schwer. Keine /var/log/messages
    oder sonst irgendeine Information, die helfen könnte.


      Werner

  • *sich mit der Hand an die Strin haut*
    Sorry. Das hatte ich ganz vergessen. Und danke für den Tipp. Der Verursache der Festplattenaktivität ist natürlich der syslog. Denn auf Stereokanälen werden jede menge Fehler gemeldet:



    Dann gleich mal die Hardware:
    00:00.0 Host bridge: VIA Technologies, Inc. VT8385 [K8T800 AGP] Host Bridge (rev 01)
    00:0c.0 Multimedia controller: Philips Semiconductors SAA7146 (rev 01)
    00:11.0 ISA bridge: VIA Technologies, Inc. VT8237 ISA bridge [KT600/K8T800/K8T890 South]
    00:11.5 Multimedia audio controller: VIA Technologies, Inc. VT8233/A/8235/8237 AC97 Audio Controller (rev 60)


    Danke und Sorry. Aber nun die neue Frage: Wie bekomme ich den Fehler weg?

  • Zitat

    Original von mad mole
    Danke und Sorry. Aber nun die neue Frage: Wie bekomme ich den Fehler weg?


    In der Datei /usr/src/linux/sound/core/pcm_lib.c in der Funktion snd_pcm_tick_prepare()
    die Zeilen:

    Code
    } else if (runtime->silence_size > 0 &&
                               runtime->silence_filled < runtime->buffer_size) {
                            snd_pcm_sframes_t noise_dist;
                            noise_dist = snd_pcm_playback_hw_avail(runtime) runtime->silence_filled;
                            snd_assert(noise_dist <= (snd_pcm_sframes_t)runtime->silence_threshold, );
                            frames = noise_dist - runtime->silence_threshold;
                    }

    durch

    Code
    } else if (runtime->silence_size > 0 &&
                               runtime->silence_filled < runtime->buffer_size) {
                            snd_pcm_sframes_t noise_dist;
                            noise_dist = snd_pcm_playback_hw_avail(runtime) + runtime->silence_filled;
                            if (noise_dist >= (snd_pcm_sframes_t)runtime->silence_threshold)
                                     frames = noise_dist - runtime->silence_threshold;
                    }

    ersetzen und die ALSA Module neu bauen und installieren.
    Feedback welcome, d.h. die Meldung ist dann weg, die Frage ist allerdings,
    ob dann das ganze bei einem Underun des HW-Buffers der Soundkarte
    auch funktioniert, d.h. ob dann statt eines Neustarts Stille gespielt wird.


      Werner

  • Naja, doch noch ein Problem. Die Tonausgabe ist etwa 200-400ms verzögert. Vorher war das nur bei Stereo so und jetzt ist es auch bei AC3 der Fall. Kann man das irgendwie ausgleichen? Es ist recht nervig zuerst die Lippen zu sehen und dann die Sprache zu hören.

  • Zitat

    Original von mad mole
    Naja, doch noch ein Problem. Die Tonausgabe ist etwa 200-400ms verzögert. Vorher war das nur bei Stereo so und jetzt ist es auch bei AC3 der Fall. Kann man das irgendwie ausgleichen? Es ist recht nervig zuerst die Lippen zu sehen und dann die Sprache zu hören.


    Neue firmware 0x2622, da diese den STC Wert erst dann ungleich 0 setzt,
    wenn dieser tatsächlich aktuell ist. Den Wert von PCMinitial nicht zu klein
    setzen, da sonst ein underun im HW-Buffer der Soundkarte einen Neustart
    triggert und das braucht Zeit. Alle anderen Delay-Werte auf `0' setzen.
    Wenn es die Soundkarte und der Treiber es unterstützt, MemoryMap
    einschalten ... und VariableIO ebenfalls. Allerdings kann es bei Mpeg-Audio
    wegen des notwenigen Dekodieren immernoch zu einer Verzögerung kommen.


      Werner

  • Zitat

    Original von mad mole
    Danke, hat leider nicht geholfen.
    Die neueste Firmware habe ich schon. Alle Delay-Werte auf 0. VariableIO auf ON, MM geht leider nicht.


    Also mit PCMinitial auf 5 und alle anderen Delay-Werte auf 0 ist bei mir
    AC3 exakt syncron. Mpeg-Audio geht bei mir von J2 zur Soundkarte.
    Eventuell ist Deine Soundkarte sehr langsam beim Start, da kann
    das plugin selbst bei maximalen PCMinitial nicht viel machen, den einen
    Weg in die Vergangenheit gibt es nicht.


      Werner

  • Und mal wieder neues...


    Nun habe ich keine Verzögerung mehr bei AC3 und Stereo. Dieses konnte ich durch das Abschalten der Option "VariableIO" erreichen. Somit sieht meine Plugineinstellung so aus:


    MP2Enable On
    Mp2Out Dither
    Card 0
    Device 2
    Delay/Live Delay: 0
    PCMinital: 7
    Mp2offset: 0
    IEC958: Pro
    VarableIO: No
    MemoryMap: No

  • Hi,


    ich habe das gleiche Problem wie Madhole.
    Ich versuche jedoch seit 2 Tagen vergeblich die ALSA-Module neu zu komillieren. Bei meienm SuSE 10.0-default Kernel kompilliert er nicht durch (bricht immer beim saaxxxx_vv ab) und einen Kernel von Kernel.org bekomme ich umms Verrecken nicht ans laufen. Er will einfach das Root-Verzeichnis nicht eingebunden. Bei meinen anderen Maschienen hatte ich nie solche Probleme.
    Gibt es da noch irgendwelche Möglichkeiten, die ich übersehen habe???


    Gruß
    Boris

Jetzt mitmachen!

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