Guillaume Desmottes
1cd733fb0b
gstreamer: allow to register using Rank enum directly
...
Prevent user to have to cast to a u32 manually.
2019-06-04 12:50:43 +03:00
Sebastian Dröge
2c31baaa0c
gstreamer: Implement Add<u32> for gst::TypeFindProbability and fix comparison
...
While the enum is a signed integer, all operations inside GStreamer
(especially comparison) is based on unsigned integers.
2019-06-04 12:45:56 +03:00
Sebastian Dröge
620a9b2a95
gstreamer: Implement Add<u32> for gst::Rank and fix comparison
...
While the enum is a signed integer, all operations inside GStreamer
(especially comparison) is based on unsigned integers.
2019-06-04 12:45:56 +03:00
Sebastian Dröge
d44c293753
Use TryFrom/TryInto traits where it makes sense instead of our previous ad-hoc solutions
2019-06-03 18:42:34 +03:00
Sebastian Dröge
fdb95f0033
gstreamer/format: Implement formatted value arithmetic with overflow checks
...
We have a value to represent invalid/overflow anyway, so let's make sure
that all operations are actually not overflowing and if they do we
assigned that value to the result.
2019-06-03 08:25:43 +00:00
Sebastian Dröge
fbcdf90386
gstreamer/format: Add various other arithmetic operation impls for the different formatted values
...
This includes gst::ClockTime.
2019-06-03 08:25:43 +00:00
Sebastian Dröge
b2ffe98d59
gstreamer/fraction: Add impls for various other arithmetic operations on fractions
...
Any arithmetic operation on plain values or references in any order
should be possible now, and on fractions with i32.
2019-06-03 08:25:43 +00:00
Guillaume Desmottes
c774bd8114
base: add bindings for GstBaseParse
...
Fix #157
2019-06-01 13:04:12 +05:30
Guillaume Desmottes
e9fbbc2b40
ci: bump minimum Rust version to 1.34
...
Needed for TryFrom.
2019-06-01 11:57:15 +05:30
Sebastian Dröge
e5d0afee02
video: Add pack/unpack func bindings
2019-05-28 09:26:44 +02:00
Sebastian Dröge
0147f03344
audio: Cast fewer points to *mut pointers in pack/unpack func bindings
2019-05-28 04:59:27 +02:00
Sebastian Dröge
1c1533d076
check: Fix compilation with v1_16 feature enabled
2019-05-28 04:46:41 +02:00
Sebastian Dröge
37071c9d60
gstreamer: Fix build with serde feature enabled
2019-05-28 04:35:12 +02:00
Sebastian Dröge
004ce5d392
gstreamer: Re-export the paste crate for the gst_plugin_define! macro
...
And only depend on the paste crate if the subclass feature is requested.
2019-05-27 22:46:26 +02:00
Sebastian Dröge
faa6467d7a
gstreamer: Export new 1.14+ plugin symbols if configured for 1.14+
...
This is also needed for static linking on Android to work correctly.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/154
2019-05-27 20:22:05 +00:00
Arun Raghavan
61b1822c95
gstreamer: Fix URIHander::set_uri annotation
...
We don't actually accept a NULL uri, so it doesn't need to be an Option,
and using &str instead of String is more efficient.
2019-05-25 19:12:42 +02:00
Sebastian Dröge
4798b4bcc9
video: Don't require the input buffers of the video codec frames to be writable
2019-05-25 14:13:06 +02:00
Sebastian Dröge
bc082ba56c
video: Don't unref video codec state in set_format()
2019-05-25 13:02:41 +02:00
Sebastian Dröge
be9434e029
video: Add finish() virtual function for video encoder/decoder
2019-05-25 11:25:56 +02:00
Sebastian Dröge
7a0bc76668
video: Add VideoEncoder bindings
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/160
2019-05-25 10:11:06 +02:00
Sebastian Dröge
4096869075
Update byte-slice-cast to 0.3
2019-05-24 13:26:49 +02:00
Vivia Nikolaidou
4a8e860a9e
gstreamer-video: Expose VideoBufferPool
...
Closes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/12
2019-05-24 10:32:57 +00:00
Vivia Nikolaidou
6461a3abaa
buffer_pool: Add {get,set}_allocator bindings
2019-05-24 10:32:57 +00:00
Vivia Nikolaidou
32e1d68d36
allocator: Expose GstAllocator
2019-05-24 10:32:57 +00:00
Vivia Nikolaidou
922af1d606
Add GstMemory bindings
...
Part of https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/12
2019-05-24 10:32:57 +00:00
Vivia Nikolaidou
044d931d01
flags: Expose GstMemoryFlags
2019-05-24 10:32:57 +00:00
Sebastian Dröge
059860c744
Allow clippy job to fail in the CI for now
2019-05-24 10:04:16 +00:00
Sebastian Dröge
b5dcbe3897
gstreamer/proxypad: Move default functions to extension trait
2019-05-24 10:04:16 +00:00
Sebastian Dröge
86e969d964
Remove various Into<Option<_>> trait bounds from functions
...
In autogenerated code these were already replaced but some manual code
still kept them.
2019-05-24 10:04:16 +00:00
Sebastian Dröge
6cef32a4dd
Change various mini object references to references to the refcounted object
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/204
2019-05-24 10:04:16 +00:00
Sebastian Dröge
e6f65a5032
gstreamer/miniobject: ToOwned::to_owned() on references has to create a copy
...
Otherwise it's possible to create a new owned reference from a mutable
reference, and then there is a mutable and immutable reference to the
same data at the same time, which is simply not allowed.
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/204
2019-05-24 10:04:16 +00:00
Guillaume Desmottes
c766f16403
video: add GST_BUFFER_POOL_OPTION_VIDEO_*_META constants
2019-05-23 15:10:42 +02:00
Guillaume Desmottes
47121fe9d6
gstreamer-video: VideoDecoder bindings
...
The VideoCodecFrame and VideoCodecState is C API is unfortunatelly unsafe
by design. So we workarounded it by ensuring the decoder stream lock was
hold while user has a writable reference on those objects.
Based on previous work from Thibault Saunier and Philippe Normand.
Fixes #161
2019-05-22 20:40:57 +00:00
Sebastian Dröge
a986914bad
Use Option<&T> instead of &Option<T> everywhere
...
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/203
2019-05-22 23:27:13 +03:00
Víctor Manuel Jáquez Leal
32d7f42d67
Remove unused extern crates
...
Latest versions of nightly rust compiler can detect unused extern
crates, and this commit removes those marked as unused.
2019-05-17 09:34:46 +00:00
Jan Alexander Steffens (heftig)
5398a80a73
gstreamer/pad: Add a probe test
2019-05-16 18:17:15 +02:00
Jan Alexander Steffens (heftig)
d470881ac2
gstreamer/pad: Handle PadProbeReturn::Handled more correctly
...
If the probe returns Handled and the data was a Buffer we need to ensure
it was consumed. Queries need to be returned. The behavior of Handled
for other probes is not clear.
2019-05-16 16:55:02 +02:00
Jan Alexander Steffens (heftig)
d5317cccdd
gstreamer/pad: Expose the flow_ret value in PadProbeInfo
...
This is present since GStreamer 1.5.90 so no feature flags needed.
2019-05-16 16:55:02 +02:00
Jan Alexander Steffens (heftig)
061683af7b
gstreamer/pad: Assert post-probe data did not become None
...
GStreamer does not allow the probe to consume the reference here.
2019-05-16 16:55:02 +02:00
Jan Alexander Steffens (heftig)
706fb66f0b
gitignore: Ignore any target folder, not just in the root
2019-05-16 16:55:02 +02:00
Guillaume Desmottes
94d4c5b42d
buffer: display metas in Debug
...
Fix #201
2019-05-16 14:45:55 +02:00
Sebastian Dröge
0c0c056770
ges: Update bindings to 1.16.0
2019-05-16 01:54:10 +03:00
Sebastian Dröge
6071c68ab6
video: Add support for VideoCaptionMeta
2019-05-16 00:35:19 +03:00
Sebastian Dröge
e9edb8ddca
sdp: Add SDPMessage::get_media_mut() and ::medias_mut()
...
This allows getting mutable references to the medias so that they can be
modified, which is allowed by the C API and safe to do.
2019-05-15 17:15:41 +03:00
Artem
0bd22b2b05
Add missing license files
...
Closes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/merge_requests/255
2019-05-13 10:10:51 +02:00
Vivia Nikolaidou
496fc61873
pipeline: Add to lib.rs
2019-05-12 16:41:18 +03:00
Sebastian Dröge
698120c620
Add tests for pad and element subclassing
2019-05-11 13:45:09 +00:00
Sebastian Dröge
c282f34c74
bus: Fix naming for filtered pop functions
2019-05-11 13:45:09 +00:00
Vivia Nikolaidou
1a65c674a9
Add unset_*_flags functions
...
Implemented for element, object, pad, and pipeline
https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/104
2019-05-11 15:51:33 +03:00
Vivia Nikolaidou
6403c06990
Add API for setting/getting object flags
...
Implemented for Object, Pipeline, Bin, Element, Plugin.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/104
2019-05-11 13:13:33 +03:00