HTC DriverGate – Ses sürümü

Okuma zamanı simgesi 4 dk. okuman


Okuyucular MSpoweruser'ı desteklemeye yardımcı olur. Bağlantılarımız aracılığıyla satın alırsanız komisyon alabiliriz. Araç İpucu Simgesi

MSPoweruser'ın editör ekibini ayakta tutmasına nasıl yardımcı olabileceğinizi öğrenmek için açıklama sayfamızı okuyun. Daha fazla

sürücü kapısı

Pekala, bir veya iki gün Windows Mobile iyi hissettirdikten sonra, cihazlarımızı gereksiz yere rahatsız eden bazı sorunlara geri dönüyoruz.

Sürücünün bir kez daha, HTC Touch Diamond, Touch Pro, HD ve Xperia gibi tüm üst düzey güncel nesil cihazlar da dahil olmak üzere seçili HTC cihazlarını etkilediği görülüyor. Ses, düzenli aralıklarla (genellikle her 5 dakikada bir) kulaklıktan veya hoparlörden çalındığında, seste kısa bir "atlama" duyarsınız. Ses, bir gecikme/atlama/hıçkırık/tik/tip sesi olarak tanımlanmıştır. Sorun, wave aygıtı sürücüsünde veya muhtemelen donanım wave aygıtının kendisinde görünüyor (Qualcomm tekrar iş başında mı?) Sorun A2DP'de mevcut görünmüyor.

Sorun, esas olarak üçüncü taraf oyuncuları etkiliyor, çünkü HTC sorunu çözmüş gibi görünüyor, ancak yalnızca kendileri için özel bir wave sürücüsü oluşturarak.

Conduits Pocket Player ekibi konuyu araştırıyor ve cesareti kırılarak geri döndü. Konuyla ilgili söylenecek şey buydu.

HTC ses atlama sorunuyla ilgili kapsamlı testler yaptık ve bunun Conduits'in çözebileceği bir şey olmadığı sonucuna vardık. HTC Audio Manager programını ve diğer birkaç dosyayı (HTC'nin DirectShow Audio Renderer HTCRenderFlt2.dll ve HTCADXRenderer4.dll gibi) analiz ettikten sonra, her ikisinin de WaveOut sürücüsüne çok özel sistem çağrıları yaptığını gördük.

İşte bulduklarımızla ilgili bazı teknik ayrıntılar. İlk olarak, iş parçacığı veya işlem önceliğinin sorunla bir ilgisi olduğunu düşünmüyoruz. Normal ses uygulaması, sistemin çekmesi ve çalması için ses çıkışını ses verileriyle "dolu" tutan bir "waveOut arabellekleri" döngüsü kullanır. Uygulamalar, bu arabellekleri doldurmak için standart waveOutWrite işlevlerini kullanır. Pocket Player'ın bakış açısından, bu arabellekler her zaman doludur ve önceliklerin ayarlanması bunu etkilemeyecektir. Ses atlamalarını iyileştirmenin (HTC TyTN'yi etkilemiş olan) bir yolu, HKLM\Drivers\Builtin\WaveOut altında bir kayıt defteri değerini düzenleyerek WaveOut sürücüsünün iş parçacığı önceliğini artırmaktı. Bu yaklaşım burada işe yaramadı. İlginçtir ki, bu atlama sorunları masaüstü bilgisayarlarda meydana gelir. Orada, sorun, ses sürücüsünün bir sonraki ses grubunu işlemesini engelleyen, "çok uzun" süren gerçek zamanlı sürücülerle ilgilidir. Bu, bazı MacBook sürücülerinde Vista'da olur.

Ses Yöneticisi, standart waveOut çağrılarından farklı bir çıkış mekanizması kullanır – ses göndermenin başka bir yolu olan DirectShow ses oluşturucu filtresini kullanır. Nasıl çalıştığına bakıldığında, tamamen farklı bir mekanizma kullanıyor. Yeni bir mesaj kuyruğu açmak için tescilli bir waveOutMessage çağrısı kullanıyor ve bu ses daha sonra “akışa aktarılıyor”.

Pocket Player (ve diğer uygulamalar), kendi waveOut rutinleri yerine HTC Audio Renderer'ı kullanarak bu sorunu çözebilir, ancak o zaman çapraz solma ve diğer Pocket Player'a özgü özellikleri kaybederiz. Bir DirectShow filtre grafiği oluşturmak için bazı ilk testler yaptık (Ses Oluşturucuları ile tamamlandı), ancak yine de atlama yaşadık, bu nedenle ek adımlar olmalı.

Sonuç olarak, Conduits şimdi bunu üreticinin düzeltmekle yükümlü olduğu cihaza özel bir sorun olarak görüyor. Alternatif olarak, HTC ses çıkış sürücüsü için özel "akış modunu" belgelemek isterse, bu modele uyum sağlamayı düşünebiliriz.

Wavedev.dll'yi bir ROM'dan çıkarırsanız, “MP3 Akışları” ve benzerleriyle ilgili sayısız hata ayıklama mesajı görürsünüz ve bu, yazılımlarından gelen müzik için tamamen ayrı bir ses yolunu belirtir. Gerekirse, DirectShow çıktısını kullanan WaveOut çıktı eklentimizi (çıktı rutinlerimiz, tıpkı diğer eklenti türlerimiz gibi özel bir eklenti mimarisi kullanır) yeniden yazacağız.

HTC, 3. taraf yazılımları desteklemediklerini söyleyerek sorunu nasıl çözdüklerini belgelemeyi reddetti.

Tabii ki XDA-Geliştiricileri asla böyle bir durumun yalan söylemesine izin vermezler. Thx1200, bu soruna açık kaynaklı bir çözüm üretebilen ve bunu topluluğa sunabilen geliştiriciler için bir ödül başlatıyor. Şu anda ödül sadece 30 $ 'lık küçük bir miktar, ancak üçüncü taraf bir ses yazılımı kullanan herkes için bu can sıkıcı sorunu çözmek için çok daha fazla bağış yapabileceğimize eminim.

XDA-Developers'daki tüm konuyu buradan okuyunve bunun düzeltilmesi gereken bir durum olduğunu düşünüyorsanız, taahhüdünüzü de eklemeyi unutmayın.

Konular hakkında daha fazla bilgi: ses sürücüleri, htc