Skip to content

Commit

Permalink
[Camera] Fix ExtraPreview bugs (Samsung#4861)
Browse files Browse the repository at this point in the history
  • Loading branch information
hsgwon authored and Seoyeon2Kim committed Jan 10, 2023
1 parent 40105a1 commit b6f9a12
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 7 deletions.
30 changes: 24 additions & 6 deletions src/Tizen.Multimedia.Camera/Camera/CameraSettings.cs
Original file line number Diff line number Diff line change
Expand Up @@ -1297,7 +1297,7 @@ public void SetExtraPreviewBitrate(int streamId, int bitrate)
/// <exception cref="ObjectDisposedException">The camera has already been disposed. </exception>
public int GetExtraPreviewGopInterval(int streamId)
{
Native.GetExtraPreviewBitrate(_camera.GetHandle(), streamId, out int gopInterval).
Native.GetExtraPreviewGopInterval(_camera.GetHandle(), streamId, out int gopInterval).
ThrowIfFailed("Failed to get extra preview gop interval");

return gopInterval;
Expand All @@ -1307,26 +1307,44 @@ public int GetExtraPreviewGopInterval(int streamId)
/// Sets The GOP(Group Of Pictures) interval of extra preview with given stream ID.
/// </summary>
/// <param name="streamId">The stream ID.</param>
/// <param name="gopInterval">The stream ID.</param>
/// <param name="gopInterval">The GOP interval for extra preview.</param>
/// <since_tizen> 10 </since_tizen>
/// <exception cref="ObjectDisposedException">The camera has already been disposed. </exception>
public void SetExtraPreviewGopInterval(int streamId, int gopInterval)
{
Native.SetExtraPreviewBitrate(_camera.GetHandle(), streamId, gopInterval).
Native.SetExtraPreviewGopInterval(_camera.GetHandle(), streamId, gopInterval).
ThrowIfFailed("Failed to set extra preview gop interval");
}

/// <summary>
/// Gets the rotation of extra preview with given stream ID.
/// Gets the rotation of preview frame with given stream ID.
/// </summary>
/// <param name="streamId">The stream ID.</param>
/// <returns>A rotation of extra preview.</returns>
/// <since_tizen> 10 </since_tizen>
/// <exception cref="ObjectDisposedException">The camera has already been disposed. </exception>
public Rotation GetExtraPreviewRotation(int streamId)
=> GetPreviewFrameRotation();

/// <summary>
/// Gets the rotation of preview frame.
/// </summary>
/// <returns>A rotation of preview frame.</returns>
/// <exception cref="ObjectDisposedException">The camera has already been disposed. </exception>
[EditorBrowsable(EditorBrowsableState.Never)]
public Rotation GetExtraPreviewRotation()
=> GetPreviewFrameRotation();

/// <summary>
/// Gets the rotation of preview frame.
/// </summary>
/// <returns>A rotation of preview frame.</returns>
/// <exception cref="ObjectDisposedException">The camera has already been disposed. </exception>
[EditorBrowsable(EditorBrowsableState.Never)]
public Rotation GetPreviewFrameRotation()
{
Native.GetExtraPreviewRotation(_camera.GetHandle(), streamId, out Rotation rotation).
ThrowIfFailed("Failed to get extra preview gop interval");
Native.GetPreviewFrameRotation(_camera.GetHandle(), out Rotation rotation).
ThrowIfFailed("Failed to get preview frame rotation");

return rotation;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -254,6 +254,6 @@ internal static partial class CameraSettings
internal static extern CameraError GetExtraPreviewGopInterval(IntPtr handle, int streamId, out int gopInterval);

[DllImport(Libraries.Camera, EntryPoint = "camera_attr_get_preview_frame_rotation")]
internal static extern CameraError GetExtraPreviewRotation(IntPtr handle, int streamId, out Rotation rotation);
internal static extern CameraError GetPreviewFrameRotation(IntPtr handle, out Rotation rotation);
}
}

0 comments on commit b6f9a12

Please sign in to comment.