Pi'ime raspbian kurdum ve masaüstümden bir Pi'ye tüm sesi aktaracak, hoparlörleri çalıştıracak bir PulseAudio lavabo yapılandırdım.
Bu güzel açıklamayı takip ettim: http://www.raspberrypi.org/phpBB3/viewtopic.php?f=38&t=11124
İlk başta, bu sorunsuz çalışıyor gibi görünüyordu. Bununla birlikte, masaüstünden gönderilen ses, Pi'de sürekli kekeliyor, sanki aralarında sadece birkaç örnek eksik olan sabit tampon altlıkları varmış gibi.
Bütün günü sebebi bulmaya çalıştım, ama boşuna. Temel kurulum:
- kablolu LAN bağlantısı
- En son firmware güncellemeleri ile en son raspbian pi (26 Eyl 2013)
- Her iki tarafta PulseAudio 2.0 (Ubuntu masaüstü)
- Mplayer, totem, ffplay üzerinden oynatma
- module-native-protokol-tcp üzerinden ağ iletimi
Ben denedim:
- Doğrudan Pi'de ses çalmak mükemmel bir şekilde çalışır.
- Diğer (masaüstü) bilgisayarlara akış iyi çalışıyor.
- Doğrudan bağlantı ile ses göndermek ($ PULSE_SERVER belirtmek) çok az kekemelik ile oldukça iyi çalışıyor, ancak yine de Problem-2'ye eğilimli (aşağıya bakın)
- Masaüstü PulseAudio tüneli üzerinden ses gönderme sürekli kekemelik sağlar
- Artan öncelikler / gerçek zamanlı zamanlama ... yardımcı olmadı
- Örnekleme hızını 48 kHz'e sabitlemek ... yardımcı olmadı
- Yeniden örnekleme algoritmasını "önemsiz" olarak ayarlamak ... yardımcı olmadı
- Varsayılan parçaları / parça boyutunu ayarlamak ... yardımcı olmadı
PulseAudio günlüklerinde herhangi bir sorun belirtisi bulamıyorum (oynatmaya başladığım andan itibaren gösteriliyor):
D: [alsa-sink] protocol-native.c: Requesting rewind due to end of underrun. D: [alsa-sink] sink-input.c: Requesting rewind due to uncorking D: [pulseaudio] sink.c: Suspend cause of sink alsa_output.platform-bcm2835_AUD0.0.analog-stereo is 0x0000, resuming I: [alsa-sink] alsa-sink.c: Trying resume... I: [alsa-sink] alsa-util.c: cannot disable ALSA period wakeups D: [alsa-sink] alsa-util.c: Maximum hw buffer size is 341 ms D: [alsa-sink] alsa-util.c: Set buffer size first (to 16384 samples), period size second (to 16384 samples). I: [alsa-sink] alsa-util.c: ALSA period wakeups were not disabled D: [alsa-sink] alsa-sink.c: Latency set to 25.00ms D: [alsa-sink] alsa-sink.c: hwbuf_unused=60736 D: [alsa-sink] alsa-sink.c: setting avail_min=15665 I: [alsa-sink] alsa-sink.c: Time scheduling watermark is 15.00ms I: [alsa-sink] alsa-sink.c: Resumed successfully... I: [alsa-sink] alsa-sink.c: Starting playback. D: [alsa-sink] alsa-sink.c: Cutting sleep time for the initial iterations by half. D: [alsa-sink] alsa-sink.c: Cutting sleep time for the initial iterations by half. D: [alsa-sink] alsa-sink.c: Cutting sleep time for the initial iterations by half. D: [pulseaudio] module-suspend-on-idle.c: Sink alsa_output.platform-bcm2835_AUD0.0.analog-stereo becomes busy. D: [alsa-sink] alsa-sink.c: Cutting sleep time for the initial iterations by half. D: [alsa-sink] alsa-sink.c: Cutting sleep time for the initial iterations by half. D: [alsa-sink] alsa-sink.c: Cutting sleep time for the initial iterations by half. D: [alsa-sink] alsa-sink.c: Cutting sleep time for the initial iterations by half. D: [alsa-sink] alsa-sink.c: Cutting sleep time for the initial iterations by half. D: [alsa-sink] alsa-sink.c: Cutting sleep time for the initial iterations by half. D: [alsa-sink] alsa-sink.c: Cutting sleep time for the initial iterations by half. D: [alsa-sink] alsa-sink.c: Cutting sleep time for the initial iterations by half. D: [alsa-sink] ratelimit.c: 115 events suppressed D: [alsa-sink] alsa-sink.c: Wakeup from ALSA! ... no more output, but stuttering continues ...
Sorun 2: Yukarıda belirtildiği gibi, doğrudan bağlantı ile oldukça iyi bir ses elde edebilirim. Ancak, akış içinde birkaç atlamadan sonra (mplayer kullanarak), PulseAudio sunucusu takılır ve hiç ses çalmaz. Bazen mplayer yeniden başlatılarak yeniden canlandırılabilir. Bazen o kadar kötü takılır ki PulseAudio yeniden başlatılmalıdır. Bazen sadece ses seviyesini değiştirdiğimde bile takılıyor.
PulseAudio belgelerine göre, tünel bağlantılı bir bağlantı üzerinden doğrudan bir bağlantının avantajı, doğrudan bağlantı ile neden iyi ses aldığımı gösteren daha iyi tamponlama kontrolüne sahip olmaktır: http://www.freedesktop.org/wiki/Software / PulseAudio'nun / Belgeler / Kullanıcı / Ağ /
Şimdi fikirlerim kalmadı. Kekemeliğe ve Problem 2'ye ne sebep olabilir? Hata ayıklamanın nasıl yapılacağı hakkında bir fikir de takdir edilecektir.