Portál AbcLinuxu, 14. května 2025 02:54
Zdravím,
potřeboval bych poradit jak dostat zvuk z videa v Xine nebo VLC jako "passthrough" (jako DD/DTS/..) skrz digitální výstup.
Ve zkratce: Zvud "passthrough" mi ven jde ale je slyšet je škrkání a to jak z Xine tak VLC, ostatní zvujky (2.0) jdou.
Hardware: nVidia MCP55 HDA, AMDx64
SW: Opensuse 11.1 x64, Alsa (1.0.18), Kde4 Factory (4.2.3)
Zvuk z Kde, Amaroku (v.2) a ostatních věcí mi přez digitál v pohdě jde (2.0).
v Xine: Nejprve jsem nastavil uspořádání rep. na "passthrough" a potom si vypsal hw (přez aplay). Do zařízení pro passthrough jsem zkoušel hw:0,1 plughw:0,1 iec958 spdif plug:iec958 ale ať nastavím cokoliv pořád to jen škrká (externí dekodér samozřejmě mám :) pak už jsem nevědel co, tak jsel zkusil
vlc: zkoušel jsem různý kombinace, vynutit alsu, vynutit spdif, vybrat hw (ze seznamu - digitál) ale taky jediné k čemu jsem se dstal je škrkání.
Z toho usuzuju, že chyba asi bude někde jinde (protože to dělají oba), ale netuším kde. Napadá vás něco? Díky moc
Nejdříve bych zkusil nastavit flag spdif vysilače HDA kodeku na non-audio:
iecset audio off
Přehrávače by to měly nastavovat samy, ale za pokus to stojí.
Díky moc za ideu.
Výsledky tesů s iecset:
Pokud je audio on - xine i vlc škrkají
Pokud je audio off:
vlc neposílá stream (podle dekodéru)
xine: tam to bylo nějaký divný. Když jsem to zkusil poprvé (po zapnutí PC), tak xine mlčelo (výst. zař. iec958), kouknul jsem na manuál od iecset, kuknul co dělá -x a vypsalo to pro mě do té doby nepochopitelný AES0=0x06,AES1=0x82,AES2=0x00,AES3=0x02 (kde AES0=0x04 pro audio ON a 0x06 pro OFF), tahle AES byly půvdně v xine za tím hw. zkusil jsem je tedy dopsat zpět (výst. zař. iec958:AES0=0x06,AE..........) divný je ze se DD ven dostalo a hrálo. Při dalším spuštění xine tvrdil, že hw je jž používán -> restart PC. Od této chvíle jsem mohl zkoušet cokoliv (včetně přesného opakování postupu) a chová se to stejně nako vlc - je ticho(neposílá stream)
Nějaký další nápad? Díky Miki
Nastavení parametrů AESx nemá žádný vliv na výstupní datový stream - jen se mění hlavičky SPDIF rámců. Pokud dekodér nepozná výstupní formát, nic nepošle ven a bez osciloskopu nevíš, zda na výstupu stream je nebo není.
Hláška xine o používání HW - něco daný HW opravdu používalo. Příště místo restartu PC si zjisti proces využívající zvukovku příkazem
lsof /dev/snd/*
Třeba zjistíš, že je tam nějaký proces, který se ti plete do cesty a budeš jej muset před přehráváním na SPDIF vypínat.
Pohraj si s kombinací parametrů iecset audio a iecset professional. Dekodéry se k nim chovají různě. Mimochodem, mému AVR Harman Kardon trvá někdy přepnutí na DD i několik minut (mezitím přepíná digitální a analogový vstup, ale výstup je mutnutý), takže to chce trochu trpělivosti. Klasické DVD to nedělá, ale to zřejmě posílá přímo DD signál, zatímco PC přehrávače (kvůli HW omezení zvukových karet) musí do DD signálu vkládat nuly, aby datový tok doplnily na stereo 48/16. S tím má můj AVR asi trošku starost.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.