+ /// <summary>
+ /// Gets or sets the rotation value of the current packet.
+ /// </summary>
+ /// <exception cref="ArgumentException">The specified value to set is invalid.</exception>
+ /// <exception cref="ObjectDisposedException">The MediaPacket has already been disposed of.</exception>
+ /// <exception cref="InvalidOperationException">
+ /// The MediaPacket is not in the writable state, which means it is being used by another module.
+ /// </exception>
+ /// <since_tizen> 5 </since_tizen>
+ public Rotation Rotation
+ {
+ get
+ {
+ ValidateNotDisposed();
+
+ int ret = Native.GetRotation(_handle, out var value);
+ MultimediaDebug.AssertNoError(ret);
+
+ var rotation = value < RotationFlip.HorizontalFlip ? (Rotation)value : Rotation.Rotate0;
+
+ return rotation;
+ }
+ set
+ {
+ ValidateNotDisposed();
+ ValidateNotLocked();
+ ValidationUtil.ValidateEnum(typeof(Rotation), value, nameof(value));
+
+ int ret = Native.SetRotation(_handle, (RotationFlip)value);
+ MultimediaDebug.AssertNoError(ret);
+ }
+ }
+
+ /// <summary>
+ /// Gets or sets the flip value of the current packet.
+ /// </summary>
+ /// <remarks>
+ /// <see cref="Flips.None"/> will be ignored in set case. It's not supported in Native FW.
+ /// </remarks>
+ /// <exception cref="ArgumentException">The specified value to set is invalid.</exception>
+ /// <exception cref="ObjectDisposedException">The MediaPacket has already been disposed of.</exception>
+ /// <exception cref="InvalidOperationException">
+ /// The MediaPacket is not in the writable state, which means it is being used by another module.
+ /// </exception>
+ /// <since_tizen> 5 </since_tizen>
+ public Flips Flip
+ {
+ get
+ {
+ ValidateNotDisposed();
+
+ int ret = Native.GetRotation(_handle, out var value);
+ MultimediaDebug.AssertNoError(ret);
+
+ var flip = (value < RotationFlip.HorizontalFlip) ? Flips.None :
+ (value == RotationFlip.HorizontalFlip ? Flips.Horizontal : Flips.Vertical);
+
+ return flip;
+ }
+ set
+ {
+ ValidateNotDisposed();
+ ValidateNotLocked();
+ ValidationUtil.ValidateEnum(typeof(Flips), value, nameof(value));
+
+ if (value == Flips.None)
+ {
+ return;
+ }
+
+ var flip = value == Flips.Horizontal ? RotationFlip.HorizontalFlip : RotationFlip.VerticalFlip;
+
+ int ret = Native.SetRotation(_handle, flip);
+ MultimediaDebug.AssertNoError(ret);
+ }
+ }
+