Commit graph

45 commits

Author SHA1 Message Date
Stéphane Cerveau 1f200f4f30 app: update to gtk 0.8.0 and gst 0.22.2
In the change, the glib::channel has been dropped to use
async_io which achieves the same to receive message
for the logger and display it in the treeview.
Another message is received when a new gtkpaintablesink
has been instanciated.
2024-03-14 16:34:55 +01:00
Stéphane Cerveau 9c8a578e05 gps: fix typos and format detected by pre-commit 2024-01-05 11:25:03 +01:00
Stéphane Cerveau 3aded523c2 element: add property special case for float 2024-01-03 13:52:04 +01:00
Stéphane Cerveau a6f03db8f6 element: element property special convert for enum and flags
In element_property, add special case enum and flags
property to use a better value such as nick or the
proper u32 flags
2024-01-03 13:25:49 +01:00
Stéphane Cerveau 8c6cda2e92 player: feed the app with gst logs
Get the debug callback to retrieve the gst logs
and display it in the debug tab.
2023-11-30 11:54:15 +01:00
Stéphane Cerveau 9c03de5d00 player: keep a reference to bus_watch_guard
In order to receive the message from the bus
the API enforces to keep a reference to the bus_watch_guard
otherwise the watch gets lost.
2023-11-30 11:52:28 +01:00
Stéphane Cerveau 24121856ee app: use the channel to receive other logs
Add another logger to receive message, events or GST logs
2023-11-30 11:52:28 +01:00
Stéphane Cerveau f4be2299b9 graphbook: introduce element_factory_exists
This method helps to tell if a factory exists
when loading a graph.
If the factory does not exists, use light mode
to display it and prevent some menu item
and change its description.
2023-09-18 12:34:58 +02:00
Stéphane Cerveau 4a5964c340 app: manage graphtab as a tab of notebook
graph tab in the graphbook containing a player
and a graphview
2023-09-16 10:37:59 +02:00
Stéphane Cerveau 3fbaa3166d player: register external plugins only once
In case of multiple graph tab the player was registering
several time the gtk4paintablesink
2023-09-15 11:56:16 +02:00
Stéphane Cerveau 375f083cbf cargo: update rust, gtk and gstreamer version 2023-08-31 17:23:58 +02:00
Stéphane Cerveau 16db9ab30a app: remove special use case with caps filter 2023-08-26 12:52:30 +02:00
Stéphane Cerveau ad6c53a531 app: support of caps filter by link name 2023-08-26 12:52:30 +02:00
Stéphane Cerveau 88ec98bcef player: generate a graph from a pipeline description 2023-02-14 10:18:06 +01:00
Stéphane Cerveau c0220c4bdb element: change api to allow the use of direct gst::element
Fetch the property(s) of a given GstElement or check
the property from a feature name.
2023-02-14 10:18:06 +01:00
Stéphane Cerveau 8872dab55b app: update and fix for gtk4-rs 0.6.1 2023-02-13 21:46:23 +01:00
Stéphane Cerveau ae85402eeb player: fix various clippy issues
Fix uninlined_format_args warning
2023-02-13 16:39:56 +01:00
Stéphane Cerveau 078940fd48 element: element_is_capsfilter 2023-02-13 16:39:56 +01:00
Stéphane Cerveau 726a6f4d41 cargo: update gst/gtk/gst-plugin-gtk4 2022-11-29 08:42:12 +00:00
Stéphane Cerveau ebbc1d2261 app: update to rust 1.63 and fix some lint issues
Fix format! and missing derive
2022-09-06 12:48:40 +02:00
Stéphane Cerveau 1fe43d7da3 player: fix clippy error 2022-03-07 11:29:19 +01:00
Stéphane Cerveau 57160b3bce about: display GStreamer version 2022-02-10 14:38:13 +00:00
Stéphane Cerveau f925c21b1d GPS: cleanup the license
Keep only the SPDX and mention the project
2022-02-09 11:28:59 +01:00
Stéphane Cerveau e3ac490a81 properties: add a way to display pipeline properties
Pipeline properties displays all elements in
the pipeline.
2022-02-07 12:19:15 +01:00
Stéphane Cerveau 4cb965fe7f player: handle EOS message 2022-02-07 12:19:15 +01:00
Stéphane Cerveau f118ef7db0 player: detect gtk4paintablesink with deep-element-added
Connect to the deep-element-added signal from the pipeline
to detect the gtk4paintablesink presence.
2022-02-07 12:19:15 +01:00
Stéphane Cerveau 25d856a360 pipeline: rename to player
To avoid confusion with GStreamer pipeline and
GPS pipeline, renamed it player.
2022-02-07 12:19:15 +01:00
Stéphane Cerveau 59ecbb41a5 pipeline: can now support pad properties
Can set pad property which will be used during the
pipeline generation.

Change port name to src_* or sink_*

Caps become an hidden property

Remove the ':' to separate value field, it does not
work properly with URI

Add funny graphs
2022-02-07 12:19:15 +01:00
Stéphane Cerveau c101ea6a37 preferences: add a preference dialog
Add a dialog to set user preference such
as gtk4paintablesink usage.
2022-02-01 16:14:52 +01:00
Stéphane Cerveau 4cdf2fd70b app: support multiple preview in a Notebook
The preview is now a NoteBook and if multiple video
gtk4sink are available, a page is created for each of it.
2022-02-01 13:23:15 +01:00
Stéphane Cerveau 1c10424e9e pad: change the pad name log cat 2022-02-01 11:44:01 +01:00
Stéphane Cerveau 9b768b7d56 app: display position/duration and seek scale
The user can now see the position and duration of the playback
The slider can now seek to the given position.
2022-01-31 17:32:54 +01:00
Stéphane Cerveau 8f72b9ac79 element: display the rank in the description 2022-01-31 13:37:22 +01:00
Stéphane Cerveau b84483057b pipeline: add gtk4paintablesink
Add a way to draw whenever possible
the video render into the preview box
in UI
2022-01-28 16:01:01 +01:00
Stéphane Cerveau a8e7b039a0 pipeline: can now communicate with app
Tell the status of pipeline in the status bar.
2022-01-27 13:18:46 +01:00
Stéphane Cerveau ee66f53171 pipeline: Able to render a graph and check for error
If the pipeline can not be created, display an error dialog
when checking it.
2022-01-27 13:18:46 +01:00
Stéphane Cerveau 5c25417569 pipeline: set state to stop when error
Do not display a dialog when an error happens,
only a log error is sufficient.
2022-01-27 13:18:46 +01:00
Stéphane Cerveau 13421b4d5b app: display the caps as a tooltip on port
The port can now display a tooltip
with the port
2022-01-27 13:18:46 +01:00
Stéphane Cerveau f483b51c9e app: Use the new PropertyExt interface from Graphview 2022-01-27 13:18:46 +01:00
Stéphane Cerveau 39815eb8d9 properties: support more properties
Support enum and flags properties in
addition to numerous and string ones.
2022-01-27 13:18:46 +01:00
Stéphane Cerveau 24e5e947d5 properties: fix regression with gst 0.18
Fix alignement
2022-01-20 16:17:06 +01:00
Stéphane Cerveau a2503ce86b ui: introduce a new module
- Cleanup up app.rs and use the new module ui
- Remove display_plugin_list
- Can now render a graph and get the
parse launch line.
2022-01-20 15:32:30 +01:00
Stéphane Cerveau 7f4a4b438d app: add an element notebook for all and favorites
Can now see all elements and favorites from the main window
2022-01-20 12:04:24 +01:00
Stéphane Cerveau 7abc0190cd gstreamer-rs: move to 0.18.1 release 2022-01-19 12:24:13 +01:00
Stéphane Cerveau 0f0f9d6fc0 app: port support update
Connect the port to the element pad
capabilities.
Can now create a port only if the element
supports the request pad
Can only delete a port which is a "sometimes"
port/pad.

Introduce GPS module.
2022-01-18 17:43:01 +01:00