Commit graph

414 commits

Author SHA1 Message Date
Marijn Suijten ce67076f26 gstreamer,video: Do not zero-initialize designated struct members
This should be analogous to C struct initalizers where all unspecified
fields are initialized to zero. Without mut this reads a bit nicer as
well.

Note that two out of three structs have all members specified, hence
need no zero-initialization of the remainder at all.
2021-02-15 20:19:38 +01:00
Marijn Suijten 439db15c20 Regenerate with 1.18.3 and preliminary changes for 1.18.4 2021-02-15 20:19:38 +01:00
Sebastian Dröge 5f5218e1ab Update CHANGELOG.md for 0.16.7 2021-02-13 14:04:37 +02:00
Sebastian Dröge 3d076c05e1 Regenerate with gir to update system-deps dependency and get rid of clippy warning in the ABI tests 2021-02-10 13:11:49 +02:00
Sebastian Dröge 631be6b534 video/timecode: Fix compilation of tests with target API < 1.16 2021-02-10 13:09:51 +02:00
Vivia Nikolaidou 0a119cada6 gstreamer-audio: Add AudioConverterConfig 2021-02-09 19:13:30 +02:00
Sebastian Dröge 9d86cef2da Regenerate everything with latest gir 2021-02-07 17:07:17 +02:00
Sebastian Dröge 280433ebc1 video/timecode: Comment out spurious #[cfg] attribute and remove its duplicate 2021-02-04 11:19:54 +02:00
Sebastian Dröge e1a964fb00 video/timecode: Use mem::ManuallyDrop to prevent a double unref of the daily jam
As ffi::GstVideoTimeCode implements Copy, assignments don't move it out
of the passed in value but just copy it. This doesn't increase the
reference count of the daily jam, still runs the Drop impl of the passed
in value to decrease the daily jam and then causes a second unref of it
later when the returned value is dropped.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/310
2021-02-04 10:55:43 +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
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
Sebastian Dröge 835273923e Update itertools to 0.10 2021-01-09 12:49:32 +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
Marijn Suijten 62436aa8d3 video/time_code_interval: Correct set_frames parameter name
Aesthetics.
2020-12-19 12:54:37 +01:00
Marijn Suijten 6e119b7256 video/time_code_interval: Ord cmp minutes to other.minutes, not hours
Same mistake as the previous commit. Clipppy didn't find this one though
:)
2020-12-19 12:54:21 +01:00
Marijn Suijten 5740a70dd2 video/time_code_interval: Do not compare minutes to hours in PartialEq
Clippy nightly is becoming surprisingly smart these days:

    warning: This sequence of operators looks suspiciously like a bug.
      --> gstreamer-video/src/video_time_code_interval.rs:66:16
       |
    66 |             && self.0.minutes == other.0.hours
       |                ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: I think you meant: `self.0.minutes == other.0.minutes`
       |
       = note: `#[warn(clippy::suspicious_operation_groupings)]` on by default
       = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#suspicious_operation_groupings
2020-12-19 12:51:58 +01:00
Guillaume Gomez 2f0e386037 Regen with more doc alias for enums and consts 2020-12-18 15:23:05 +01:00
Sebastian Dröge ce1148b474 Update everything for glib macro renamings 2020-12-18 00:56:47 +02:00
Sebastian Dröge d0b0006d27 Regenerate 2020-12-18 00:34:53 +02:00
Sebastian Dröge 38b94abc59 Add COPYRIGHT file as links into all crates and change LICENSE files to links too 2020-12-16 12:49:49 +02:00
Guillaume Gomez ff5a36561a Fix license header situation 2020-12-15 11:53:31 +01:00
Marijn Suijten 85e46f39f3 video: Provide manual to_string and display for VideoChromaSite
This function was named wrong before 1.20, and its return transfer type
changed from none to full. To provide

Note that, when 1.20 Gir files are imported, this `version` override in
gstreamer-video/Gir.toml wil come into effect and create a Display trait
for us (without version constraint). At that point the manual Display
impl should be removed, but the manual to_string implementation remains.
2020-12-12 20:28:37 +01:00
Marijn Suijten a215610167 audio/video: Update to v1.20 functions 2020-12-12 19:43:02 +01:00
Marijn Suijten 132477f51f cargo.toml: Add v1_20 feature to all crates 2020-12-12 13:17:20 +01:00
Marijn Suijten 0ff16c589f Regenerate sys Cargo.toml with 1.20 version 2020-12-12 13:17:03 +01:00
Marijn Suijten 1d726d6a1e gir.toml: Add 1.20 to extra_versions 2020-12-12 13:15:11 +01:00
Guillaume Gomez fb56af8d84 Update from_glib calls and put them in unsafe blocks 2020-12-08 15:50:15 +01:00
Guillaume Gomez 959568f124 regen 2020-12-08 14:00:17 +01:00
Marijn Suijten bb8e7c3e8f audio/video: Fix more unused imports
TODO: How about use glib::translate::*;?
2020-12-07 12:12:16 +01:00
Marijn Suijten 82b4726bb7 impl FromStr: Forward implementation to autogenerated from_string() 2020-12-07 12:12:16 +01:00
Marijn Suijten a7348023a0 video: Add test cases for enum to_string 2020-12-07 12:12:16 +01:00
Marijn Suijten 040772ab61 audio,video: Manual enum to_string returns 'static; add NULL check 2020-12-07 12:12:16 +01:00
Marijn Suijten 9ff39bae6f audio,video: Use autogenerated Display impl 2020-12-07 12:12:16 +01:00
Marijn Suijten c215acb7f9 audio,video: Delete manual implementations for now-autogenerated enum funcs 2020-12-07 12:12:16 +01:00
Marijn Suijten 15d8774e6b Update gir to 1c1a8d7 and regenerate with associated enum/flag functions 2020-12-07 12:11:27 +01:00
Marijn Suijten 1b1a99b320 audio,video: Use manual implementations for fns using *Endianness
{Audio,Video}Endianness is an enumeration to represent the two possible
values in Rust but this enumeration does not exist as such in C, where
it is merely an integer with some constants defining possible values.
2020-12-07 12:09:39 +01:00
Marijn Suijten 604902ed7c audio,video: Ignore *Format::get_info
The result is not nullable, and this function call can be substituted by
*FormatInfo::from_format().
2020-12-07 12:09:39 +01:00
Marijn Suijten c95bd4f47a video: Implement get_kr_kb manually to fix capitalization
Capitalization is wrong in function and parameter/variable names:

    warning: method `get_Kr_Kb` should have a snake case name
       --> gstreamer-video/src/auto/enums.rs:515:12
        |
    515 |     pub fn get_Kr_Kb(&self) -> Option<(f64, f64)> {
        |            ^^^^^^^^^ help: convert the identifier to snake case (notice the capitalization): `get_kr_kb`
        |
        = note: `#[warn(non_snake_case)]` on by default

    warning: variable `Kr` should have a snake case name
       --> gstreamer-video/src/auto/enums.rs:518:21
        |
    518 |             let mut Kr = mem::MaybeUninit::uninit();
        |                     ^^ help: convert the identifier to snake case (notice the capitalization): `kr`

    warning: variable `Kb` should have a snake case name
       --> gstreamer-video/src/auto/enums.rs:519:21
        |
    519 |             let mut Kb = mem::MaybeUninit::uninit();
        |                     ^^ help: convert the identifier to snake case (notice the capitalization): `kb`

    warning: variable `Kr` should have a snake case name
       --> gstreamer-video/src/auto/enums.rs:525:17
        |
    525 |             let Kr = Kr.assume_init();
        |                 ^^ help: convert the identifier to snake case (notice the capitalization): `kr`

    warning: variable `Kb` should have a snake case name
       --> gstreamer-video/src/auto/enums.rs:526:17
        |
    526 |             let Kb = Kb.assume_init();
        |                 ^^ help: convert the identifier to snake case (notice the capitalization): `kb`
2020-12-07 12:09:39 +01:00
Marijn Suijten 736f58a631 audio,video: Mark to_string functions on "unknown"-enum as manual 2020-12-07 12:09:39 +01:00
Marijn Suijten 57bc1c7f42 audio,video,gl,webrtc: Mark manually-confirmed to_string fns as non-NULL
These functions have been checked to never return NULL. The overrides
can hopefully be gone again when C contains better annotations and
trust_return_value_nullability is enabled.
2020-12-07 12:09:39 +01:00
Marijn Suijten d9769aeb6a audio/video: Add missing FromGlibPtrNone<*const> for FormatInfo 2020-12-07 12:09:39 +01:00
Marijn Suijten 0763d2645d video: Reuse Self::Err in from_str 2020-12-07 12:09:39 +01:00
Marijn Suijten 2447664df6 Replace Result<(), fmt::Error> with fmt::Result 2020-12-07 12:09:39 +01:00
Marijn Suijten 584a87163f video/video_meta: get_plane_size now takes a size-annotated array ptr 2020-12-04 19:37:10 +01:00
Marijn Suijten 47102b0e76 Regenerate with fresh gir files 2020-12-04 19:34:09 +01:00
Guillaume Desmottes 8b9ef8b109 video: add alignment API to VideoMeta 2020-12-03 16:39:40 +01:00