Commit graph

1571 commits

Author SHA1 Message Date
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
Sebastian Dröge
f65efb41e8 Update versions to 0.16.3 2020-09-08 21:48:15 +03:00
Sebastian Dröge
12c3a90661 Update CHANGELOG.md for 0.16.3 2020-09-08 21:47:52 +03:00
Sebastian Dröge
68c2b19680 video: Rename VideoTransferFunction functions 2020-09-08 17:14:37 +03:00
Sebastian Dröge
6b6fae51cd Regenerate everything 2020-09-08 17:14:37 +03:00
Sebastian Dröge
61e9f208f4 Update gir-files to 1.18.0 2020-09-08 17:13:07 +03:00
Sebastian Dröge
c754a95810 ci: Switch to cargo-outdated release 2020-09-08 17:11:09 +03:00
Sebastian Dröge
326167470a ci: Rebuild GStreamer to update to 1.18.0 2020-09-08 17:10:20 +03:00
Sebastian Dröge
080f6a3906 gstreamer/log: Fix debug_remove_default_log_function() to actually work
We have to pass `NULL` / `None` instead of the actual default log
function as because of `-Bsymbolic` or how DLLs work on Windows the
external function pointer is different to the internal one.
2020-09-07 14:26:08 +03:00
Marijn Suijten
09792ce90a base_transform: Reset unused vfuncs on consecutive configure calls
If a user ends up changing the configured mode later on previously
registered vfuncs are not reset meaning the object is effectively stuck
in mode `Both`.
2020-09-07 14:26:02 +03:00
Sebastian Dröge
730500b09f gstreamer: Update pretty-hex dependency to 0.2 2020-09-07 14:25:55 +03:00
Sebastian Dröge
4cc6c0d19e Use glib::timeout_add_local() instead of removed gtk::timeout_add() 2020-09-07 14:25:36 +03:00
Sebastian Dröge
3fef3a607f base/aggregator: "samples-selected" signal handler only has to be Send, not Sync
It can only be emitted from the aggregate thread.
2020-09-07 14:25:21 +03:00
Ruben Gonzalez
c68b68f37f gstreamer: Delete duplicated assert_initialized_main_thread 2020-09-07 14:25:05 +03:00
Sebastian Dröge
a6253a1f77 video/video_frame: Allow getting an owned buffer from readable video frames
In all other variations this is not possible as it would allow to
circumvent the mini object writability rules.
2020-08-11 13:36:54 +03:00
Sebastian Dröge
fc21a2d9a3 Add git locations for gstreamer-sys in addition to the version
Otherwise we'd always use the version from crates.io.
2020-08-11 12:43:57 +03:00
Sebastian Dröge
c93ade0920 gstreamer: Update paste dependency from 0.1 to 1.0 2020-08-11 12:43:57 +03:00
Sebastian Dröge
272022bdac gstreamer/pad: Factor out PadProbeInfo handling from pad probe trampoline into separate functions
This makes that part of the code non-generic and thus allows the
compiler to not put a copy of it into every caller with a different
closure.

For a test with 3 pad probes this overall reduced the number of LLVM IR
lines needed for the pad probes to about 8.5% of what it was before
(4485 -> 381 lines).
2020-08-11 12:43:57 +03:00