1. Giriş
Bu belirtim kapsamında HTML'de eşler arası iletişim ve video konferansla ilgili bir dizi unsur ele alınmaktadır:
Bu belge, bu özellikler için kullanılan API'leri tanımlar. Bu belirtim, IETF RTCWEB grubu tarafından geliştirilen bir protokol belirtimi ve WebRTC Çalışma Grubu tarafından geliştirilen yerel medya aygıtlarına erişim sağlamak için bir API belirtimi olan [GETUSERMEDIA] ile birlikte geliştirilmektedir. Sistemin genel bir görünümü [RFC8825] ve [RFC8826] içinde bulunabilir.
2. Uygunluk
Normatif olmayan olarak işaretlenmiş bölümlerin yanı sıra, bu belirtimdeki tüm yazım yönergeleri, diyagramlar, örnekler ve notlar normatif değildir. Bu belirtimde yer alan diğer her şey normatiftir.
Uygunluk Kapsamı
Bu belirtim, tek bir ürüne uygulanan uygunluk ölçütlerini tanımlar: içerdiği arayüzleri uygulayan kullanıcı aracısı.
Uygulama Esnekliği
Algoritmalar veya belirli adımlar şeklinde ifade edilen uygunluk gereksinimleri, nihai sonuç eşdeğer olduğu sürece herhangi bir şekilde uygulanabilir.
ECMAScript Bağlamaları
Bu belirtimde tanımlanan API'leri uygulamak için ECMAScript kullanan uygulamaların, bunları Web IDL belirtiminde [WEBIDL] tanımlanan ECMAScript bağlamalarıyla tutarlı bir biçimde uygulaması gerekir (MUST); çünkü bu belirtim söz konusu belirtimi ve terminolojiyi kullanır.
3. Terminoloji
Olay işleyicileri için kullanılan bir geri çağrıyı temsil eden EventHandler arayüzü [HTML]
içinde tanımlanmıştır.
Bir görevi kuyruğa alma ve ağ oluşturma görev kaynağı kavramları [HTML] içinde tanımlanmıştır.
Olay, olay işleyicileri ve olay işleyici olay türleri terimleri [HTML] içinde tanımlanmıştır.
Serileştirilebilir nesneler, serileştirme adımları ve deserileştirme adımları terimleri [HTML] içinde tanımlanmıştır.
Bir olayı tetikleme kavramı [DOM] içinde tanımlanmıştır.
Performance.timeOrigin ve Performance.now()
[hr-time] içinde tanımlanmıştır.
MediaStream, MediaStreamTrack ve MediaStreamConstraints terimleri
[GETUSERMEDIA] içinde tanımlanmıştır. MediaStreamin bu belgede 9.2 MediaStream bölümünde
genişletildiğini, MediaStreamTrackin ise bu belgede 9.3 MediaStreamTrack bölümünde genişletildiğini
unutmayın.
Blob terimi [FILEAPI] içinde tanımlanmıştır.
İstisnalara atıfta bulunulurken, throw ve created terimleri [WEBIDL] içinde
tanımlanmıştır.
VoidFunction geri çağrısı [WEBIDL] içinde tanımlanmıştır.
throw terimi [INFRA] içinde belirtildiği şekilde kullanılır: mevcut işlem adımlarını sonlandırır.
Medya açıklaması terimi [RFC4566] içinde tanımlanmıştır.
Medya aktarımı terimi [RFC7656] içinde tanımlanmıştır.
Nesil terimi [RFC8838] Bölüm 2 içinde tanımlanmıştır.
Promise bağlamında kullanılan fulfilled, rejected, resolved ve
settled terimleri [ECMASCRIPT-6.0] içinde tanımlanmıştır.
İstatistik nesnesi ve izlenen nesne terimleri [WEBRTC-STATS] içinde tanımlanmıştır.
AlgorithmIdentifier [WebCryptoAPI] içinde tanımlanmıştır.
run-to-completion ilkesi ve veri yarışı olmaması ilkesi
dahil olmak üzere, JavaScript API'leri için genel ilkeler burada da geçerlidir. Yani, bir görev çalışırken dış
olaylar JavaScript uygulamasının görebildiği durumu etkilemez. Örneğin, JavaScript çalışırken
"send" çağrıları nedeniyle bir veri kanalında arabelleğe alınan veri miktarı artar;
paketlerin gönderilmesi sonucu oluşan azalma ise ancak bir görev denetim noktasından sonra görünür.
Uygulamaya sunulan değerler kümesinin tutarlı olmasını sağlamak kullanıcı aracısının sorumluluğundadır; örneğin,
getContributingSources() (eşzamanlıdır) aynı anda ölçülen tüm kaynaklar için değerler döndürmelidir.