Eigenes VDR-Plugin kein Sound über HDMI alsa-lib

  • Moin,


    Ich schreibe ein eigenes (VA-API/VDPAU/Software) Ausgabe Plugin und habe mit der Integration des Tonteils angefangen.
    So weit klappt alles ganz gut. Nur kann ich nichts hören, wenn das Plugin den Ton über HDMI ausgibt.
    Stell ich alsa auf Analogen Ausgang, kommt der Ton über die Speaker. Nun habe ich ein Testprogramm geschrieben, was mein
    Plugin verwendet und als User VDR ausgeführt, auch hier ist der Ton über HDMI zuhören.


    Nur als Plugin im VDR klappt nur HDMI nicht!
    Was macht VDR was eine Ausgabe über HDMI verhindert?


    Johns


    P.S.:
    Eine Idee habe ich noch, werde heute Abend noch vdr-bitstreamout ausprobieren.

    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

    Einmal editiert, zuletzt von johns ()

  • Moin johns,


    öhm das frontend nur im Plugin und nicht getrennt ala xine/sxfe ist ... schade (Der vdr muss mit X neu gestartet werden und darf erst nach X gestartet werden ?).
    Aber ich will hier keine alte Diskussion aufkochen. Also vergiss es :)


    Nur eine Idee:
    Kann es sein das du aus dem Plugin heraus die Tonausgabe bereits startest wenn X noch nicht läuft ? Für die Tonausgabe muss der nvidia Treiber laufen und X auch, sonst funktioniert das nicht. (GT430/GT520 abgenommen).


    Auch wenn ich denke das du das sicher beachtet hast ... man weiss ja nie :) Ansonsten eine Wechselwirkung des Decodes mit der Tonausgabe ? (Decoder und alsa Testprogramm gleichzeitig laufen lassen.)


    Aber ich überlass das Feld ab hier lieber den informierteren :)

    VDR User: 87 - LaScala LC14B - LG/Phillipps 6,4" VGA Display | Asrock H61/U3S3 | G630T | 1x 16GB Mobi Mtron 3035 1x WD 750GB 2,5" |1x L4m DVB-S2 Version 5.4

  • Ob Plugin oder Frontend (Client) bitte hier http://www.vdr-portal.de/board…-plugin-vs-ausgabe-client diskutieren.


    Sowohl vdr als auch das Testprogramm starte ich vom Terminal unter X11 aus.


    media-plugins/vdr-bitstreamout lässt sich leider nicht bauen und ich habe keinen Bock in C++ Bugs zusuchen.


    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

  • Zitat

    (Der vdr muss mit X neu gestartet werden und darf erst nach X gestartet werden ?).


    Ich mach das jetzt auch schon so und sehe da jetzt nicht das Problem , wenn ich nicht gerade den fetten WM/DE mitstarten lasse ;)


    Zitat

    Nur als Plugin im VDR klappt nur HDMI nicht!
    Was macht VDR was eine Ausgabe über HDMI verhindert?


    GArnichts, hoert sich eher wie ein Bug in deinem PLugin an.
    Ohne Codeschnipsel kann man eh nur raten.

  • Den Sourcecode hätte ich schon längst angehängt, aber leider habe ich die aktuelle Version inzwischen schon zweimal versehentlich mit einer alten Version überschrieben.
    Nun ein Internet Backup des dritten Versuchs: http://johns.users.sourceforge…dr-softhddevice-0.0.1.tgz


    Analog funktioniert es ja. Nur HDMI will nicht sobald vdr läuft. Teste ich in cDevice::Start bzw. cDevice::Stop kommt ein Ton. Teste ich in cDevice::PlayAudio, will es nicht.
    Irgendwelche Signals oder was anderes ist dann abgeschaltet oder blockiert, was alsa für HDMI braucht.


    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

  • So habe nun auf einem anderen Rechner mit HDMI Anschluss getestet. Da funktioniert die HDMI Ausgabe.
    Es ist also die Kombination Plugin/VDR/Rechner/TV, werde als nächstes mal einen anderes TV testen.


    Es kann also jeder testen der Lust hat. Ausgabe device wird "default" genommen, kann also über /etc/asound.conf ... konfiguriert werden.


    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

  • hi


    fileicht weist du wos hier klemen könnte


    Nov 26 19:52:34 freevdr vdr: [22155] switched to user 'freevdr'
    Nov 26 19:52:34 freevdr vdr: [22155] codeset is 'UTF-8' - known
    Nov 26 19:52:34 freevdr vdr: [22155] found 27 locales in /usr/share/locale
    Nov 26 19:52:34 freevdr vdr: [22155] no locale for language code 'srb,srp,scr,scc'
    Nov 26 19:52:34 freevdr vdr: [22155] loading plugin: /usr/lib/vdr/plugins/libvdr-setup.so.1.7.21
    Nov 26 19:52:34 freevdr vdr: [22155] loading plugin: /usr/lib/vdr/plugins/libvdr-softhddevice.so.1.7.21
    Nov 26 19:52:34 freevdr vdr: [22155] ERROR: /usr/lib/vdr/plugins/libvdr-softhddevice.so.1.7.21: undefined symbol: snd_mixer_first_elem
    Nov 26 19:52:34 freevdr vdr: [22155] deleting plugin: setup
    Nov 26 19:52:34 freevdr vdr: [22155] max. latency time 0 seconds
    Nov 26 19:52:34 freevdr vdr: [22155] exiting, exit code 2

    Jeder sollte sein Leben so leben können wie er/sie es möchte, frei und
    unabhängig, in der Not anderen zur Seite stehend, nie vergessen was man
    ist, eben einfach nur Mensch sein mit allen Schwächen und Stärken
    Lieber stehend sterben als ewig gebückt leben

  • Nicht mit -lasound gelinkt.


    Kein alsa Development Packet installiert?

    Code
    pkg-config --libs alsa
    -lasound


    Ansonsten prüfen ob libvdr-softhddevice.so die Runtime Libraries hat

    Code
    ldd libvdr-softhddevice.so 
    ...
    libasound.so.2 => /usr/lib64/libasound.so.2 (0x00007f54443a2000)
    ...


    Falsche Version glaube ich nicht, da ich diesen Code schon seit Jahren verwende.
    Aber ich verwende alsa-lib 1.0.24.


    Hat zwar nichts mit diesen Fehler zutun,
    Ach und vdr sollte in der Gruppe audio sein, um auf die Devices zuzugreifen.


    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

  • hi


    root@freevdr:/usr/lib/vdr/plugins# pkg-config --libs alsa
    -lasound
    root@freevdr:/usr/lib/vdr/plugins# ldd libvdr-softhddevice.so.1.7.21
    linux-gate.so.1 => (0x00b3f000)
    libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0x00e88000)
    libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0x00c14000)
    libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0x00468000)
    libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0x00331000)
    /lib/ld-linux.so.2 (0x00b5c000)
    root@freevdr:/usr/lib/vdr/plugins#
    system ist ein minimal ubuntu oneiric
    mfg det

    Jeder sollte sein Leben so leben können wie er/sie es möchte, frei und
    unabhängig, in der Not anderen zur Seite stehend, nie vergessen was man
    ist, eben einfach nur Mensch sein mit allen Schwächen und Stärken
    Lieber stehend sterben als ewig gebückt leben


  • system ist ein minimal ubuntu oneiric


    det, du musst dich noch an den neuen Linker gewöhnen, der ist so doof wie Bohnenstroh und macht nur noch einen single pass.


    Ändere mal im Makefile:

    Code
    $(CXX) $(CXXFLAGS) $(LDFLAGS) -shared $(OBJS) -o $@


    in:

    Code
    $(CXX) $(CXXFLAGS) -shared $(OBJS) -o $@ $(LDFLAGS)


    Dann sollte es eigentlich gehen. Wäre schön wenn johns das ändern würde. Der alte Linker kommt mit beiden Formen klar.


    Hat zwar nichts mit dem Problem zu tun, aber eigentlich sollte diese Variable LDLIBS heißen und in LDFLAGS sollten wirklich nur Flags stehen. Da das aber inzwischen alle so machen, ist der Zug wohl abgefahren.


    Gerald


    HP Proliant MicroServer Gen8, Xeon E3-1230, 12 GB RAM, 3xWD red 2TB im RAID 5, 2xSundtek MediaTV Home DVB-C/T, L4M TWIN-C/T, Ubuntu Server 14.04.1, Plex Media Server
    Samsung UE55H6470

  • hi
    1 Fehler ist weg mit der enderung von gda


    root@freevdr:/usr/local/src/vdr-test/vdr-1.7.21# ldd libvdr-softhddevice.so.1.7.21
    linux-gate.so.1 => (0x0083d000)
    libasound.so.2 => /usr/lib/i386-linux-gnu/libasound.so.2 (0x0086c000)
    libavcodec.so.53 => /usr/lib/i686/cmov/libavcodec.so.53 (0x00eb4000)
    libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0x00110000)
    libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0x00c16000)
    libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0x004d7000)
    libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0x00b5b000)
    libdl.so.2 => /lib/i386-linux-gnu/libdl.so.2 (0x001fb000)
    libpthread.so.0 => /lib/i386-linux-gnu/libpthread.so.0 (0x00c8b000)
    librt.so.1 => /lib/i386-linux-gnu/librt.so.1 (0x00200000)
    libavutil.so.51 => /usr/lib/i686/cmov/libavutil.so.51 (0x009c1000)
    libvpx.so.0 => /usr/lib/libvpx.so.0 (0x00d96000)
    libvorbisenc.so.2 => /usr/lib/i386-linux-gnu/libvorbisenc.so.2 (0x00249000)
    libvorbis.so.0 => /usr/lib/i386-linux-gnu/libvorbis.so.0 (0x00682000)
    libtheoraenc.so.1 => /usr/lib/libtheoraenc.so.1 (0x003c1000)
    libtheoradec.so.1 => /usr/lib/libtheoradec.so.1 (0x00a8b000)
    libspeex.so.1 => /usr/lib/i386-linux-gnu/sse2/libspeex.so.1 (0x00209000)
    libschroedinger-1.0.so.0 => /usr/lib/libschroedinger-1.0.so.0 (0x00405000)
    libgsm.so.1 => /usr/lib/libgsm.so.1 (0x0022a000)
    libva.so.1 => /usr/lib/libva.so.1 (0x00653000)
    libz.so.1 => /lib/i386-linux-gnu/libz.so.1 (0x004b3000)
    /lib/ld-linux.so.2 (0x00e94000)
    libogg.so.0 => /usr/lib/i386-linux-gnu/libogg.so.0 (0x004c8000)
    liborc-0.4.so.0 => /usr/lib/liborc-0.4.so.0 (0x006ad000)


    dafür kommt jetzt das


    Nov 26 23:12:17 freevdr vdr: [13940] VDR version 1.7.21 started
    Nov 26 23:12:17 freevdr vdr: [13940] switched to user 'freevdr'
    Nov 26 23:12:17 freevdr vdr: [13940] codeset is 'UTF-8' - known
    Nov 26 23:12:17 freevdr vdr: [13940] found 27 locales in /usr/share/locale
    Nov 26 23:12:17 freevdr vdr: [13940] no locale for language code 'srb,srp,scr,scc'
    Nov 26 23:12:17 freevdr vdr: [13940] loading plugin: /usr/lib/vdr/plugins/libvdr-setup.so.1.7.21
    Nov 26 23:12:17 freevdr vdr: [13940] loading plugin: /usr/lib/vdr/plugins/libvdr-softhddevice.so.1.7.21
    Nov 26 23:12:17 freevdr vdr: [13940] [softhddev]cPluginSoftHdDevice:
    Nov 26 23:12:17 freevdr vdr: [13940] [softhddev]ProcessArgs:
    Nov 26 23:12:17 freevdr vdr: [13940] deleting plugin: softhddevice
    Nov 26 23:12:17 freevdr vdr: [13940] [softhddev]~cPluginSoftHdDevice:
    Nov 26 23:12:17 freevdr vdr: [13940] deleting plugin: setup
    Nov 26 23:12:17 freevdr vdr: [13940] max. latency time 0 seconds
    Nov 26 23:12:17 freevdr vdr: [13940] exiting, exit code 2


    mfg det

    Jeder sollte sein Leben so leben können wie er/sie es möchte, frei und
    unabhängig, in der Not anderen zur Seite stehend, nie vergessen was man
    ist, eben einfach nur Mensch sein mit allen Schwächen und Stärken
    Lieber stehend sterben als ewig gebückt leben

  • So kämpft man sich langsam vorran.


    gda die Änderung habe ich drin


    Du brauchst schon ein input device, entweder dvb oder streamdev. Und softhddevice muss du per Hand das PrimaryDevice machen.
    Der Code dafür ist ja wahnsining compliziert.


    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

  • Geht leider immer noch nicht.


    Aber ich habe einen workaround asound.conf:


    Ich vermute im Moment es liegt an "user id" bzw Permissions.


    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

  • Sind doch irgendwie die Threads.
    Sobald ich die Samplerate und die Kanäle ein zweites Mal einstelle ist der Ton weg.
    Irgendwie stört es nur wenn die HDMI Hardware angesprochen wird.


    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

  • Ich weiß immer noch nicht woran es liegt.


    Ich tendiere im Moment mehr dazu es liegt an der Hardware und Alsa.
    Das Ganze nur in einem Thread zubearbeiten, hatte auch nicht den gewünschten Erfolg gebracht.

    Wenn ich Alsa schließe und wieder öffne, geht es.


    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

Jetzt mitmachen!

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