Birleştirilmiş Plan SDP biçimi - geçiş planı

Google, Chrome'un WebRTC uygulamasını mevcut birkaç SDP biçiminden ("B Planı" olarak adlandırılır) sonraki birkaç çeyrekte standart uyumlu hale getirme biçimine ("Birleştirilmiş Plan", taslak-ietf-rtcweb-jsep) geçmeyi planlıyor.

Plan 5 aşama ve bir geçici API özelliği içerir.

Kimler etkilenecek?

Tek bir bağlantıda birden fazla ses kanalı veya birden çok video kanalı kullanan kullanıcıların, ürünlerini Birleştirilmiş Plan altında test edip uygun şekilde uyum sağlamaları gerekir. Chrome dışındaki bir uç noktadan başlatılan ve Chrome tarafından yanıtlanan bir durumda, teklifin biçimi değişebilir. Ayrıntılı SDP ayrıştırması yapan ve msid özellikleriyle ilgilenen kişilerin, ayrıştırma kodlarının yeni biçimi (a=msid) alıp almadığını kontrol etmesi gerekir. Değişikliklerin gerekli olup olmayacağı ve uygulamaların nasıl değişmesi gerektiğiyle ilgili ayrıntılar uygulamaya bağlıdır. RTCPeerConnection başına yalnızca tek bir ses ve tek bir video kanalı kullanan hemen hemen tüm uygulamaların bu değişiklikten etkilenmeyeceğini düşünüyoruz.

API özelliği

RTCPeerConnection'ın RTCConfiguration'ına yeni bir özellik ekliyoruz:

enum SdpSemantics {
  "plan-b",
  "unified-plan"
};


partial dictionary RTCConfiguration {
   SdpSemantics sdpSemantics;
}

RTCConfiguration, bir RTCPeerConnection oluşturucuya iletilebilir ve oluşturulan tüm teklifler ve yanıtlar Birleşik Plan biçiminde olacaktır. setLocalDescription ve setRemoteDescription çağrıları da SDP'nin Birleşik Plan biçiminde olmasını bekler; eski Chrome biçimindeyse ilk ses parçası ve ilk video kanalı hariç tümü yok sayılır.

Ayrıca, bu işaretin varsayılan değerinin "unified-plan" olarak ayarlanmasına olanak tanıyan bir komut satırı işareti (Chrome M71 ve sonraki sürümlerinde -enable-features=RTCUnifiedPlanByDefault, önceki sürümlerde –enable-blink-features=RTCUnifiedPlanByDefault) bulunur.

Aşamalar

1. Aşama: Birleşik Plan'ı uygulama

Bu aşamada, Birleşik Plan, M65'ten bu yana kullanımda olan bir deneme işaretinin arkasında geliştiriliyordu. 2. aşamaya kadar, "–enable-blink-features=RTCUnifiedPlan" özelliğini kullanarak Chrome Canary ile test yapmak akıllıcaydı.

2. Aşama: API özelliğini genel kullanıma sunma

M69 sürümü (beta Ağustos 2018, Eylül 2018 kararlı)

Bu aşamada sdpSemantics bayrağının varsayılan değeri "plan-b" idi. 2. aşamada, SDP biçimine bağlı uygulamalara sahip kullanıcıların, Birleştirilmiş Plan kullanılırken uygulamalarının çalışıp çalışmadığını test etmek için testler yapması bekleniyordu. Firefox'u destekleyen uygulamalar için bunun çok basit bir alıştırma olmasını bekliyoruz: Yalnızca Firefox'ta yaptığınız gibi yapabilirsiniz.

sdpSemantics işaretinin varsayılan değeri "chrome://flags" bölümünden değiştirilebilir. "WebRTC: Varsayılan olarak Birleştirilmiş Plan SDP Semantiğini Kullan" özelliğini arayın.

3. Aşama: Varsayılanı değiştirme

Geçişin tarihi M72'ydi (beta Aralık 2018, Ocak 2019 kararlı).

Bu aşamada sdpSemantics bayrağının varsayılan değerini "birleştirilmiş plan" olarak değiştirdik. Dönüşüm gerçekleştirmek için daha fazla zamana ihtiyaç duyduklarını tespit eden uygulamalar, önceki davranışın kurtarılması için sdpSemantics işaretini açık bir şekilde "plan-b" olarak ayarlamıştır.

4. Aşama: "B Planı"nı hazırlayın

Bu aşamada sdpSemantics bayrağının "plan-b" olarak ayarlanması, bir istisnaya neden olur. M93'ten itibaren Kanarya'da fırlatılıyor. M96 itibarıyla bu durum, Stabil kanalı da dahil olmak üzere tüm kanallarda büyük bir etki yarattı.

Bu aşamada, B planının istisna olmadan kullanılmasına izin veren bir Kullanımdan Kaldırma Denemesi yapıldı ancak deneme sürümü 25 Mayıs 2022'de çalışmayı durdurdu.

5. Aşama: "B Planı"nı Chromium'dan kaldırın

Deneme süresi sona erdikten sonra B Planı Chrome'dan kaldırılır. Bu noktada sdpSemantics işareti kaldırılır. Bunu "plan-b" olarak ayarlamaya çalışmak istisna oluşturmaz ancak artık herhangi bir etkisi olmaz.

B Planı hâlâ özel bayraklar veya özel yapıların arkasında kullanılabilir ancak tam kod kaldırma işlemi 2022'nin ikinci yarısında gerçekleşecek.

6. Aşama: "B Planı"nı WebRTC'den kaldırın ve kaldırın

B Planı WebRTC'de zaten kullanımdan kaldırıldı olarak işaretlendi ancak kullanılabilir durumda. Kaldırma işlemi 2023'te gerçekleşecektir.

Uygulamanızı Birleştirilmiş Plan İçin Hazırlama

B Planı ve Birleşik Plan farklılıkları ve uygulamanızın Birleşik plana hazırlanmak için nasıl güncellenebilmesi gerekebileceği hakkında ayrıntılı bilgi için "Birleştirilmiş Plan" Geçiş Kılavuzu (JavaScript) bölümüne bakın.

Yerel (C++) uygulamalar için "Yerel/mobil uygulamanızı Birleşik Plan'a taşıma" başlıklı dokümana bakın.