Commit graph

2125 commits

Author SHA1 Message Date
Sebastian Dröge 32a96dd72c gstreamer/log: Handle compiled out GStreamer debug system properly
By mirroring the no-op behaviour of the C code instead of failing
because of a NULL debug category.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/306
2021-01-31 12:25:48 +02:00
Sebastian Dröge 86cc982982 examples: Check for cairo::Context::{save,restore}() failing 2021-01-31 11:01:47 +02:00
Marijn Suijten fb55cdfeff Remove allow(unused_imports) from mod auto
gir has been fixed to omit all unnecessary imports from objects, enums
and flags which currently are the only offenders of this linter warning.
Hence disallow this warning from now on which is anyway not applied to
every crate - like gstreamer-gl - where such issues have been uncovered.
2021-01-30 15:49:49 +01:00
Marijn Suijten 1ffa02fc1f Update gir to c85699a with import cleanups; regenerate
Apply import cleanups from https://github.com/gtk-rs/gir/pull/1043,
omitting `use` statements where unnecessary or guarding them with
versioning constraints to prevent `unused_imports` warnings.

Removes unnecessary `mut_override` with
https://github.com/gtk-rs/gir/pull/1044 as well.
2021-01-30 15:49:38 +01:00
Jan Alexander Steffens (heftig) 796f93f7f4 gstreamer/clock_time: Improve Display formatting
- Add support for precision, padding and alignment.
- Format the invalid time using dashes (`--:--:--.---------`) instead of
  a technically valid `99:99:99.999999999`

The latter is something C's `GST_TIME_FORMAT` can't do, though something
obviously invalid like `-1👎-1.000000000` would be possible.
2021-01-29 16:31:07 +00:00
Sebastian Dröge 0d5a488b86 examples: Remove two now-unused imports 2021-01-29 10:18:10 +02:00
Guillaume Desmottes 68253e1c28 ci: run 'pages' job with nightly image
We need nightly to generate the doc.
2021-01-27 18:55:03 +02:00
Sebastian Dröge 4bfa11aec5 gstreamer: Properly enable the serde/derive feature and remove the corresponding dependency
It was coincidentally enabled during the normal builds via the
dev-dependencies but it would fail otherwise.
2021-01-27 18:54:09 +02:00
Sebastian Dröge 0e8b95f1d0 urihandler: Provide URIType as associated constant when implementing the gst::URIHandler interface
The supported protocols still stay a function because they might have to
be probed at runtime, but they return a static string array now as they
must not randomly change at runtime.
2021-01-25 13:56:55 +02:00
Sebastian Dröge ea0eb4fa70 gstreamer/paramspecs: Add bindings for GST_PARAM_CONTROLLABLE and related custom paramspec flags 2021-01-25 13:56:55 +02:00
Sebastian Dröge e11b12df7c gstreamer: Provide class metadata, pad templates and basetransform configuration via trait methods
This is closer to how this works in Python and also how properties and
signals work now in the glib bindings.

class_init() only has to be implemented for more special uses now.
2021-01-25 13:56:55 +02:00
Guillaume Desmottes beee75dabe ci: make coverage job manual
It's broken atm, likely because of https://github.com/mozilla/grcov/issues/555
2021-01-22 09:09:41 +01:00
Jonas Platte 72f191b79b
Use std::future::ready instead of futures_util::future::ready 2021-01-19 13:33:11 +01:00
Sebastian Dröge 927cca106d Use async/await in a few places and reduce dependencies as a result 2021-01-14 15:25:03 +02:00
Guillaume Desmottes 01e1cfce54 ci: add coverage job
Uses the new llvm source-base coverage from nightly to generate coverage
reports:
- full html report as artifact
- cobertura report for gitlab MR integration
- output coverage summary for gitlab parsing

Here is the regexp to set in gitlab as "Test coverage parsing":
\s*lines\.*:\s*([\d\.]+%)

Ignore sys crates when calculating coverage are those are fully
generated anyway.

Resources:
- https://github.com/marco-c/rust-code-coverage-sample
- https://github.com/mozilla/grcov/issues/468#issuecomment-691615245
- https://www.greycastle.se/how-to-show-flutter-test-coverage-in-gitlab-ci/
2021-01-11 15:41:21 +01:00
Zeeshan Ali 4a92966ed5 Add get_current_state & get_pending_state to ElementExtManual
Convenient API to simply get the current or pending state of the
element.
2021-01-10 08:52:28 +00:00
Guillaume Gomez a3f6f710a9 tutorials/basic-tutorial-13: Add "\r" at each println to fix the raw terminal display 2021-01-09 16:08:06 +01:00
Sebastian Dröge 89acc11e2c deny: Update 2021-01-09 12:50:46 +02:00
Sebastian Dröge 835273923e Update itertools to 0.10 2021-01-09 12:49:32 +02:00
Guillaume Gomez 2fcaaa53ce Add basic tutorial 13 from C gstreamer examples 2021-01-08 15:49:30 +01:00
Marijn Suijten c4a06e515b gstreamer/format,value: Skip init in functions that contain self
These functions were changed to return Self instead of the direct name
of the type, and are hence caught by the init checker.

Also remove some tabs that sit in the macro but are not cleaned up by
the formatter.
2021-01-08 11:50:31 +01:00
Marijn Suijten 4cb6b64e2d gstreamer/format,value: Use Self in more places 2021-01-08 11:49:46 +01:00
Marijn Suijten 9890803cc6 gstreamer: Fix clippy::from_over_into 2021-01-08 11:43:14 +01:00
Marijn Suijten 46cb1595c0 gstreamer/tags: Fix redundant_semicolons lint warning 2021-01-08 11:01:02 +01:00
Marijn Suijten 9dc110be07 gitlab-ci: Do not ignore un-violated clippy lints
redundant_pattern_matching does not seem to exist (perhaps renamed to
if_let_redundant_pattern_matching), and single_match + cast_lossless do
not seem to be violated (anymore?).
2021-01-08 11:01:02 +01:00
Marijn Suijten 7ed20090d1 Fix clippy::field_reassign_with_defaults instead of ignoring it
Fixes: fc2d7fc4 ("ci: Add some more ignored lints to the clippy configuration")
2021-01-08 11:01:02 +01:00
Marijn Suijten 14f7707b51 sdp/sdp_media: Add missing failure check for gst_sdp_media_copy 2021-01-08 10:41:06 +01:00
Marijn Suijten 3c610e12e5 gst,base,sdp: Use specific copy/free or (un)ref instead of g_boxed
SDPMessage, FlowCombiner and ParseContext have specific functions
available to perform copying, freeing and (un)ref'ing. Calling them
directly on versions where they are supported prevents us from going
through GType machinery and locks that end up the same functions in the
end.
2021-01-08 10:41:06 +01:00
Marijn Suijten 29326ebfdd GES: Regenerate with new gir-files from 1.18.2 at d55d1f5c 2021-01-05 03:01:56 +01:00
Marijn Suijten b273c4e8bf gir-files: Re-run fix.sh on freshly imported files
Rerunning it on existing files doesn't perform all whitespace cleanup
when nodes are not modified.
2021-01-05 03:01:56 +01:00
Marijn Suijten 27ff7b74eb gir-files/fix: Do not unnecessarily preserve whitespace
When deleting elements -P/--pf preserves whitespace in front of the
elements, creating tons of unnecessary trailing whitespace on
otherwise-empty lines.
2021-01-05 03:01:56 +01:00
Marijn Suijten 3f50ef7a92 gir-files: Import from gst-plugins-base 1.18.2 at 520354711 2021-01-05 03:01:56 +01:00
Marijn Suijten 9023ce0a94 gir-files: Import from gir-files at 824aa87 2021-01-05 03:01:56 +01:00
Marijn Suijten f10d6990e4 gir-files: Import from gstreamer 1.18.2 at 6a62351b8 2021-01-05 03:01:56 +01:00
Marijn Suijten ab2bbd6aca gir-files: Import from gstreamer-editing-services 1.18.2 at d55d1f5c 2021-01-05 03:01:47 +01:00
Sebastian Dröge fc2d7fc4d0 ci: Add some more ignored lints to the clippy configuration 2020-12-31 16:54:33 +02:00
Sebastian Dröge 2376f53fd4 ci: Update to Rust 1.49
Minimum supported version is still 1.48
2020-12-31 16:54:16 +02:00
Sebastian Dröge d84336dc12 tutorials/basic-tutorial-5: Don't unnecessarily cast float literals to f64
error: casting float literal to `f64` is unnecessary
   --> tutorials/src/bin/basic-tutorial-5.rs:141:13
    |
141 |             1.0 as f64,
    |             ^^^^^^^^^^ help: try: `1.0_f64`
    |
2020-12-29 16:56:13 +02:00
Sebastian Dröge 59397c84be sdp: Use an actual error type instead of ()
Fixes a new clippy warning.
2020-12-29 16:55:45 +02:00
Sebastian Dröge 1523382b18 player: PlayerVideoRenderer::create_sink_element() is transfer none 2020-12-26 11:42:45 +02:00
Sebastian Dröge 71a3354226 player: Re-export dependency subclass preludes 2020-12-26 11:34:14 +02:00
Bilal Elmoussaoui 01b16fe6c0 gst-player: add PlayerVideoRenderer subclassing support 2020-12-25 00:32:37 +01:00
Sebastian Dröge ec2a287842 gstreamer/datetime: Update for glib::DateTime API changes 2020-12-24 12:46:27 +02:00
Guillaume Gomez 60a5ccc95d Fix toml files indent 2020-12-23 14:38:33 +01:00
Sebastian Dröge 03f928ee0c gstreamer/serde: Update for glib::Date API changes 2020-12-23 10:31:49 +02:00
Sebastian Dröge 3428e5c0c7 Update CHANGELOG.md for 0.16.6 2020-12-20 20:50:51 +02:00
Sebastian Dröge 477b00cce8 Update CHANGELOG.md for 0.16.5 2020-12-20 20:50:48 +02:00
Sebastian Dröge 68839c0e79 Re-export all dependency crates and their preludes
This makes code in examples potentially simpler.
2020-12-20 19:40:34 +02:00
Sebastian Dröge 53aae7ddba Remove gst_ prefix from all macros except for the logging macros
The latter stay e.g. gst_debug! to be more clear and not conflict with
e.g. the debug! macro from the log crate.
2020-12-20 19:40:34 +02:00
Sebastian Dröge 08c54145d3 gstreamer/sdp: Fix SDPMessage::medias_mut() iterator
The raw pointer manipulation code was adding one indirection too many.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/304
2020-12-20 19:21:20 +02:00