[gelöst] dxr3 Plugin funktioniert nicht (dxr3: audiodecoder: wrong length)

  • Hallo,


    habe Schwierigkeiten das dxr3 Plugin zum Laufen zu bekommen.


    Debian Lenny, Kernel 2.6.26
    vdr-1.7.10
    dxr3-0.2.10
    pvrinput 1.7.0
    drei verschiedene Versionen von ffmpeg (bzw. libavcodec) ausprobiert.
    v4l-dvb Treiber von linuxtv.org
    Alles selbst kompiliert. (Bis auf zwei Versionen von ffmpeg, die vorkompiliert waren).


    Nach einem kurzen Test mit der dxr3 Karte zu schließen, funktioniert die Karte, wenn Audio bzw. Video einzeln an /dev/em8300_mv-0 bzw. ma-0 gesendet werden.
    Auch der vdr funktionierte teilweise (Video/OSD) ganz gut, bis auf den Ton... der ist total zerhackt und offenbar wird jedes einzelne Audio Paket im syslog mit folgender Meldung "bedacht":



    Soweit ich im Quellcode sehen kann, passiert das an folgender Stelle...


    Code
    #if LIBAVCODEC_VERSION_INT < ((51<<16)+(29<<8)+0)
                len = avcodec_decode_audio(
    #else
                len = avcodec_decode_audio2(
    #endif
                    Codec.codec_context, (short *)(&pcmbuf), &out_size,
                    const_cast<uint8_t *>(buf), length);
                if (len < 0 || out_size < 0)
                    throw WRONG_LENGTH;


    ...aber natürlich komme ich an dieser Stelle erst mal nicht mehr weiter. Vielleicht kennt sich jemand mit dem Kompilieren des Plugins oder mit dem Quellcode so gut aus, dass er etwas darüber sagen kann?


    Das ist meine erste Bekanntschaft mit dem dxr3 Plugin und ich habe sonst noch keine Erfahrung damit. Aber was ich auch versuche, das Verhalten scheint so stabil zu sein, dass ich mich wundere, beim googeln nicht viel darüber zu finden. Mir gehen langsam die Ideen aus.
    Hat jemand eine Idee oder einen Hinweis? Danke.

    Vdr1: Silverstone LC06 MiniITX, Celeron M 800MHz Low Voltage, voyage-linux 0.7.5, Mystique CaBix C2
    Vdr2: Aerocool M40 MicroATX, MSI P4MAN-L (MS-6787), Celeron D 2,8 GHz, voyage-linux 0.7.5, Mystique CaBix C2, PVR350

    7 Mal editiert, zuletzt von flimmer ()

  • Ach und noch etwas:
    Zusätzlich war die CPU-Last fast auf 100%.
    Ich denke, das sollte mit dxr3 Karte und Plugin sonst nicht so sein, oder?
    (Aber vielleicht lag das ja auch an den massenhaften Ausgaben in das syslog.)


    Vielleicht habe ich ja auch einen grundsätzlichen Denkfehler und man muss das dxr3 Plugin mit einem anderen Plugin verwenden (mplayer/xine)?
    Ich habe versucht nur pvrinput (als input) und dxr3 (als output) zu kombinieren, ist das falsch?


    Edit:
    Habe nochmal getestet: Die CPU Last ist eigentlich OK, bei ca. 10%. Das Problem mit dem Ton bleibt.
    Auf der Heimseite des DXR3 Plugins gibt es auch bereits ein Ticket zu dem Thema "audio und vdr 1.7.10". Ob ich hier wohl genau auf das gleiche Problem gestoßen bin? 8)

    Vdr1: Silverstone LC06 MiniITX, Celeron M 800MHz Low Voltage, voyage-linux 0.7.5, Mystique CaBix C2
    Vdr2: Aerocool M40 MicroATX, MSI P4MAN-L (MS-6787), Celeron D 2,8 GHz, voyage-linux 0.7.5, Mystique CaBix C2, PVR350

    5 Mal editiert, zuletzt von flimmer ()

  • Habe die Lösung inzwischen in den Aktivitäten des dxr3 Projektes gefunden. Im repository in der change log von dxr3audiodecoder.c habe ich gesehen, dass die nötige Anpassung schon am 5.12.09 erfolgte.


    Allerdings war die Änderung trotzdem noch nicht im neuesten Download Paket (Version 0.2.10) mit angegebenem Datum 29.12.09 enthalten.


    Mit dieser Änderung vom 5.12.09 ist Audio bei mir OK (wenn auch nicht von guter Qualität).
    Ich habe aber noch nicht die neueste Version aus dem Repository getestet.


    Irgendwo im Netz habe ich gelesen, dass jemand das gleiche Problem mit dxr3 Plugin 0.2.8 hatte und durch ein Paket-Update beheben konnte. Ich ziehe für mich daraus den Schluss, dass es wohl an der "Spitze der Entwicklung" leicht passiert, dass die neuesten Änderungen im dxr3-Plugin und in libavcodec nicht kompatibel sind. :rolleyes:
    Nächstes mal versuche ich bei Probleme dann gleich, aus den repisotories kompatible Versionen zusammenzubauen. :coolgr

    Vdr1: Silverstone LC06 MiniITX, Celeron M 800MHz Low Voltage, voyage-linux 0.7.5, Mystique CaBix C2
    Vdr2: Aerocool M40 MicroATX, MSI P4MAN-L (MS-6787), Celeron D 2,8 GHz, voyage-linux 0.7.5, Mystique CaBix C2, PVR350

    2 Mal editiert, zuletzt von flimmer ()

Jetzt mitmachen!

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