Sebastian Dröge
a6c8fe0c8a
Use repr(transparent) where it is more correct and get rid of some unneeded repr(C)
2020-10-24 17:09:10 +00:00
Sebastian Dröge
4c216bca3a
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-10-24 17:09:10 +00:00
François Laignel
ae9d97dfca
ClockTime & opt Formats: fix PartialOrd impl, remove Ord and add min & max
...
- `PartialOrd` was returning `true` for expressions such as
- `ClockTime::none() < ClockTime::from_seconds(1)`.
- `ClockTime::from_seconds(1) > ClockTime::none()`.
- Remove `Ord` because `ClockTime` is not a total order due to
`ClockTime::none()`. See test `not_ord`.
This also applies to others `Format(Option<{u32,u64}>)` types.
2020-10-20 23:40:18 +02:00
François Laignel
9efe39ff81
ClockTime: add staturating_{add,sub} and ops tests
2020-10-20 23:40:18 +02:00
Sebastian Dröge
ba719ac90c
Update for glib changes in glib::Value handling
2020-10-20 13:50:35 +00:00
Sebastian Dröge
0207e41160
gstreamer/clock: Creating new clock ids can't fail gracefully but invalid arguments should be checked
2020-10-20 12:00:13 +03:00
Sebastian Dröge
fff69b3a23
Update muldiv dependency to 1.0
2020-10-13 09:35:59 +00:00
François Laignel
c987bb0c7d
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-10-13 11:11:38 +02:00
François Laignel
fa3f6eefc9
message: get_seqnum: return next seqnum if Message seqnum is invalid
...
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/merge_requests/601
2020-10-13 11:11:38 +02:00
raytiley
a8ed2ac6e0
Update location of documentation.
2020-10-10 15:51:59 -04:00
Sebastian Dröge
531014a35c
gstreamer/clock: Improve ClockId bindings
...
There is now a separate type for Single and Periodic clock ids. This
allows to have API that is only for one type on that specific type
instead of doing runtime checks, and allows for more refined async
waiting API.
2020-10-10 10:25:44 +00:00
Marijn Suijten
cb362e6fbc
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-10-10 11:54:20 +02:00
Marijn Suijten
10bc09ba82
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-10-10 11:47:41 +02:00
Sebastian Dröge
dc9a9c4d78
Update CHANGELOG.md for 0.16.4
2020-10-09 13:41:11 +03:00
Sebastian Dröge
6e404f1831
gstreamer/meta: Don't collect iterators just to check their length in the tests
2020-10-09 11:35:19 +03:00
Sebastian Dröge
7aeb0e8f92
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 11:35:19 +03:00
Sebastian Dröge
323bb1269b
gstreamer: Update to cfg-if 1.0
2020-10-09 11:35:19 +03:00
Sebastian Dröge
b59b5ada7e
gstreamer/clock: Unschedule clock ID when the receiver end of the channel is disconnected
2020-10-01 11:25:40 +03:00
Sebastian Dröge
4778d05238
gstreamer/clock_time: Add From/TryFrom impls to convert between ClockTime and std::time::Duration
2020-10-01 11:00:21 +03:00
Sebastian Dröge
c01f7072fb
gstreamer/clock: Add ClockID::wait_async_stream()
...
This provides an async stream with the values of each timeout.
2020-10-01 11:00:21 +03:00
Alexey Galakhov
4120ded424
Add gstreamer-controller
2020-09-30 16:28:51 +00:00
Sebastian Dröge
4f10eefe1e
Update CHANGELOG.md for 0.16.3
2020-09-08 22:02:31 +03:00
Sebastian Dröge
8aaec57dac
gstreamer: Fix compilation after glib API change
2020-09-08 16:11:39 +03:00
Sebastian Dröge
55efe30258
Regenerate everything
2020-09-08 15:42:28 +03:00
Sebastian Dröge
ea3d0246bf
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-03 10:13:09 +03:00
Sebastian Dröge
160728965b
gstreamer: Update pretty-hex dependency to 0.2
2020-09-01 09:55:31 +03:00
Sebastian Dröge
a4239c3462
gstreamer: Remove API that was deprecated in 0.16
2020-08-24 17:33:35 +03:00
Ruben Gonzalez
4e6766e6ed
gstreamer: Delete duplicated assert_initialized_main_thread
2020-08-14 09:27:10 +02:00
Sebastian Dröge
70fd572a46
Regenerate everything
2020-08-11 12:53:27 +03:00
Sebastian Dröge
746741f910
gstreamer: Update paste dependency from 0.1 to 1.0
2020-08-09 10:33:22 +03:00
Sebastian Dröge
43d1d0a4e9
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-05 10:33:12 +03:00
Sebastian Dröge
9cb40878f0
Update CHANGELOG.md for 0.16.2
2020-07-27 12:43:53 +03:00
Sebastian Dröge
b8eaef3d02
gstreamer: Add parse_bin_from_description_with_name_full()
...
The non-full variant existed already.
2020-07-27 10:38:31 +03:00
Sebastian Dröge
4f5b2f5060
Update for removal of ObjectImpl::get_type_data()
2020-07-26 18:02:05 +03:00
Philippe Normand
3adc3d9337
functions: Add new parse_bin_from_description_with_name utility
...
This is basically `parse_bin_from_description()` but additionally the returned
bin has the passed name. It is sometimes convenient to name those bins so they
can later be easily retrieved by name from the pipeline they belong to.
2020-07-16 09:57:42 +01:00
Sebastian Dröge
81aba1b8a2
gstreamer/ghost_pad: Add convenience constructors with target pad
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/275
2020-07-10 12:12:03 +00:00
Sebastian Dröge
4246a560fc
gstreamer/ghost_pad: Move GhostPad specific code into the ghost_pad module
2020-07-10 12:12:03 +00:00
Sebastian Dröge
0db75a5186
Update CHANGELOG.md for 0.16.1
2020-07-10 10:44:40 +03:00
Jan Alexander Steffens (heftig)
a430fd93c8
log: Allow calling DebugCategory::new before gstreamer::init
...
This is safe.
2020-07-09 16:06:01 +02:00
Sebastian Dröge
f40821ba66
Update versions to 0.17.0
2020-07-06 15:22:55 +03:00
Sebastian Dröge
ca8b8f6a38
Update CHANGELOG.md for 0.16.0
2020-07-06 15:22:07 +03:00
Sebastian Dröge
448c1e10a0
Regenerate
2020-07-06 13:01:57 +03:00
Sebastian Dröge
3bf5215872
Update configuration for new API
2020-07-06 12:08:36 +03:00
Sebastian Dröge
01eaf76b31
gstreamer/buffer: Add bindings for foreach_meta() and foreach_meta_mut()
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/268
2020-07-03 10:28:59 +03:00
Sebastian Dröge
f01b590a0c
gstreamer/bufferlist: Add bindings for foreach() and foreach_mut()
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/273
2020-07-03 10:28:47 +03:00
François Laignel
275d93e3d2
memory: fix typo
2020-07-02 17:46:20 +02:00
Sebastian Dröge
0cc32a02cc
gstreamer/element: Don't catch panics in post_message() vfunc
...
Otherwise we would post a message, which calls into this code again and
then does the whole thing recursively forever.
2020-07-01 01:36:16 +03:00
Sebastian Dröge
4fbbf48622
gstreamer/element: Change post_message() vfunc return type to bool
...
It regularly fails in normal situations, e.g. when the element is not
inside a bin and has no bus, and we don't really want to log errors for
that.
2020-07-01 01:15:57 +03:00
Sebastian Dröge
9cc99b27e0
gstreamer/element: Let post_message() and post_error_message() take ownership of the message
...
This is more in line with the C API and simplifies callers in Rust.
2020-06-30 23:55:02 +03:00
Sebastian Dröge
5b3d6418f0
gstreamer/element: Add support for overriding post_message vfunc
2020-06-30 23:46:51 +03:00