Rafostar
4e85f6b749
API: set some common user agent
...
Some internet sites might prevent us from access unless some sort of a user agent is set
2021-03-07 21:37:01 +01:00
Rafostar
0cd82b1b8a
API: remove video sink plugin selection
...
Clapper only has and supports one video sink. I would rather replace it than forcing support for multiple plugins.
2021-03-06 22:09:27 +01:00
Rafostar
39da52dd62
Sink: unlock widget before setting queue
...
Let GTK handle setting queue resize/render on the widget. We are not accessing widget values at this time, so it can be unlocked. It will be locked back during the render.
2021-03-06 19:16:28 +01:00
Rafał Dzięgiel
9c12afbf80
Sink: rename into GstClapperGLSink
...
The customized GTK4 sink version has few differences from the one shipped as part of GStreamer. Rename custom sink to GstClapperGLSink to avoid confusion.
2021-03-06 00:24:31 +01:00
Rafał Dzięgiel
e3c9b112e2
Sink: remove gtkconfig header
...
Remove another leftover meant for GTK3 compatibility
2021-03-05 23:27:08 +01:00
Rafał Dzięgiel
13d675beff
Sink: merge gtkwidget into single class
...
Same as with video sink. Clapper uses only one so no need for subclassing.
2021-03-05 23:23:34 +01:00
Rafał Dzięgiel
95c3845398
Sink: merge gstsink into single class
...
Clapper only uses single video sink. No need for subclassing it.
2021-03-05 21:06:03 +01:00
Rafał Dzięgiel
93549a67af
Sink: remove ignore_alpha property
...
GTK4 no longer supports ignoring alpha
2021-03-05 19:26:29 +01:00
Rafał Dzięgiel
07fb0a9a46
Sink: remove GTK4 if-defs
...
Clapper works with GTK4, so reduce codebase by removing GTK3 leftovers
2021-03-05 19:02:14 +01:00
Rafał Dzięgiel
fe3fd32932
Sink: keep track of widget allocation size
...
Instead of obtaining allocation size on each frame draw, keep track of its current size and update value on its change.
2021-03-05 18:41:26 +01:00
Rafał Dzięgiel
637212f7e8
Sink: move GL drawing logic into single function
...
No need having it in another function with additional call if it is used only from single place.
2021-03-05 18:10:35 +01:00
Rafał Dzięgiel
68bd65c225
API: snap at nearest keyframe when doing fast seek
...
GStreamer needs to perform a seek when changing playback rate. Snapping at next keyframe causes viewer to lose few seconds of video when changing playback speed (and ugly fast forward effect when dragging speed slider). Prevent all those issues by seeking to the nearest keyframe instead.
2021-02-24 11:41:40 +01:00
Rafał Dzięgiel
775ec8a780
API: fix volume functions descriptions
2021-02-24 10:44:26 +01:00
Rafał Dzięgiel
86d365872a
API: operate on cubic volume scale
...
Instead converting volume inside GJS, simplify things by making API operate on cubic volume scale.
2021-02-24 08:42:27 +01:00
Rafał Dzięgiel
6130ffa6c0
API: limit max linear volume to 3.375 (150% in cubic)
...
Clapper UI does not support volume overamp higher than 150%. Anything higher can lead to audio distortion or damaging your audio equipment.
2021-02-23 13:27:42 +01:00
Rafał Dzięgiel
68faeca918
API: Disallow pause on very short streams (< 1 sec)
...
Fixes crash when trying to pause on DVD navigation
2021-02-10 17:03:11 +01:00
Rafostar
65b4df13a8
Install gstclapper libs to app named subdirectory
2021-02-07 12:35:41 +01:00
Rafał Dzięgiel
c32bb269d7
GStreamer meson build script cleanup
2021-02-05 09:58:54 +01:00
Rafał Dzięgiel
bf04af23fe
Do a lock on a gtk_sink
...
Same object is unlocked here. Keep consistency.
2021-02-02 13:55:55 +01:00
Rafał Dzięgiel
08cde45bad
Gtk4Plugin: add drawing black fixes from Flatpak patch
2021-01-29 18:18:41 +01:00
Rafał Dzięgiel
b487d1f2c1
Gtk4Plugin: remove subtitles scaling
...
Causes jitter (even crashes on i965) when resizing video and honestly I think that subtitles rendered at video size look better.
2021-01-29 17:52:27 +01:00
Rafał Dzięgiel
2ce44d4e63
Combine GStreamer GTK4 plugin with API
...
Ship custom gtk4glsink plugin as part of API insead of normal gstreamer plugin. This avoids gstreamer plugin registry conflicts with gtk3 plugin and allows more customization.
2021-01-29 17:27:39 +01:00
Rafał Dzięgiel
fcf9426892
API: remove unused seek-done signal
2021-01-28 18:26:37 +01:00
Rafał Dzięgiel
dea77cc39f
API: notify about speed value reset on STOP
2021-01-28 17:39:52 +01:00
Rafał Dzięgiel
f7a24b20c6
API: remove media info updated signal
...
A signal telling that "something somewhere changed" that is emitted multiple times per second (when bitrate changes). Not useful at all and a disaster performance-wise.
2021-01-28 16:26:20 +01:00
Rafał Dzięgiel
f2971371e1
API: remove clapper config structure
...
Not useful anymore since the player does 1s interval by default and now supports changing seek mode without stopping playback (unlike config which worked only when stopped).
2021-01-28 16:26:20 +01:00
Rafał Dzięgiel
15302a4b62
API: use 1s update position interval by default
2021-01-28 16:26:20 +01:00
Rafał Dzięgiel
e731842b08
API: remove "volume-changed" signal in favor of "notify::volume"
...
We do not need both and notify is better here cause it allows binding volume scale value to the volume prop
2021-01-28 16:26:20 +01:00
Rafał Dzięgiel
90697d81a7
API: fix debug category init with bindings
2021-01-28 16:26:09 +01:00
Rafał Dzięgiel
bbcba3ccc6
API: disable notify on props where it is unused
...
Notify signal is a little problematic here as we already post a signal from player while jumping between APP and API contexts. Limit and disable it where not needed.
2021-01-28 09:10:43 +01:00
Rafał Dzięgiel
5785204c28
API: prevent "notify::caps" from being reconnected on each start
2021-01-28 08:32:49 +01:00
Rafał Dzięgiel
3abfd2a5df
API: add TOC support (video chapters)
2021-01-28 00:23:01 +01:00
Rafał Dzięgiel
5cc312130d
API: set seek mode without stopping playback
2021-01-28 00:23:01 +01:00
Rafał Dzięgiel
08f86cf0cc
Include "GstPlayer" lib renamed to "GstClapper" as part of the app
2021-01-28 00:22:48 +01:00