Commit graph

1341 commits

Author SHA1 Message Date
Guillaume Desmottes 932d4720c0 ci: fix CARGO_HOME caching
CARGO_HOME's semantic depends on when it's used in the pipeline:
- it's the install prefix when installing Cargo
- it's the crate cache location when building jobs

env.sh is sourced at the start of all jobs and was overidding the
CARGO_HOME path defined in the CI template for caching. Fix this by
moving the prefix install path to install-rust.sh.
2020-04-21 09:35:33 +00:00
Guillaume Desmottes 38b64473e9 ci: make clippy warnings fatal 2020-04-21 11:06:46 +02:00
Guillaume Desmottes 6a72f65b3b gstreamer: ignore cognitive_complexity warnings
Those are just long tests.
2020-04-21 10:17:46 +02:00
Guillaume Desmottes a12b51abd6 gstreamer: stream_collection: ignore new_ret_no_self clippy warning 2020-04-21 09:00:35 +02:00
Guillaume Desmottes 872024c372 fix option_as_ref_deref clippy warnings 2020-04-21 09:00:35 +02:00
Guillaume Desmottes 20b672eae3 ci: force git-fetch-with-cli
Workaround so fdo redirects actually work.

Fix https://gitlab.freedesktop.org/gstreamer/gst-ci/-/issues/71
2020-04-20 18:19:23 +02:00
Guillaume Desmottes 1295d9fc6a ci: remove target/ as manual clean up
It seems that when a job is failing, target/ is not properly wiped out
from the ci container triggering later jobs to fail, see for example
https://gitlab.freedesktop.org/gdesmott/gstreamer-rs/-/jobs/2349943

Manually clean it up as after_script to hopefully workaround this
problem.
2020-04-20 18:04:55 +02:00
Guillaume Desmottes 932c940102 gstreamer: caps: add new_from_iter(_with_features)() 2020-04-20 17:12:24 +02:00
Guillaume Desmottes 97026d7f86 gstreamer: structure: add new_from_iter()
Allow to easily create a new Structure from an iterator.

Fix #250
2020-04-20 15:53:28 +02:00
Sebastian Dröge caae679d6f gstreamer: Add some API to calculate the next state convert state changes into their component states and back 2020-04-18 09:23:08 +03:00
Guillaume Desmottes 77af65634f deny: ignore duplicated because of outdated glutin 2020-04-16 12:20:21 +02:00
Sebastian Dröge 47d839e58a Switch from cargo-audit to cargo-deny
This provides a superset of the features, including license checks.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/238
2020-04-16 12:12:45 +02:00
Guillaume Desmottes 99f91167af ci: build GStreamer instead of importing tarball
Makes it much easier to update to a new gst version.
2020-04-16 09:47:15 +02:00
Guillaume Desmottes 23545fcf7d ci: no need to fetch gtk-rs checker history 2020-04-16 09:46:59 +02:00
Guillaume Desmottes 429962bdd7 ci: use fdo ci template
Build our own images instead of manually installing everything we need
for each job. This should hopefully speed up our ci and make it more
robust.
2020-04-16 09:46:57 +02:00
Sebastian Dröge ada06502b5 gstreamer: Remove redundant stream/stream collection property getters
There are also actual functions for these and we had both enabled
because the properties are missing the "Since: 1.10" markers.
2020-04-15 14:40:37 +03:00
Sebastian Dröge aea43c428c gstreamer: Add Stream::debug() and StreamCollection::debug()
These provide more helpful debug output than just the pointer when
printing.
2020-04-14 17:31:54 +00:00
Sebastian Dröge 2ef7d70ba3 gstreamer: Enforce that stream collections are immutable after creation by using the builder pattern 2020-04-14 17:31:54 +00:00
Sebastian Dröge 78a81e2c73 gstreamer-video: ValidVideoTimeCode::add_interval() is guaranteed to return a valid timecode again
So change the return type from VideoTimeCode to ValidVideoTimeCode.
2020-04-14 17:24:11 +03:00
Sebastian Dröge 185eb188ca Fix various signal handler trampoline usages 2020-04-13 19:24:04 +03:00
Sebastian Dröge 5021994237 Regenerate everything 2020-04-13 19:11:33 +03:00
Sebastian Dröge ac27258478 Revert "gstreamer-editing-services: Move Asset::request_async method into manual code to add missing init assert"
This reverts commit 6db70eaa4b. Not needed
anymore with latest gir.
2020-04-13 19:09:12 +03:00
Sebastian Dröge adb6f66df2 Update gir 2020-04-13 19:06:24 +03:00
Guillaume Desmottes 5de8fa89c4 ci: allow outdated job to fail
glutin and winit updates are pending.
2020-04-13 11:03:19 +02:00
Sebastian Dröge 92faaeacdb Update minimum supported Rust version to 1.40 2020-04-12 19:47:49 +03:00
Sebastian Dröge 76a0410d41 Replace unneeded transmute calls with a safer alternative 2020-04-12 19:47:49 +03:00
Sebastian Dröge d1665b8114 Regenerate with latest gir 2020-04-12 18:55:06 +03:00
Sebastian Dröge 83f2748eb9 Update gir 2020-04-12 18:42:57 +03:00
Guillaume Gomez 1ef3bf52d2 gstreamer: Add missing init calls in tests 2020-04-12 17:25:54 +03:00
Guillaume Gomez 6db70eaa4b gstreamer-editing-services: Move Asset::request_async method into manual code to add missing init assert
See https://github.com/gtk-rs/gir/issues/898
2020-04-12 17:25:54 +03:00
Guillaume Gomez c07fe14191 gstreamer*: Add missing init checks 2020-04-12 17:25:54 +03:00
Guillaume Gomez 2f72261360 gitlab-ci: Add checks for missing init asserts 2020-04-12 17:25:52 +03:00
Guillaume Gomez bfb4ec25c5 gitlab-ci: Add manual traits check 2020-04-12 17:25:30 +03:00
Guillaume Gomez 18b36f2d69 gstreamer*: Add missing manual traits 2020-04-11 21:56:45 +00:00
Sebastian Dröge 62e9af58c6 Fix some clippy warnings 2020-04-11 21:18:18 +03:00
Sebastian Dröge d7ed8d1e35 gstreamer: Add Element::get_current_clock_time() and ::get_current_running_time()
This was added in GStreamer 1.18 but we can easily implement it
ourselves here for the time being and for older versions.
2020-04-11 21:12:03 +03:00
Sebastian Dröge 94ace06883 Remove deprecated std::error::Error::description() impls 2020-04-11 19:39:04 +03:00
Sebastian Dröge 7c19318097 gstreamer-audio: Simplify audio clipping meta test a bit 2020-04-11 19:36:06 +03:00
Sebastian Dröge d05f8cace8 gstreamer: Add bindings for Plugin::get_plugin_name()
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/248
2020-04-11 19:33:34 +03:00
Sebastian Dröge 4866739342 gstreamer-audio: Follow-up commit for updating audio clipping meta tests 2020-04-10 23:40:39 +03:00
Andrew Eikum 0bdfa0ff78 gstreamer-audio: Add support for GstAudioClippingMeta 2020-04-10 23:35:10 +03:00
Guillaume Desmottes 669bf98128 ci: run 'cargo outdated' in scheduled jobs
Automatically detect if a crate we are directly using is outdated.
2020-04-10 12:27:38 +02:00
Sebastian Dröge 62c0f5ef42 Use mem::ManuallyDrop instead of mem::forget() everywhere
It makes the intentions clearer and potentially results in simpler
assembly, at least in debug builds.
2020-04-09 16:57:06 +03:00
Sebastian Dröge 9f96c5e573 gstreamer/buffer: Unmap memory in flush() of the Write impl of the buffer cursor
This makes sure that any remaining data is actually written out as part
of the unmapping, which might be necessary depending on the memory type.
2020-04-07 13:47:04 +03:00
Sebastian Dröge 2fbb10ec92 gstreamer/buffer: Only unmap memory in buffer cursor seek impl if we have to move to a different memory
Prevents some unnecessary unmaps.
2020-04-07 13:45:36 +03:00
Sebastian Dröge 35f7c910a9 gstreamer/buffer: Refactor buffer cursor implementation with macros to reduce code duplication 2020-04-07 13:45:36 +03:00
Sebastian Dröge 42d09c2834 gstreamer/buffer: Move BufferCursor/BufferRefCursor into its own module
It's quite a bit of code and can be kept nicely separate.
2020-04-07 12:59:24 +03:00
Sebastian Dröge 5fc68e252d gstreamer: Add missing BufferCursorRef re-export 2020-04-06 21:00:42 +03:00
Sebastian Dröge ee3a8caa7d gstreamer/buffer: Add various tests for the BufferCursor / BufferCursorRef 2020-04-06 20:15:51 +03:00
Sebastian Dröge a884a419db gstreamer/buffer: Add a BufferCursor / BufferCursorRef helper structs
This implements Read/Seek or Write/Seek and allows to read/write/seek
into the buffer without merging the memories inside.

The writer also only maps the memory write-only as compared to all other
ways of accessing the buffer/memory data in a writable way, which have
to map it read-write.

See https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/425
for a similar API proposal for GStreamer core.
2020-04-06 20:15:35 +03:00