Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam wszystkich - jako że poprzedni temat umarł razem z bazą, zamieszczam tutaj "How to" które wczoraj znajdowało się w starym wątku.
Update:
Wreszcie poprawiłem trochę samą bibliotekę i stworzyłem - "BARDZO PRYMITYWNĄ" paczkę instalacyjną deb do pobrania stąd:
http://huk.sh.dug.net.pl/alsa/alsa-pavc-plugin.deb
Należy pamiętać że paczka ta jest BARDZO prymitywna - raczej nie powinna nic popsuć (w najgorszym wypadku rozwali bibliotekę libasound2 - którą wystarczy przeinstalować żeby naprawić) ale odpowiedzialności nie ponoszę ;]. Z paczki można wyciągnąć patcha do ręcznej kompilacji.
Zmiany odnośnie poprzedniej wersji:
-nieco uporządkowałem kod
-dodałem całkiem nowy plugin o nazwie "pavc" (oparty o kod pluginu "copy"), tak więc standardowy plugin "copy" nie jest już blokowany przez moje patche
-do pluginu pavc dodałem możliwość ustalenia liczby programowych kanałów, nie wiem jakie ograniczenia nakłada odgórnie ALSA - w ramach testu stworzyłem 12 kanałów i wydaje się że wszystko działało jak trzeba - raczej wątpię żeby ktoś potrzebował powyżej 6 może 8 (w OSS standardowo mamy 4, a w razie braku dochodzą następne)
-PID'y aplikacji korzystających z kanałów są teraz zapisywane w folderze ~/.softvol/ - zrezygnowałem z /tmp - jako że mogło by to powodować problemy jeżeli kilku userów chciało by w tym samym czasie korzystać z dźwięku.
Sposób instalacji:
(Zakładam że system to Debian Testing - na Sid raczej tez zadziała, na Stable - nie mam pojęcia)
1.Instalujemy zależności potrzebne do budowy libasound2:
sudo apt-get build-dep libasound2
Nie dałem tej komendy do paczki, ponieważ - przynajmniej u mnie - apt chce zainstalować 150 MB dodatkowych bibliotek mimo że na obecnych kompiluje się bez problemu, poza tym ludzie którzy korzystają z aptitude może wolą instalować zależności przy jego pomocy, a nie przez apt-get...
2.Pobieramy paczkę i instalujemy:
wget http://huk.sh.dug.net.pl/alsa/alsa-pavc-plugin.deb sudo dpkg -i alsa-pavc-plugin.deb
Jak wszystko poszło dobrze pozostaje wpisanie konfiguracji do ~/.asoundrc lub /etc/asound.conf
3.Konfiguracja do wpisania w ~/.asoundrc lub globalnie do /etc/asound.conf:
#Poniższe przekierowuje wyjście "default" do pluginu "asymed" pcm.!default { type plug slave.pcm "asymed" } #Plugin ten rozdziela odpowiednie zawołania do default, na kanał #grania i przełapywania pcm.asymed { type asym playback.pcm "pavcp" capture.pcm "dsnooped" } #Tutaj miksujemy sobie dźwięk - jeżeli dojdzie do "pierdzenia", #"syczenia" czy innych anomalii można zwiekszyć/zmniejszyć #period_size, periods itd pcm.dmixer { type dmix ipc_key 1025 slave { pcm "hw:0" period_time 0 period_size 256 #buffer_size 4096 periods 128 rate 44100 } } #Ten plugin suży do przełapywania dźwieku - podobnie jak w wypadku dmixera #jeżeli dojdzie do "pierdzenia","syczenia" czy innych anomalii #można zwiekszyć/zmniejszyć period_size, periods itd pcm.dsnooped { type dsnoop ipc_key 1026 slave { pcm "hw:0" channels 2 period_size 256 #buffer_size 4096 rate 44100 periods 0 period_time 0 } } #Ponizej jest zdefiniowane 6 programowych kanałów dźwiękowych #obecnie wymagane jest podanie dokładnie 6 kanałów więc musimy #tyle stworzyć pcm.softvol00 { type softvol slave { pcm "dmixer" } control { name "Softvol00" card 0 } } pcm.softvol01 { type softvol slave { pcm "dmixer" } control { name "Softvol01" card 0 } } pcm.softvol02 { type softvol slave { pcm "dmixer" } control { name "Softvol02" card 0 } } pcm.softvol03 { type softvol slave { pcm "dmixer" } control { name "Softvol03" card 0 } } pcm.softvol04 { type softvol slave { pcm "dmixer" } control { name "Softvol04" card 0 } } pcm.softvol05 { type softvol slave { pcm "dmixer" } control { name "Softvol05" card 0 } } pcm.softvol06 { type softvol slave { pcm "dmixer" } control { name "Softvol06" card 0 } } pcm.softvol07 { type softvol slave { pcm "dmixer" } control { name "Softvol07" card 0 } } pcm.softvol08 { type softvol slave { pcm "dmixer" } control { name "Softvol08" card 0 } } pcm.softvol09 { type softvol slave { pcm "dmixer" } control { name "Softvol09" card 0 } } pcm.softvol10 { type softvol slave { pcm "dmixer" } control { name "Softvol10" card 0 } } pcm.softvol11 { type softvol slave { pcm "dmixer" } control { name "Softvol11" card 0 } } ctl.dmixer { type hw card 0 } ctl.dsnooped { type hw card 0 } #W tym pluginie nastepuje odpowiednie rozdzielenie kanałów - podajemy #więc nazwy 6 kanałów, jak i "slave'a" - czyli kanał wyjściowy #w którym dźwięk jest miskowany pcm.pavcp { type pavc slave.pcm "dmixer" channelcount 12 softvol0.pcm "softvol00" softvol1.pcm "softvol01" softvol2.pcm "softvol02" softvol3.pcm "softvol03" softvol4.pcm "softvol04" softvol5.pcm "softvol05" softvol6.pcm "softvol06" softvol7.pcm "softvol07" softvol8.pcm "softvol08" softvol9.pcm "softvol09" softvol10.pcm "softvol10" softvol11.pcm "softvol11" }
Kilka uwag:
-Zmienne "pcm "hw:0,0"" oraz "card 0", określają z jakiej karty idzie dźwięk - większość z nas ma jedną kartę dźwiękową - najczęściej zarejestrowaną jako hw:0, jednakże może się zdarzyć że karta zostanie zarejestrowana jako np hw:1 (wydaje mi się że takie coś m miejsce tylko w wypadku posiadania ponad 1 karty w komputerze - ale nie mam pewności), w takim wypadku oba parametry należy odpowiednio zmienić w taki sposób:
pcm "hw:1" card 1 (wszędzie tam gdzie występują)
inaczej przy próbie odtwarzania dostaniemy błąd w stylu:
Cannot open CTL hw:0 No such file or directory
Ponadto należy pamiętać że "słuchawki/głośniki USB" to zwykle (zawsze?) karta dźwiękowa USB z wbudowanymi słuchawkami - tak więc powyższe wpisy trzeba odpowiednio przekierować (zwykle będzie to następne urządzenie na liście czyli jeżeli mieliśmy kartę jako hw:0, to słuchawki będą hw:1)
Aby sprawdzić numery urządzeń możemy posłużyć się komendą "aplay -l" lub mikserem graficznym mojego autorstwa do którego link poniżej (przy czym to drugie zdaje się (póki co) nie zawsze działać - Hej! Nie narzekać - wyraźnie zaznaczyłem że to wczesna ALPHA ;p)
aplay da wyniki w stylu:
aplay -l **** List of PLAYBACK Hardware Devices **** card 0: Intel [HDA Intel], device 0: ALC1200 Analog [ALC1200 Analog] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: Intel [HDA Intel], device 1: ALC1200 Digital [ALC1200 Digital] Subdevices: 1/1 Subdevice #0: subdevice #0
Gdzie "card 0" oznacza numerek który musimy podać w naszym .asoundrc czy asound.conf.
Mikser graficzny powinien pokazać coś w stylu:
oczywiście dla większej ilości kart lista będzie dłuższa ;]
(oczywiście o ile zadziała ;p)
-oczywiście można zdefiniować więcej lub mniej kanałów programowych, należy tylko pamiętać żeby odpowiednio zmienić wartość channelcount inaczej będą "jajka" ;]
-Nazwy kanałów muszą być dwucyfrowe, bierze się to z dziwnego sposobu sortowania przyjętego w alsamixerze - tzn kiedy kanały były w stylu:softvol0,softvol1...softvol10,softvol11 itd to w alsamixerze występowały nie po kolei a w kolejności:0,1,10,2,3 itd - stąd zmiana. Czyli zamiast softvol0 dajemy softvol00, zamiast softvol1 - softvol01 itd.
-Kanały muszą nazywać się "softvol"
Mikser graficzny (umożliwiający identyfikację aplikacji korzystającej w danej chwili z dźwięku - podobnie jak ossxmix dla OSS4) także został minimalnie zaktualizowany - tak aby korzystał z ~/.softvol/ zamiast z /tmp/ - do pobrania pod wcześniejszym linkiem (jest to wczesna wersja ALPHA - więc ma błędy):
http://huk.sh.dug.net.pl/alsa/alsa-softmixer.tar.gz
Oto jak to coś wygląda (o ile zadziała ;] )
Dodam jeszcze - testowałem układ z alsa-equal pomiędzy softvol a dmixerem i wydaje się działać bez większych problemów (szkoda że póki co - mój mikser nie czyta w ogóle suwaków alsa-equal - może w przyszłości to się zmieni), niestety jeżeli alsa-equal nastawimy jako "default" to kompatybilność spada - już co najmniej audacity nie chce się włączyć :( , może następne wydania alsa-equal lub LADSP to naprawią.
Tyle ode mnie - patch który znajduje się w paczce deb zamierzam na dniach wysłać na listę mailingową ALSY - zobaczymy co powiedzą.
Jestem otwarty na sugestie co jeszcze zmienić w bibliotece (to że mikser ma duże braki wiem ;] ), jak ktoś potrafi napisać lepszą paczkę deb to nie bronię ;] wiem że moja wersja to absolutne minimum.
Ostatnio edytowany przez Huk (2011-06-28 23:43:04)
Offline
Przenoszę do multimediów i przyklejam aby było zawsze pod ręką.
Offline
A znajdę gdzieś aktualne źródełko?
Bo mój system na paczki deb patrzy ze sporą mieszaniną szacunku i przyjaźni, natomiast wsio do kompilacji alsy (i nie tylko) ma zawsze tam, gdzie trzeba ;)
Ostatnio edytowany przez Jacekalex (2010-09-24 21:44:48)
Offline
Pobierz deba, otwórz za pomocą dowolnego archiwe-managera i znajdź pliczek patchlist.patch, pobierz źródełko alsa-lib 1.0.23 (może być to co jest w Debian Testing, albo ze stronki ALSY), rozpakuj skopiuj patch do rozpakowanego folderu, nałóż (patch -p1 <patchlist.patch), re-konfiguruj (autoreconf -ivf) i zbuduj:
./configure
make
make install
Następnie ustaw sobie odpowiednio .asoundrc lub /etc/asound.conf
Jak coś pominąłem to sorry ale pisałem to po kilku piwach ;]
Offline
projekt jeszcze zyje? bo podane linki daja tylko 404 ...
Offline
@bercik:
Projekt żyje na moim dysku only, hosting się niestety skończył. Jak chcesz bercik to mogę na jakiegoś rapida wrzucić czy coś...
Offline
jak mozesz to wrzuc gdzies ...
Offline
Huk napisał(-a):
@bercik:
Projekt żyje na moim dysku only, hosting się niestety skończył. Jak chcesz bercik to mogę na jakiegoś rapida wrzucić czy coś...
Do takich rzeczy najlepsza jest shellownia Duga.
Dowód rzeczowy:
http://jacekalex.sh.dug.net.pl/asound-dmix.conf
Właśnie na shellowni.
Pozdrawiam
;-)
Offline
@Jacekalex:
Hmmm a jak z tego korzystać? Coś tam na forum widziałem gdzieś topic z prośbami o konto shellowe, ale nigdy się tym nie interesowałem... możesz podać jakieś info jak to działa?
@Bercik:
Na razie na Windos siedzę, jak przesiądę się z powrotem na Debiana to wrzucę gdzieś.
EDIT:
Paczka z kodem:
https://rapidshare.com/files/995119337/alsa-pavc-plugin.deb
Mixer:
https://rapidshare.com/files/2086800120/alsa-softmixer.tar.gz
Jak by były jakieś problemy z powyższym, dać znać - na Testing, patche cały czas zdają się być aktualne i działające, przynajmniej na moim kompie ;]
EDIT2:
Linki bezpośrednio z DUG'a (dzięki Milages raz jeszcze za konto :) ):
Paczka z kodem:
http://huk.sh.dug.net.pl/alsa/alsa-pavc-plugin.deb
Mixer:
http://huk.sh.dug.net.pl/alsa/alsa-softmixer.tar.gz
P.S
Linki z pierwszego posta tez zostały uaktualnione.
Ostatnio edytowany przez Huk (2011-06-28 00:24:43)
Offline
1. przy automagicznym budowaniu przez paczke deb nie wygladalo aby chialo dzialac ...
2. zbudowalem poprzez
apt-get source libasound2 cd alsa-lib-* patch -p1 < ../patchlist.patch debchange -i "PAVC patch" dpkg-buildpackage -rfakeroot
i zainstalowalem
3. gdy proboje uzywac to w najlepszym wypadku dostaje komunikat:
ALSA lib dlmisc.c:124:(snd_dlsym_verify) unable to verify version for symbol _snd_pcm_pavc_open ALSA lib dlmisc.c:246:(snd1_dlobj_cache_get) symbol _snd_pcm_pavc_open is not defined inside [builtin]
Offline
Hmmm, a patch nałożył się bez żadnych rejectów? W ogóle na jakiej wersji ALSY i jakim distrze próbowałeś nakładać?
Nie wiem do czego to jest:
debchange -i "PAVC patch" dpkg-buildpackage -rfakeroot
ale z tego co pamiętam to po nałożeniu patcha trzeba było koniecznie wykonać reconfa, czyli może:
apt-get source libasound2 cd alsa-lib-* patch -p1 < ../patchlist.patch autoreconf -ivf debchange -i "PAVC patch" dpkg-buildpackage -rfakeroot
...powyższe zadziała, wydaje mi się że właśnie ten błąd się bierze z braku autoreconf (przynajmniej u mnie z normalnym make tak kiedyś było).
Jak możesz to sprawdź jak wyżej.
Swoją drogą co za problemy były z automatem? Jakimiś błędami popluł czy po prostu nie śmigał?
EDIT:
Próbowałeś może moim (prymitywniejszym ;] ) sposobem, tj. poprzez:
apt-get source libasound2 cd alsa-lib-* patch -p1 < ../patchlist.patch autoreconf -ivf ./configure make make install
?
Ostatnio edytowany przez Huk (2011-06-28 16:35:24)
Offline
debchange -i "PAVC patch" dpkg-buildpackage -rfakeroot
podbija numer wersji dodajac wpis do changelogu i buduje paczke ...
z automagicznym bylo tak ze zbudowal sie bez specjalnego plucia ... ale uzyskana alsa byla dziwna (nawet dmix ni chial za bardzo dzialac) ... wydaje sie ze moglbyc to problem zaleznosci czasu budowania bo dpkg-buildpackage kazal dociagnoac troche paczek ... zreszta jak teraz zauwaylem autoreconf'a tez nie bylo ...
wlasnie sie buduje, wiec jak sie zbuduje i zainstaluje to dam znac ...
Edit:
wersja stable zmieszany lekko z testingiem ... patch nalozyl sie bez wiekszych problemow:
patching file configure.in Hunk #1 succeeded at 446 (offset 1 line). Hunk #2 succeeded at 517 (offset 1 line).
Offline
A to możliwe, w pierwszym poście tego wątku, podpunkt 1 zaznaczyłem że przed instalacją trzeba zależności zainstalować samemu, paczka tego standardowo nie robi za nas. Pewnie gdzieś tutaj jest pies pogrzebany.
Offline
@bercik:
Nie wiem czy Ci to w końcu zadziałało czy nie, ale wczoraj po aktualizacji w testinga, u mnie plugin padł, okazało się że zmieniła się lokalizacja bibliotek z:
/usr/lib/libasound.so.2 /usr/lib/libasound.so.2.0.0
na:
/usr/lib/i386-linux-gnu/libasound.so.2 /usr/lib/i386-linux-gnu/libasound.so.2.0.0
Dopiero jak wywaliłem wszystkie inne libasound.so z poprzednich lokalizacji to zainstalowało się poprawnie (choć nadal do /usr/lib/) - więc nawet jeżeli to nie to było problemem, to informuję już "na przyszłość" że może być konieczność ręcznego wywalania pliczku libasound.so z rożnych lokalizacji.
Dziwne jest to że mimo zmiany lokalizacji pliczku w paczce, to "make install" jakoś nikomu nie chciało sie zmieniać i paczka źródłowa nadal instaluje pliki do wspomnianego /usr/lib/... chyba ktoś zapomniał ;] (oczywiście paczka pobrana apt-get source, nie ta ze stronki alsy ;] )
Pozdro.
Offline
Huk napisał(-a):
Nie wiem czy Ci to w końcu zadziałało czy nie
nie ruszylo ... temat umarl smiercia naturalna (pojawily sie wazniejsze rzeczy do zrobienia) ... kiedys pewnie do niego powroce ...
Offline
Dorzuciłem to cudo do:
media-libs/alsa-lib-1.0.24.1
Skompilowałem alsa-softmixer - i mam dodatkowy mixer dźwięku. :D
Robi to samo, co alsamixer....
Co wsadzić do asound.conf, żeby to ruszyło?
Bo po wsadzeniu mniej więcej tego, co jest w pierwszym poście, kanałów programowych nie widać.
Poza tym, po wsadzeniu do /usr/local/bin stracił znajomość języka Polskiego.
Odpalony z folderu, gdzie był kompilowany gada po polsku.
Mój asound.conf.
Wiwisekcja alsy: http://www.alsa-project.org/db/?f=f58b4c05d9b2e92ca … 73f0eb353d2ba
Wszelkie sugestie mile widziane.
Edyta:
Chyba poczekam na wersję beta ;)
Why?
Chodzi sobie tvtime, dźwięk idzie przez
arecord... |aplay -
, i nagle zamiast dźięku taki komunikat:
ALSA lib dlmisc.c:124:(snd_dlsym_verify) unable to verify version for symbol _snd_pcm_pavc_open ALSA lib dlmisc.c:246:(snd1_dlobj_cache_get) symbol _snd_pcm_pavc_open is not defined inside [builtin]
Co ciekawe, dźwięk działał ponad 3 godziny prawidłowo, aż do tego buntu.
Zmieniłem asound.conf na poprzedni, i dźwięk idzie normalnie.
Pozdro
;-)
Ostatnio edytowany przez Jacekalex (2011-11-13 18:55:29)
Offline
@Jacekalex:
Sorry że dopiero po takim czasie coś odpisuję, ale najzwyczajniej nie wiedziałem że są w tym temacie jakieś updaty (jak na ironię po aktualizacji, RSS w Operze wyświetla mi każdy dodany post, jako nową wiadomość, wcześniej tak nie było :/ ).
Nie wiem czy nadal temat aktualny, ale jeżeli tak to chciałbym dopytać:
1.Jakie dokładnie były problemy po instalacji pluginu i wgraniu .asoundrc? Czy w ogóle nic co było uruchamiane po instalacji pluginu (znaczy się zaraz po "make install") nie miało w ogóle dźwięku, a w konsoli można było zobaczyć błędy w stylu:
/usr/lib/i386-linux-gnu/alsa-lib/libasound_module_pcm_pavc.so (lub coś podobnego)
Czy też dźwięk był, ale nie rozdzielony na kanały?
2.Jeżeli to drugie, to czy po instalacji mixera wybierałeś "softowe" kanały? (po tej operacji powinny się przy używanych pojawić przypisane aplikacje)?
3.Odnośnie błędu z tvtime - czy po jego wystąpieniu, dało się zrestartować tvtime i działało normalnie, czy też zaczęło działać normalnie dopiero po przywróceniu starej wersji .asoundrc? Czy nagrywanie dźwięku zostało może uruchomione przed instalacją pluginu i działało nieprzerwanie? Tak pytam, bo standardowo ALSA nie przeładowuje pluginów dla działających aplikacji, do czasu ich ponownego uruchomienia i jeżeli nagrywanie sobie szło, to może doszło po prostu do przeładowania programu za nie odpowiedzialnego i wtedy "załapał" nową konfigurację i się wszystko sypnęło.
Co do polonizacji, to nie dziwota że nie działa, jako że na starcie ładuje sobie pliczek "alsa-softmixertr_pl_PL.ts" który leży w folderze z exec'iem, ale to idzie naprawić jednym wpisem w kodzie (symlink tego pliku do /usr/bin pewnie też zadziałą - choć wiadomo że rozwiązanie takie trochę "bee" ;] )
Coś mnie tknęło i dziś jak i jutro będę siedział nad kodem mixera, jak i pluginu - jako że samemu korzystam z tego rozwiązania non-stop (dodam że póki co sprawdza się bardzo dobrze, żadnych pierdółek nie zauważyłem ;] ) to wypadało by trochę błędów poprawić, a może i spróbować przepisać nieco kod pluginu, tak więc od razu mógłbym zajrzeć nieco "głębiej" w wymienione problemy ;]
Pozdro
Offline
Zobaczę za kilka dni, bo mam teraz alsa-lib bez pluginu, i trochę roboty w domu.
Jakby co, bedę meldował ;)
Ostatnio edytowany przez Jacekalex (2011-11-13 18:55:54)
Offline
Spoko ;] dzięki za zainteresowanie.
Offline
Hejka
Mam teraz alsę 1.0.25
qlist -IvUq alsa media-libs/alsa-lib-1.0.25-r1 alisp python media-libs/alsa-oss-1.0.17 media-plugins/alsa-plugins-1.0.25-r1 ffmpeg jack libsamplerate speex media-sound/alsa-headers-1.0.25 media-sound/alsa-utils-1.0.25-r1 nls
łatkę dodałem do automatycznego nakładania w potrtage:
Wynik nakładania niezły:
* Applying pavc.patch [localpatch] ... [ ok ]
Tu cały log z budowania:
http://jacekalex.sh.dug.net.pl/media-libs_alsa-lib- … 01-085823.log
Kompilator:
gcc version 4.6.2 (Gentoo Hardened 4.6.2 p1.3, pie-0.5.0)
Inna sprawa, że ta werjsa alsa-lib znacząco różni się od 1.0.24:
Ebuild z obecnej wersji (1.0.25-r1):
http://jacekalex.sh.dug.net.pl/alsa-lib-1.0.25-r1.ebuild
Tak wyglądał poprzedni (1.0.24.1):
http://jacekalex.sh.dug.net.pl/alsa-lib-1.0.24.1.ebuild
Podstawowa różnica? w Alsie 1.0.25 nigdzie nie widzę tych pluginów:
IUSE_PCM_PLUGIN="copy linear route mulaw alaw adpcm rate plug multi shm file null empty share meter mmap_emul hooks lfloat ladspa dmix dshare dsnoop asym iec958 softvol extplug ioplug"
W każdym razie, pomimo prawidłowej kompilacji, wydaje misię, ze raczej Twoja łatka w obecnej postaci nie pójdzie z alsą 1.0.25.
Tu lista zbudowanych elementów:
qlist media-libs/alsa-lib /usr/bin/aserver /usr/lib64/pkgconfig/alsa.pc /usr/lib64/alsa-lib/smixer/smixer-python.so /usr/lib64/alsa-lib/smixer/smixer-hda.so /usr/lib64/alsa-lib/smixer/smixer-ac97.so /usr/lib64/alsa-lib/smixer/smixer-sbase.so /usr/lib64/libasound.so /usr/lib64/libasound.so.2 /usr/lib64/libasound.so.2.0.0 /usr/share/doc/alsa-lib-1.0.25-r1/ChangeLog.bz2 /usr/share/doc/alsa-lib-1.0.25-r1/TODO.bz2 /usr/share/aclocal/alsa.m4 /usr/share/alsa/smixer.conf /usr/share/alsa/sndo-mixer.alisp /usr/share/alsa/alsa.conf /usr/share/alsa/alsa.conf.d/README /usr/share/alsa/pcm/dpl.conf /usr/share/alsa/pcm/dsnoop.conf /usr/share/alsa/pcm/dmix.conf /usr/share/alsa/pcm/modem.conf /usr/share/alsa/pcm/hdmi.conf /usr/share/alsa/pcm/iec958.conf /usr/share/alsa/pcm/surround71.conf /usr/share/alsa/pcm/surround51.conf /usr/share/alsa/pcm/surround50.conf /usr/share/alsa/pcm/surround41.conf /usr/share/alsa/pcm/surround40.conf /usr/share/alsa/pcm/side.conf /usr/share/alsa/pcm/center_lfe.conf /usr/share/alsa/pcm/rear.conf /usr/share/alsa/pcm/front.conf /usr/share/alsa/pcm/default.conf /usr/share/alsa/cards/aliases.alisp /usr/share/alsa/cards/VXPocket440.conf /usr/share/alsa/cards/VXPocket.conf /usr/share/alsa/cards/VX222.conf /usr/share/alsa/cards/VIA8237.conf /usr/share/alsa/cards/VIA8233A.conf /usr/share/alsa/cards/VIA8233.conf /usr/share/alsa/cards/VIA686A.conf /usr/share/alsa/cards/YMF744.conf /usr/share/alsa/cards/USB-Audio.conf /usr/share/alsa/cards/TRID4DWAVENX.conf /usr/share/alsa/cards/SB-XFi.conf /usr/share/alsa/cards/SI7018.conf /usr/share/alsa/cards/RME9652.conf /usr/share/alsa/cards/RME9636.conf /usr/share/alsa/cards/PS3.conf /usr/share/alsa/cards/PMacToonie.conf /usr/share/alsa/cards/PMac.conf /usr/share/alsa/cards/PC-Speaker.conf /usr/share/alsa/cards/NFORCE.conf /usr/share/alsa/cards/Maestro3.conf /usr/share/alsa/cards/ICH-MODEM.conf /usr/share/alsa/cards/ICH4.conf /usr/share/alsa/cards/ICH.conf /usr/share/alsa/cards/ICE1724.conf /usr/share/alsa/cards/ICE1712.conf /usr/share/alsa/cards/HDA-Intel.conf /usr/share/alsa/cards/GUS.conf /usr/share/alsa/cards/FireWave.conf /usr/share/alsa/cards/FWSpeakers.conf /usr/share/alsa/cards/FM801.conf /usr/share/alsa/cards/ES1968.conf /usr/share/alsa/cards/ENS1371.conf /usr/share/alsa/cards/ENS1370.conf /usr/share/alsa/cards/EMU10K1X.conf /usr/share/alsa/cards/EMU10K1.conf /usr/share/alsa/cards/CS46xx.conf /usr/share/alsa/cards/CMI8788.conf /usr/share/alsa/cards/CMI8738-MC8.conf /usr/share/alsa/cards/CMI8738-MC6.conf /usr/share/alsa/cards/CMI8338-SWIEC.conf /usr/share/alsa/cards/CMI8338.conf /usr/share/alsa/cards/CA0106.conf /usr/share/alsa/cards/Aureon71.conf /usr/share/alsa/cards/Aureon51.conf /usr/share/alsa/cards/Audigy2.conf /usr/share/alsa/cards/Audigy.conf /usr/share/alsa/cards/AU8830.conf /usr/share/alsa/cards/AU8820.conf /usr/share/alsa/cards/AU8810.conf /usr/share/alsa/cards/ATIIXP-MODEM.conf /usr/share/alsa/cards/ATIIXP-SPDMA.conf /usr/share/alsa/cards/ATIIXP.conf /usr/share/alsa/cards/AACI.conf /usr/share/alsa/cards/aliases.conf /usr/share/alsa/cards/SI7018/sndop-mixer.alisp /usr/share/alsa/cards/SI7018/sndoc-mixer.alisp /usr/include/sys/asoundlib.h /usr/include/alsa/alisp.h /usr/include/alsa/seq_midi_event.h /usr/include/alsa/seqmid.h /usr/include/alsa/seq.h /usr/include/alsa/seq_event.h /usr/include/alsa/mixer_abst.h /usr/include/alsa/mixer.h /usr/include/alsa/hwdep.h /usr/include/alsa/rawmidi.h /usr/include/alsa/pcm_ioplug.h /usr/include/alsa/pcm_extplug.h /usr/include/alsa/pcm_external.h /usr/include/alsa/pcm_rate.h /usr/include/alsa/pcm_plugin.h /usr/include/alsa/timer.h /usr/include/alsa/pcm_old.h /usr/include/alsa/pcm.h /usr/include/alsa/control_external.h /usr/include/alsa/use-case.h /usr/include/alsa/iatomic.h /usr/include/alsa/control.h /usr/include/alsa/conf.h /usr/include/alsa/error.h /usr/include/alsa/output.h /usr/include/alsa/input.h /usr/include/alsa/global.h /usr/include/alsa/version.h /usr/include/alsa/asoundef.h /usr/include/alsa/asoundlib.h /usr/include/alsa/sound/type_compat.h /usr/include/alsa/sound/emu10k1.h /usr/include/alsa/sound/sscape_ioctl.h /usr/include/alsa/sound/sb16_csp.h /usr/include/alsa/sound/hdspm.h /usr/include/alsa/sound/hdsp.h /usr/include/alsa/sound/asound_fm.h
Wygląda na to, że API Alsy mocno się zmienilo z wejściem wersji 1.0.25
W mikserze Alsa-softmixer na razie mam tylko niezłą konkurencję dla alsa-miksera, dostępne te same kontrolki.
Pozdrawiam
;-)
Ostatnio edytowany przez Jacekalex (2012-04-01 11:42:23)
Offline
Mogę powiedzieć tyle że na Testing, na alsa-lib 1.0.25 się kompiluje i działa, choć trochę zabawy z tym miałem. Nie wiem jak w Gentoo, ale w Debianie pozmieniano ścieżki w których jest instalowany libasound.so (bo to w nim są zawarte wszystkie pluginy), wcześniej było /usr/lib/libasound.so a teraz /usr/lib/i386-linux-gnu/libasound.so.2, przez to standardowe "make install" niewiele daje, bo i tak wczytywana jest wcześniejsza wersja. Jeżeli na Gentoo jest podobnie to trzeba przed/po "make install" wywalić starsze wersje libasound.so i pewnie wtedy zaskoczy ;]
Choć nie mam pojęcia czy to że masz "Gentoo Hardened", oraz wersję x64 nie zrobi jakiegoś "bubu" (x64 raczej wątpię, ale nie wiem jak to drugie).
Swoją drogą to dziwi mnie to co piszesz o pluginach - z tego co widzę z logów budowy które zamieściłeś, budują się jak najbardziej.
W ogóle mógłbyś zamieścić jakiś output z np. mplayer'a po instalacji tego pluginu? Coś z komendy w stylu:
mplayer plik.mp3 -ao alsa
Oczywiście wcześniej ustaw odpowiednie wartości w swoim .asoundrc ;]
Po włączeniu pliku ( o ile zagra rzecz jasna ;] ) w mixerze powinien dojść nowy slider: "Softvol00".
Offline
Wrzuciłem twój asoundrc z pierwszego postu:
i mplayer2 zameldował, co następuje:
mplayer2 -vo vdpau -ao alsa *wieże.m2t
Option tv: Unknown suboption normid
Warning unknown option tv at line 6
MPlayer2 UNKNOWN (C) 2000-2011 MPlayer Team
Playing Superkino_ Władca Pierścieni_ Dwie wieże.m2t.
Cache fill: 0.00% (0 bytes)
Detected file format: MPEG-2 transport stream format (libavformat)
......
[NULL @ 0x7e1658e99700]start time is not set in av_estimate_timings_from_pts
[lavf] stream 0: video (h264), -vid 0
[lavf] stream 1: audio (mp2), -aid 0, -alang pol
[lavf] stream 2: audio (ac3), -aid 1, -alang mu_
[lavf] stream 3: subtitle (dvbsub), -sid 0, -slang pol
LAVF: Program 1000
VIDEO: [H264] 720x576 0bpp 50.000 fps 0.0 kbps ( 0.0 kbyte/s)
Load subtitles in .
Cache not responding!
Cache not responding!
==========================================================================
Opening video decoder: [ffmpeg] FFmpeg's libavcodec codec family
Asking decoder to use 2 threads if supported.
Selected video codec: [ffh264] vfm: ffmpeg (FFmpeg H.264)
==========================================================================
==========================================================================
Opening audio decoder: [mpg123] MPEG 1.0/2.0/2.5 layers I, II, III
AUDIO: 48000 Hz, 2 ch, s16le, 192.0 kbit/12.50% (ratio: 24000->192000)
Selected audio codec: [mpg123] afm: mpg123 (MPEG 1.0/2.0/2.5 layers I, II, III)
==========================================================================
[AO_ALSA] alsa-lib: pcm_pavc.c:813:(_snd_pcm_pavc_open) Unable to create ~/.softvol directory - unknown error 100
MPlayer interrupted by signal 11 in module: ao2_init
- MPlayer crashed by bad usage of CPU/FPU/RAM.
Recompile MPlayer with --enable-debug and make a 'gdb' backtrace and
disassembly. Details in DOCS/HTML/en/bugreports_what.html#bugreports_crash.
- MPlayer crashed. This shouldn't happen.
It can be a bug in the MPlayer code _or_ in your drivers _or_ in your
gcc version. If you think it's MPlayer's fault, please read
DOCS/HTML/en/bugreports.html and follow the instructions there. We can't and
won't help unless you provide this information when reporting a possible bug.
Asoundrc: http://jacekalex.sh.dug.net.pl/asound-pavc.conf
ls -l ~/.softvol razem 0
- niczego nie musiał tworzyć, folder jest na swoim miejscu ;)
Na standardowym: http://jacekalex.sh.dug.net.pl/asound.conf
dźwięk wygląda tak:
========================================================================== Opening audio decoder: [mpg123] MPEG 1.0/2.0/2.5 layers I, II, III AUDIO: 48000 Hz, 2 ch, s16le, 192.0 kbit/12.50% (ratio: 24000->192000) Selected audio codec: [mpg123] afm: mpg123 (MPEG 1.0/2.0/2.5 layers I, II, III) ========================================================================== AO: [alsa] 96000Hz 2ch s16le (2 bytes per sample) Starting playback... A:55143.8 V: 0.0 A-V: 0.000 ct: 0.000 0/ 0 ??% ??% ??,?% 0 0 99%
Dzwięk wtedy brzmi jak dzwon, tylko na Jacku z RT można użyskać odrobinę lepszy.
Pozdrawiam
;-)
Ostatnio edytowany przez Jacekalex (2012-04-01 14:43:18)
Offline
Hmm widzę że coś się mąci w funkcji sprawdzającej istnienie folderu... a jako że tam używam takich "wspaniałości" jak pipe to cholera wie teraz co ;] muszę to przerobić na natywne funkcje sprawdzające (z tego co kojarzę są - wtedy o nich nie wiedziałem stąd taki syfek), ale nie wiem kiedy znajdę czas - jakby co dam znać, bo z tego co rozumiem pilne to to nie jest?
Ostatnio edytowany przez Huk (2012-04-01 18:31:10)
Offline
Oczywiście, że to pilne nie jest.
Z ta funkcją sprawdzającą, czy jest folder, to rzeczywiście pocieszna sprawa.
Z moich informacji wynika, że zdecydowana większość języków programowania ma jakieś funkcje warunkowe :D
Inna sprawa, że nie nadaję się za bardzo na testera, bo testerzy zazwyczaj sprawdzają na stabilnych narzędziach, a Gentoo Hardened z kompilatorem, który Developerzy Gentoo uznali za zbyt nieprzewidwalny i jest na razie hard masked - only for testing, nie jest zbyt stabilnym środowiskiem testowym.
A u mnie system chodzi lepiej (szybciej), niż poprzednik na stabilnym gcc-4.5.1
Wygląda na to, że mechanizm LTO jest znacznie lepszy, niż się niektórym (mnie również) zdawało.
Inna sprawa, ze jeśli to cudo ma kiedyś trafić do źródeł alsy, to ta ostatnia na moim GCC kompiluje się bez problemu.
Pozdrawiam
;-)
Ostatnio edytowany przez Jacekalex (2012-04-01 20:14:23)
Offline
Sytuacja rozwojowa.
Gcc 4.6.3 Gentoo:
gcc version 4.6.3 (Gentoo Hardened 4.6.3 p1.5, pie-0.5.2)
Łatka pavc załadowala się automatycznie przy kompilowaniu alsa-lib 1.0.25-r1
Siedzi sobie grzecznie tutaj:
ls -l /etc/portage/localpatches/media-libs/alsa-lib/pavc.patch -rw-r--r-- 1 root root 24455 04-01 10:40 /etc/portage/localpatches/media-libs/alsa-lib/pavc.patch
W logu budowy pojawiło się:
grep -i pavc 'media-libs:alsa-lib-1.0.25-r1:20120820-052527.log' * Applying pavc.patch [localpatch] ... CC pcm_pavc.lo /bin/sh ../../libtool --silent --tag=CC --mode=compile x86_64-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I../../include -I../../include -march=core2 -O2 -pipe -march=core2 -O2 -pipe -D_GNU_SOURCE -c -o pcm_pavc.lo pcm_pavc.c pcm_pavc.c: In function 'savePid': pcm_pavc.c:381:11: warning: ignoring return value of 'system', declared with attribute warn_unused_result [-Wunused-result] from pcm_pavc.c:24: inlined from 'getSoftvolNumber' at pcm_pavc.c:463:11:
Cały log z kompilacji:
http://jacekalex.sh.dug.net.pl/alsa-pavc.build.log.tar.xz
Wszystkie programy, które miałyby iść przez pavcp - kończą tak:
vlc *wieże* VLC media player 2.0.3 Twoflower (revision 2.0.2-93-g77aa89e) [0x9633588be8] dbus interface: listening on dbus as: org.mpris.MediaPlayer2.vlc [0x96334aacc8] main libvlc: Uruchamianie vlc z domyślnym interfejsem. Użyj 'cvlc' aby używać vlc bez interfejsu. libdvbpsi error (PSI decoder): TS duplicate (received 0, expected 1) for PID 0 libdvbpsi error (PSI decoder): TS duplicate (received 0, expected 1) for PID 255 libdvbpsi error (PSI decoder): TS duplicate (received 0, expected 1) for PID 0 libdvbpsi error (PSI decoder): TS duplicate (received 0, expected 1) for PID 255 *** buffer overflow detected ***: vlc - terminated Message from syslogd@localhost at Aug 20 09:57:54 ... * buffer overflow detected ***: vlc - terminated vlc: buffer overflow attack in function <unknown> - terminated Message from syslogd@localhost at Aug 20 09:57:54 ... c: buffer overflow attack in function <unknown> - terminated Report to http://bugs.gentoo.org/ Message from syslogd@localhost at Aug 20 09:57:54 ... port to http://bugs.gentoo.org/ Unicestwiony
także jeszcze chyba wiele wody w Wiśle upłynie, zanim to będzie stabilne rozwiązanie.
na dmixie vlc chodzi bez problemu, choć na nagraniach z kaffeine często tak miauczy z libdvbpsi....
Jadna rada:
fajnie byłoby, gdyby wtyczka alsy zrobila się bardziej "kuloodporna" pod kątem akcji typu buffer-overflow czy podobnych.
Trudne to w kodzie do osiągnięcia, ale niezbędne, we współczesnym programowaniu ;)
Pozdrawiam
;-)
Ostatnio edytowany przez Jacekalex (2012-08-20 10:24:40)
Offline