mirror of
https://github.com/Rafostar/clapper.git
synced 2025-08-29 23:32:04 +02:00
An easy to use media playback library (libclapper) as a GstPlayer replacement. Previously we tried to use upstream `gstplayer` library to control playback and pass all events from multiple threads GStreamer uses into an app main thread. Since this caused some thread racy problems and we needed additional ABI breaking changes to better suit our needs, we ended up with a modified fork of said library renamed to `gstclapper` as a temporary solution. This new library simply named `clapper` replaces our previous `gstclapper` solution and is written completely from scratch by myself. The aim here is to have an easy to use playback library better suited to work with (but not limited to) GTK and GObject properties bindings by relying on "notify" signals. Major differences include: * Operates on a playback queue (inherits `GListModel` interface) instead of a single URI * Uses "notify" signals for property changes always dispatched to app thread * Time is passed/read as decimal number in seconds instead of int64 in nanoseconds * Integrates `GstDiscoverer` to figure out media info (such as title) before playback * Easy to use MPRIS support as part of library * Optional playback remote controls with WebSocket messages The new library will be distributed with Clapper player. This includes public headers and GObject Introspection support. Licensed under LGPL-2.1-or-later. Enjoy
61 lines
1.2 KiB
Meson
61 lines
1.2 KiB
Meson
# Build
|
|
option('clapper',
|
|
type: 'feature',
|
|
value: 'auto',
|
|
description: 'Build Clapper library'
|
|
)
|
|
option('gst-plugin',
|
|
type: 'feature',
|
|
value: 'auto',
|
|
description: 'Build GStreamer plugin (includes GTK video sink element)'
|
|
)
|
|
option('introspection',
|
|
type: 'feature',
|
|
value: 'auto',
|
|
description: 'Build GObject Introspection data'
|
|
)
|
|
option('vapi',
|
|
type: 'feature',
|
|
value: 'auto',
|
|
description: 'Build Vala bindings'
|
|
)
|
|
option('doc',
|
|
type: 'boolean',
|
|
value: false,
|
|
description: 'Build documentation'
|
|
)
|
|
|
|
# Features
|
|
option('discoverer',
|
|
type: 'feature',
|
|
value: 'auto',
|
|
description: 'Build Clapper Discoverer feature'
|
|
)
|
|
option('mpris',
|
|
type: 'feature',
|
|
value: 'auto',
|
|
description: 'Build Clapper MPRIS feature'
|
|
)
|
|
option('server',
|
|
type: 'feature',
|
|
value: 'auto',
|
|
description: 'Build Clapper Server feature'
|
|
)
|
|
|
|
# GStreamer plugin options
|
|
option('glimporter',
|
|
type: 'feature',
|
|
value: 'auto',
|
|
description: 'Build GL memory importer for clappersink'
|
|
)
|
|
option('gluploader',
|
|
type: 'feature',
|
|
value: 'auto',
|
|
description: 'Build GL uploader for clappersink'
|
|
)
|
|
option('rawimporter',
|
|
type: 'feature',
|
|
value: 'auto',
|
|
description: 'Build RAW system memory importer for clappersink'
|
|
)
|