Watch for "adaptive-bandwidth" changes during adaptive streaming, use these to
set "adaptive-start-bitrate" player property, so we do not always start streaming
from some constant bitrate value which might not be the best for everyone.
Additionally, store last value in GSettings on app exit and also add a command
line arg to set this too.
When a new window is created, apply all current values to it (volume, speed,
set GStreamer elements, etc.). It would not be the best experience when user
opens a new window, plays something and 100% volume is used in it.
Instead of running into warnings or other problems when user
specifies an out of range value for command line option, just
clamp them to nearest allowed one.
Now that we are using both local and global command line vfuncs, we
can just get and apply options in them and free values later.
This avoids having options global and static.
A rewritten Clapper video player made using "Clapper" and "ClapperGtk" libraries.
Since both libraries from this repo are in C, newly rewritten Clapper binary is also in C to
avoid mixing different programming languages in a single repo, thus making maintenance easier.
Not depending on GJS gives us also an additional benefit of supporting different operating
systems or linux shells without pulling GJS as dependency.
Licensed under GPL-3.0-or-later.