HLS bufferAppendError Sorununun Geçici Çözümü
HLS stream'de bufferAppendError hatası nedeniyle bazı şarkılar çalmıyordu.
Geçici çözüm olarak tüm stream'ler MP3 formatına yönlendirildi.
⚠️ Bu geçici bir düzeltmedir. Kalıcı çözüm için FFmpeg filtreleri düzeltilip şarkılar yeniden HLS'e convert edilmelidir.
Bazı şarkılar HLS (parçalı stream) formatında çalarken hata veriyordu.
Şarkı 0. saniyede takılıp başlamıyordu. Konsol'da
bufferAppendError
ve fragParsingError hatası görünüyordu.
Backend, stream isteğinde stream_type: 'mp3' döndürecek şekilde değiştirildi. Böylece player HLS yerine direkt MP3 kullanıyor - hatasız, stabil çalışıyor.
✅ Sonuç: Tüm şarkılar sorunsuz çalıyor
Modules/Muzibu/App/Http/Controllers/Api/SongStreamController.php
Asıl Dosya
Satır 163:
// ❌ ÖNCE:
'stream_type' => 'hls',
// ✅ SONRA:
'stream_type' => 'mp3', // 🔧 GEÇİCİ FIX: HLS bufferAppendError önleme
Modules/Muzibu/App/Http/Controllers/Api/SongController.php
Eski/Deprecated
Satır 253:
// ❌ ÖNCE:
'type' => !empty($song->hls_path) ? 'hls' : 'mp3',
// ✅ SONRA:
'type' => 'mp3', // 🔧 GEÇİCİ FIX
⚠️ Not: Bu dosya artık kullanılmıyor ama yedek olarak değiştirildi
/api/muzibu/songs/{id}/stream
Player bu endpoint'i çağırdığında artık stream_type: 'mp3' dönüyor.
HLS URL verilse bile player MP3 modunda çalışıyor.
// player-core.js:4346-4364
let useHls = false;
if (streamType) {
useHls = streamType === 'hls'; // ❌ 'mp3' geldiği için false
}
if (useHls) {
this.isHlsStream = true;
await this.playHlsStream(url, targetVolume, autoplay); // ❌ Çalışmaz
} else {
this.isHlsStream = false;
await this.playWithHowler(url, targetVolume, autoplay); // ✅ Burası çalışır
}
Howler.js MP3 stream'i oynatır - HLS.js bypass edilir.
✅ Evet, tüm güvenlik sistemleri aktif:
Sadece stream_type değişti, güvenlik katmanları aynen çalışıyor.
Daha önce hata veren şarkıyı çal
Örnek: Song ID 36102 (Everything Moves)
Console'u kontrol et
✅ Beklenen: isHlsStream = false görünmeli
❌ Olmamalı: bufferAppendError hatası
Şarkı çalıyor mu kontrol et
0. saniyede takılmamalı, ses çıkmalı
Network sekmesini kontrol et
✅ Beklenen: /api/muzibu/songs/{id}/serve (MP3 dosyası)
❌ Olmamalı: .m3u8 veya segment-*.ts istekleri
💡 Not: Tüm şarkılar MP3 modunda çalacak. HLS kullanılmayacak.
FFmpeg Filtre Düzeltmesi
ConvertToHLSJob.php'de stereotools filtresini kaldır veya daha hafif bir EQ kombinasyonu kullan
Bozuk Şarkıları Tespit Et
hls_path IS NOT NULL olan şarkıları yeniden convert et
Toplu Conversion
Queue job ile tüm HLS dosyalarını yeni filtre ile yeniden oluştur
Bu Fix'i Geri Al
stream_type: 'hls' şeklinde geri değiştir
Test & Doğrulama
Önceden hata veren şarkıları HLS modunda test et
31d45b5c5
🔧 CHECKPOINT: Before MP3 fallback (HLS fragParsingError geçici fix)
Bu commit'e geri dönmek için: git reset --hard 31d45b5c5