Commit graph

1588 commits

Author SHA1 Message Date
Sebastian Dröge
30a323e24c Update CHANGELOG.md for 0.16.7 2021-02-13 13:35:55 +02:00
Sebastian Dröge
f459d0d5f1 Update versions to 0.16.7 2021-02-13 13:35:55 +02:00
Vivia Nikolaidou
6ab1632741 audio/audio_converter: mix-matrix contains floats, not doubles 2021-02-13 13:35:55 +02:00
Jan Alexander Steffens (heftig)
caadaab184 audio: Make AudioConverterConfig::set_mix_matrix generic
So that we can set the mix matrix using both `&[&[f64]]` and
`&[Vec<f64>]`.
2021-02-13 13:35:55 +02:00
Vivia Nikolaidou
cebc7456ce audio/audio_converter: Fix typo 2021-02-13 13:35:55 +02:00
Vivia Nikolaidou
4655fecbe9 gstreamer-audio: Add AudioConverterConfig 2021-02-13 13:35:55 +02:00
Sebastian Dröge
fdd21b9a2a video/timecode: Fix compilation of tests with target API < 1.16 2021-02-13 13:35:55 +02:00
Sebastian Dröge
50cffb0f7a 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-13 13:35:55 +02:00
Sebastian Dröge
fb412d0cfb 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-02-13 12:51:47 +02:00
Zeeshan Ali
bad30dbbda Add get_current_state & get_pending_state to ElementExtManual
Convenient API to simply get the current or pending state of the
element.
2021-02-13 12:47:50 +02:00
Sebastian Dröge
57650dd0a2 Update versions to 0.16.6 2020-12-20 20:46:17 +02:00
Sebastian Dröge
abc39b8f08 Update CHANGELOG.md for 0.16.6 2020-12-20 20:15:48 +02:00
Sebastian Dröge
d914967ce4 ci: Use a specific version of the gir checker 2020-12-20 20:15:48 +02:00
Sebastian Dröge
002958f0b4 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:56:16 +02:00
Marijn Suijten
ae51a2f49c video/time_code_interval: Correct set_frames parameter name
Aesthetics.
2020-12-20 19:56:06 +02:00
Marijn Suijten
26bfd5b98c 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-20 19:55:59 +02:00
Marijn Suijten
4157bb6c16 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-20 19:55:44 +02:00
Guillaume Desmottes
409608a7fb video: implement Eq and PartialEq on VideoAlignment 2020-12-20 19:53:53 +02:00
Guillaume Desmottes
18af63beac video: add alignment API to VideoMeta 2020-12-20 19:53:53 +02:00
Guillaume Desmottes
87dc92ff4a video: add VideoInfo::align_full() 2020-12-20 19:51:43 +02:00
Guillaume Desmottes
b7bfcb2094 video: add VideoMeta::get_plane_{height,size}
Fix #299
2020-12-20 19:49:42 +02:00
Sebastian Dröge
b55d01bdc5 Update CHANGELOG.md for 0.16.5 2020-11-23 13:37:13 +02:00
Sebastian Dröge
9cd670277b Update versions to 0.16.5 2020-11-23 13:24:07 +02:00
Sebastian Dröge
7fcccf6821 Remove unused files 2020-11-23 12:22:01 +02:00
Sebastian Dröge
aa79e8603f gstreamer: Fix plugin version for v1_18 2020-11-23 12:22:01 +02:00
François Laignel
6d30078c89 Event: impl structure_mut getter 2020-11-23 12:22:01 +02:00
François Laignel
3e8ecf4806 Pad: allow handling Events in PadProbes 2020-11-23 12:22:01 +02:00
Sebastian Dröge
7d8f95971c video/timecode: Use stringify!($name) instead of "$name" in Debug impl
Otherwise it would output a literal "$name" string.
2020-11-23 12:22:01 +02:00
François Laignel
3bf946ed11 Use fully qualified path for plugin_desc in gst_plugin_define
This is required when gst_plugin_define is used from a a submodule
mod.rs (not from the crate's lib.rs).
2020-11-23 12:22:01 +02:00
Sebastian Dröge
8c4ebdec1e Use repr(transparent) where it is more correct and get rid of some unneeded repr(C) 2020-11-23 12:22:01 +02:00
Sebastian Dröge
5f63ee9912 Remove unneeded PhantomData markers
And as a side-effect also get rid of the lifetime parameter of
gst::TypeFind that was completely unused anyway.
2020-11-23 12:22:01 +02:00
Sebastian Dröge
ef3cd6fc37 audio: Update array-init dependency to 1.0 2020-11-23 12:22:01 +02:00
Jonas Platte
249918b189 Fix missing dox feature passthrough 2020-11-23 12:22:01 +02:00
Jonas Platte
8bb3db2209 Remove unused dependencies
found by cargo-udeps
2020-11-23 12:22:01 +02:00
François Laignel
59dbed69ad gstreamer/message: enhance Debug impl for Message[Ref]
When "{:?}" printing a Message[Ref], the following issues lower the
experience:

- If the Message seqnum is GST_SEQNUM_INVALID (0), a panic occurs due
  to an assertion failure in MessageRef::get_seqnum.
- The src of the Message displays the GString address.

Origin issue for an occurrence of the first case above fixed in
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/860
2020-11-23 12:06:17 +02:00
François Laignel
fac1234351 message: get_seqnum: return next seqnum if Message seqnum is invalid
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/601
2020-11-23 12:06:01 +02:00
raytiley
629579c04d Update location of documentation. 2020-11-23 12:05:46 +02:00
Marijn Suijten
e6a0063165 gstreamer: plugin: Prefix glib:: with $crate:: in gst_plugin_define
Crates using gst_plugin_define might not (need to) import `glib`
directly into their scope; use the one imported in `gstreamer`s root
to make this macro more portable.
Besides, `glib` is prefixed with `$crate::` just below.
2020-11-23 12:05:22 +02:00
Marijn Suijten
787954eab9 gstreamer: error: Prefix gst_error_msg with $crate
This macro might not have been imported in the surrounding scope where
gst_panic_to_error is used, thus reference it directly by the full
namespace.
2020-11-23 12:05:10 +02:00
Nathan Widmyer
5a28412fef Switch dependency resolution option from rev to branch 2020-11-10 10:57:05 -05:00
Sebastian Dröge
b687b60144 Update CHANGELOG.md for 0.16.4 2020-10-09 13:16:58 +03:00
Sebastian Dröge
dde1941722 Update versions to 0.16.4 2020-10-09 13:10:33 +03:00
Sebastian Dröge
6e2ad23e26 ci: Allow unused imports in the examples
It was needed with an older version of glib because of a bug.
2020-10-09 12:38:13 +03:00
Sebastian Dröge
b32fc568da gstreamer/audio/video: Correctly implement ExactSizeIterator
len() is optional but size_hint() must return the correct values. Also
this shouldn't return the overall length but the remaining length.
2020-10-09 12:03:21 +03:00
Sebastian Dröge
b7b29ee55a gstreamer/meta: Don't collect iterators just to check their length in the tests 2020-10-09 12:03:21 +03:00
Sebastian Dröge
f5752546fd gstreamer/buffer: Don't implement ExactSizeIterator on meta iterator
We don't actually know the number of items and using the trait would
panic.
2020-10-09 12:03:21 +03:00
Sebastian Dröge
80cd448340 gstreamer: Update to cfg-if 1.0 2020-10-09 12:03:21 +03:00
Sebastian Dröge
2b87e5f51d gstreamer/clock: Unschedule clock ID when the receiver end of the channel is disconnected 2020-10-09 12:03:21 +03:00
Sebastian Dröge
b4e8ace192 gstreamer/clock_time: Add From/TryFrom impls to convert between ClockTime and std::time::Duration 2020-10-09 12:03:21 +03:00
Sebastian Dröge
5d80372dd3 gstreamer/clock: Add ClockID::wait_async_stream()
This provides an async stream with the values of each timeout.
2020-10-09 12:03:21 +03:00