3.6.1. Creating an imageattr Attribute (Erstellen eines imageattr-Attributs)
3.6.1. Creating an imageattr Attribute (Erstellen eines imageattr-Attributs)
Der Empfänger kombiniert zunächst alle bekannten lokalen Einschränkungen (z. B. Hardware-Decoder-Fähigkeiten oder lokale Richtlinien), um die absoluten Mindest- und Maximalgrößen zu bestimmen, die er empfangen kann. Wenn keine bekannten lokalen Einschränkungen vorhanden sind, SOLLTE das "a=imageattr"-Attribut weggelassen werden. Wenn diese lokalen Einschränkungen den Empfang jeglichen Videos ausschließen, d. h. im degenerierten Fall keiner zulässigen Auflösungen, MUSS das "a=imageattr"-Attribut weggelassen werden, und der "m="-Abschnitt MUSS entsprechend als sendonly/inactive markiert werden.
Andernfalls wird ein "a=imageattr"-Attribut mit einer "recv"-Richtung erstellt, und der resultierende Auflösungsraum, der aus der oben genannten Schnittmenge gebildet wird, wird verwendet, um seine minimalen und maximalen "x="- und "y="-Werte anzugeben.
Die Regeln hier drücken einen einzelnen Satz von Präferenzen aus, und daher ist der "q="-Wert von "a=imageattr" nicht wichtig. Er SOLLTE auf "1.0" gesetzt werden.
Das "a=imageattr"-Feld ist payload-typ-spezifisch. Wenn alle unterstützten Video-Codecs die gleichen Fähigkeiten haben, wird die Verwendung eines einzelnen Attributs mit dem Wildcard-Payload-Typ (*) EMPFOHLEN. Wenn die unterstützten Video-Codecs jedoch unterschiedliche Einschränkungen haben, MÜSSEN spezifische "a=imageattr"-Attribute für jeden Payload-Typ eingefügt werden.
Als Beispiel betrachten Sie ein System mit einem Multiformat-Videodecoder, der jede Auflösung von 48x48 bis 720p dekodieren kann. In diesem Fall würde die Implementierung dieses Attribut generieren:
a=imageattr:* recv [x=[48:1280],y=[48:720],q=1.0]
Diese Deklaration zeigt an, dass der Empfänger in der Lage ist, jede Bildauflösung von 48x48 bis 1280x720 Pixel zu dekodieren.