Commit graph

1525 commits

Author SHA1 Message Date
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
Jacob Teplitsky
c613697e8b rtp/rtp_buffer: Wrap set_marker() and get_marker() methods 2020-08-11 12:43:57 +03:00
Sebastian Dröge
a0887f197f Add various new 1.18 APIs 2020-08-11 12:43:57 +03:00
Sebastian Dröge
2624e2a6d1 Regenerate everything 2020-08-11 12:43:57 +03:00
Sebastian Dröge
62fe400582 generator: Switch to Python 3
It's 2020.
2020-08-11 11:47:47 +03:00
Sebastian Dröge
afc4581ff8 gir-files: Update to 1.17.2.1
This should be approximately the same as 1.17.90.

This is the version from gstreamer-sys 0.16 which merged the GL
platforms back into the main gir file for backwards compatibility.
2020-08-11 11:47:47 +03:00
Sebastian Dröge
512f5b52fc ci: Use Rust 1.44.1 explicitly for the 0.16 branch 2020-08-11 11:06:15 +03:00
Sebastian Dröge
cc34b34455 ci: Update GStreamer version 2020-08-11 10:36:56 +03:00
Sebastian Dröge
f69a2226be ci: set -e in all shell scripts
Otherwise errors are silently ignored.
2020-08-11 10:36:38 +03:00
Sebastian Dröge
4e57412fa3 Update versions to 0.16.2 2020-07-27 12:19:10 +03:00
Sebastian Dröge
3f58306e3b Update CHANGELOG.md for 0.16.2 2020-07-27 12:18:44 +03:00
Sebastian Dröge
4afd47a8a8 gstreamer: Add parse_bin_from_description_with_name_full()
The non-full variant existed already.
2020-07-27 11:14:01 +03:00
Sebastian Dröge
04c29d3b08 audio/audio-buffer: Use correct pointer for the audio buffer plane data 2020-07-27 11:13:56 +03:00
Philippe Normand
4e9ee99c88 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-27 11:13:48 +03:00
Sebastian Dröge
7517a50834 gstreamer/ghost_pad: Add convenience constructors with target pad
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/275
2020-07-21 09:37:28 +02:00
Sebastian Dröge
af15dafc14 gstreamer/ghost_pad: Move GhostPad specific code into the ghost_pad module 2020-07-21 09:37:21 +02:00
Sebastian Dröge
f95ca85a27 Update CHANGELOG.md for 0.16.1 2020-07-10 10:42:47 +03:00
Sebastian Dröge
3643f3ea80 Update version to 0.16.1 2020-07-10 10:42:44 +03:00
Jan Alexander Steffens (heftig)
7e7d74af1e log: Allow calling DebugCategory::new before gstreamer::init
This is safe.
2020-07-10 10:18:20 +03:00
Sebastian Dröge
f266e6cefc Update docs 2020-07-06 14:38:47 +03:00
Sebastian Dröge
9511b19c0a Update versions from git to releases 2020-07-06 14:37:02 +03:00
Sebastian Dröge
2f69fe81f2 Update CHANGELOG.md for 0.16.0 2020-07-06 14:03:45 +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
2d4abeba23 Remove now unneeded version annotations from overrides 2020-07-06 11:30:12 +03:00
Sebastian Dröge
d412f818d2 Update gir-files to 1.17.2 2020-07-06 11:23:55 +03:00
Sebastian Dröge
697c3229cd Update gir 2020-07-06 11:23:48 +03:00
Sebastian Dröge
052c056dd1 Update CI image to latest GStreamer git
And also update meson to 0.54.3
2020-07-05 23:09:01 +03:00
Sebastian Dröge
e3667fd8d2 video/video_info: Add field_height() function 2020-07-03 13:10:28 +03:00
Sebastian Dröge
5845038a63 video: Use correct version for interlaced caps feature 2020-07-03 13:00:07 +03:00
Sebastian Dröge
2db7b8ebcc video: Use correct versions of primaries/transfer function enums 2020-07-03 12:23:32 +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
71b83b7c84 base/aggregator: Mark new 1.18 vfuncs as only available from the version onwards
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/272
2020-06-30 23:46:51 +03:00
Sebastian Dröge
5b3d6418f0 gstreamer/element: Add support for overriding post_message vfunc 2020-06-30 23:46:51 +03:00
Sebastian Dröge
9911de6591 base/baseparse: Add support for overriding stop vfunc 2020-06-30 23:46:51 +03:00
Sebastian Dröge
03893f895c audio/sink,src: Add support for overriding reset vfunc 2020-06-30 23:46:51 +03:00
Sebastian Dröge
cc866b53d0 Call the parent impl of various vfuncs if not overridden
This was forgotten for a few types and would require each subclass to
implement them, even if a parent class already provided an
implementation.
2020-06-30 23:46:51 +03:00
Sebastian Dröge
dbc76f1053 gstreamer/miniobject: Remove DerefMut and AsMut impls
They were side-stepping the miniobject writability mechanism.
2020-06-30 15:23:50 +03:00
Sebastian Dröge
911bb34dc2 Don't generate LAST/NONE variants of flags types
Those are automatically provided already.
2020-06-30 11:35:49 +03:00
Sebastian Dröge
45402b5e95 Add specific version configurations for various enum/flags values
gobject-introspection does not support this yet so we have to do that
manually.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/271
2020-06-30 11:23:37 +03:00
Sebastian Dröge
af01f1bc67 gstreamer: Simplify MiniObject bindings by removing one layer of abstraction
And instead directly implementing this via the macro on the target
types.
2020-06-30 11:06:02 +03:00
Sebastian Dröge
947ac8db5c Name functions returning a builder builder(), not new()
And also make the video event API more consistent with the normal event
API.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/-/issues/269
2020-06-25 19:42:33 +03:00