### Description
Parse width and height of video correctly using FFProbe by
- Considering both `coded_height` & `height` + `coded_width` + `width`
keys to parse height and width of video. Came across two videos where
`coded_width` and `coded_height` were both `0` where as `height` and
`width` had the correct values.
- Parse `rotation` from `side_data_list` and consider `rotation` for
accurate (i.e, not flipped) dimensions.
Have made sure the correct height and width of the video is shown on the
video's file info. Sometimes there could be a slight difference from
what a user would expect, if the `coded_side` is different from `side`
(`side` is `width` or `height`). Will be fixing this in future.
Ref:
https://superuser.com/questions/1523944/whats-the-difference-between-coded-width-and-width-in-ffprobe
## Description
- Stopped updating image width and height in public metadata since the
these could be incorrect (width and height inverted to be precise).
- Parse `rotation` metadata from video metadata when parsing video
properties with `ffprobe` to get the correct video width and height
considering `rotation`.
### Pull Request Description
*Features Added:*
1. *App Lock Options:*
- *Device Lock*: Users can set the app lock to utilize the device's
default lock mechanism (e.g., fingerprint, face recognition, or device
PIN/password).
- *Custom PIN/Password*: Users have the option to set a custom PIN or
password for app lock.
2. *Authentication for App Lock Settings:*
- When users attempt to change the app lock settings, they must
authenticate using the currently set PIN/password or, if none is set,
the device lock.
3. *App Lock on Background and Quit:*
- The app will prompt for authentication when it is brought back to the
foreground after being in the background or when the app is restarted.
4. *Incremental Lock Timer:*
- A timer mechanism is implemented which starts at 30 seconds after few
incorrect unlock attempts.
- The lockout time doubles after each incorrect attempt, increasing
delay penalties.
- After 10 incorrect attempts, the user is automatically logged out.