/* Ċ Ġ* ĠCopyright Ġ@ Ġ 2 0 1 9 - Present Ġ 8 x 8 , ĠInc Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ package Ġorg . j its i . nl j . rtp Ċ Ċ /** Ċ Ġ* ĠRepresents Ġa Ġsign alled ĠR TP Ġheader Ġextension . Ċ Ġ* Ċ Ġ* Ġ@ author ĠBor is ĠGro ze v Ċ Ġ*/ Ċ data Ġclass ĠR tp Extension ( ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe ĠID Ġthat Ġwas Ġsign alled . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġid : ĠByte , ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe Ġtype . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġval Ġtype : ĠR tp Extension Type Ċ ) Ċ Ċ /** Ċ Ġ* ĠRepresents Ġan ĠR TP Ġheader Ġextension Ġtype . Ċ Ġ* Ċ Ġ* Ġ@ author ĠBor is ĠGro ze v Ċ Ġ*/ Ċ enum Ġclass ĠR tp Extension Type ( val Ġuri : ĠString ) Ġ{ ĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe ĠU RN Ġidentifying Ġthe ĠR TP Ġextension Ġthat Ġallows Ġmix ers Ġto Ġsend Ġto ĊĠĠĠĠ Ġ* Ġconference Ġparticipants Ġthe Ġaudio Ġlevels Ġof Ġall Ġcontributing Ġsources . ĊĠĠĠĠ Ġ* ĠDefined Ġin ĠRFC 6 4 6 5 . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠC SRC _ AUDIO _ LEVEL (" urn : ietf : params : rtp - hd re xt : c src - audio - level "), ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe ĠU RN Ġidentifying Ġthe ĠR TP Ġextension Ġthat Ġallows Ġclients Ġto Ġsend Ġto ĊĠĠĠĠ Ġ* Ġconference Ġmix ers Ġthe Ġaudio Ġlevel Ġof Ġtheir Ġpacket Ġpayload . ĠDefined Ġin ĊĠĠĠĠ Ġ* ĠRFC 6 4 6 4 . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠS SRC _ AUDIO _ LEVEL (" urn : ietf : params : rtp - hd re xt : ss rc - audio - level "), ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe ĠU RN Ġidentifying Ġthe Ġabs - send - time ĠR TP Ġextension . ĊĠĠĠĠ Ġ* ĠDefined Ġat ĊĠĠĠĠ Ġ* Ġ{@ link Ġ" http :// www . webrtc . org / experiments / rtp - hd re xt / abs - send - time "} ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠA BS _ SEND _ TIME (" http :// www . webrtc . org / experiments / rtp - hd re xt / abs - send - time "), ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe ĠU RN Ġwhich Ġidentifies Ġthe Ġframe mark ing ĠR TP Ġextension Ġdefined Ġat ĊĠĠĠĠ Ġ* Ġ{@ link Ġ" https :// tools . ietf . org / html / draft - ietf - av text - frame mark ing - 0 3 "} ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠFRAME _ MARK ING (" http :// tools . ietf . org / html / draft - ietf - av text - frame mark ing - 0 7 "), ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe ĠU RN Ġwhich Ġidentifies Ġthe ĠOriginal ĠHeader ĠBlock ĠR TP Ġextension Ġdefined ĊĠĠĠĠ Ġ* Ġin Ġ{@ link Ġ" https :// tools . ietf . org / html / draft - ietf - perc - double - 0 2 "} . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠOR IGIN AL _ HEADER _ BLOCK (" urn : ietf : params : rtp - hd re xt : oh b "), ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe ĠU RN Ġwhich Ġidentifies Ġthe ĠTransport - Wide ĠCon gestion ĠControl ĠR TP ĊĠĠĠĠ Ġ* Ġextension . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠTRAN SP ORT _ CC (" http :// www . ietf . org / id / draft - hol mer - rm cat - transport - wide - cc - extensions - 0 1 "), ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe ĠU RN Ġwhich Ġidentifies Ġthe Ġr tp - stream - id Ġextensions ĊĠĠĠĠ Ġ* Ġin Ġ{@ link Ġ" https :// tools . ietf . org / html / draft - ietf - mm usic - rid - 1 0 "} . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠR TP _ STREAM _ ID (" urn : ietf : params : rtp - hd re xt : s des : rtp - stream - id "), ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe ĠU RN Ġwhich Ġidentifies Ġthe Ġtransmission Ġtime - offset Ġextensions ĊĠĠĠĠ Ġ* Ġin Ġ{@ link Ġ" https :// tools . ietf . org / html / rfc 5 4 5 0 "} . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠT OF (" urn : ietf : params : rtp - hd re xt : to ffset "), ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe ĠU RN Ġwhich Ġidentifies Ġthe ĠR TP ĠHeader ĠExtension Ġfor ĠVideo ĠContent ĠType . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠV IDE O _ CONTENT _ TYPE (" http :// www . webrtc . org / experiments / rtp - hd re xt / video - content - type "), ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠThe ĠU RN Ġwhich Ġidentifies Ġthe ĠR TP ĠHeader ĠExtension Ġfor ĠVideo ĠOrientation . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ ĠV IDE O _ OR IENTATION (" urn : 3 g pp : video - orientation "); ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġprivate Ġval Ġuri Map Ġ= ĠR tp Extension Type . values (). associate By ( R tp Extension Type :: uri ) ĊĠĠĠĠĠĠĠ Ġfun Ġcreate From Uri ( uri : ĠString ): ĠR tp Extension Type ? Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠ Ġuri Map . get OrDefault ( uri , Ġnull ) ĊĠĠĠ Ġ} Ċ } Ċ