Commit graph

1141 commits

Author SHA1 Message Date
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
Vivia Nikolaidou 9067b500c8 enums: Removed MessageType::Any 2019-05-11 11:45:12 +03:00
Vivia Nikolaidou 05d936fcee gstreamer: Add binding for GstMessageType and gst_bus_timed_pop_filtered
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/168
2019-05-10 19:35:13 +03:00
Guillaume Desmottes 05519219ef buffer_pool: use to_glib_none() to cast BufferPoolAcquireParams 2019-05-07 13:30:00 +05:30
Guillaume Desmottes fca4441a72 buffer_pool: implement ToGlibPtr and ToGlibPtrMut for BufferPoolAcquireParams
I'll use them to bind
gst_video_decoder_allocate_output_frame_with_params()
2019-05-07 10:28:25 +05:30
Jordan Petridis 3bf853e42f CI: only build with all-features on nightly
glib has a futures feature that only works on nighty
and there is no easy to exclude a feature without specifying
every other feature.
2019-05-03 22:35:30 +03:00
Jordan Petridis bc355ea3ee CI: refactor to use 'extends' instead of anchors 2019-05-03 22:35:30 +03:00
Sebastian Dröge 5f1a50026d Update futures code to futures 0.3
Also clean it up a bit.
2019-05-02 21:35:12 +03:00
Sebastian Dröge 2b122a20c5 examples/glupload: Fix segmentation fault by ensuring the glutin context stays alive longer than the GStreamer GL display
Otherwise the GL display might still use a Wayland display that is
already freed.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/issues/196
2019-04-29 15:43:51 +03:00
François Laignel bf96e264c9 gstreamer: Fix test for toc serialization
Ron changed the way it outputs empty arrays with version `0.5`.
2019-04-24 19:04:40 +03:00
Sebastian Dröge 4af06f0dd2 examples/glupload: Clean up considerably and port to glutin 0.21 2019-04-24 16:07:15 +03:00
Sebastian Dröge d460310ed1 appsink: Properly mark appsink callbacks as Send-only
They can only be called from a single thread at a time, unlike some of
the appsrc callbacks.

This change was partially done in 062403bdac
but a part was missing.
2019-04-24 15:44:55 +03:00
Sebastian Dröge 044e3985a3 Update dependencies 2019-04-24 09:45:56 +03:00
Sebastian Dröge b2b8bfab52 Add manual implementations for various new 1.16 functions 2019-04-23 20:45:39 +03:00
Sebastian Dröge 54705f959a message: DeviceAdded/Removed getters are transfer full 2019-04-23 20:45:39 +03:00
Sebastian Dröge 8aad3e4dbb Update CI configuration for 1.16 2019-04-23 20:45:39 +03:00
Sebastian Dröge 88dcb82c8d Regenerate everything for 1.16.0 2019-04-23 19:15:53 +03:00
Sebastian Dröge 5c32a0d1d3 Update manual code and configuration for 1.16 2019-04-23 19:15:53 +03:00
Sebastian Dröge bf1fb86d56 Update gir-files for 1.16.0 2019-04-23 19:12:17 +03:00
Sebastian Dröge 8618085d46 Port examples/tutorials to the explicit Option parameter changes 2019-04-15 19:19:19 +03:00
Sebastian Dröge 8cd9b6c9fc sdp: Add Default impl for Media 2019-04-15 19:19:19 +03:00
Sebastian Dröge e7898c1b24 Update manual code 2019-04-15 19:19:19 +03:00
Sebastian Dröge 24305a19e8 Regenerate everything with latest gir 2019-04-15 18:38:05 +03:00
Víctor Manuel Jáquez Leal 2a6343a671 Support Wayland display on glupload example 2019-04-10 19:08:12 +02:00
Víctor Manuel Jáquez Leal 4b3a011882 Support GLX on glupload example 2019-04-10 19:08:12 +02:00
Víctor Manuel Jáquez Leal b99c582a88 Add GLDisplayWayland in gstreamer-gl 2019-04-10 19:08:12 +02:00
Víctor Manuel Jáquez Leal 72aa5aed88 Add GLDisplayX11 for gstreamer-gl 2019-04-10 19:08:12 +02:00
Víctor Manuel Jáquez Leal 9931ac551e Update metadata in Cargo.toml from gstreamer-gl
Update repository and documentation keys since the migration to
freedesktop's gitlab.
2019-04-10 19:08:12 +02:00
Sebastian Dröge 5af54b8d94 Use the slice::windows() iterator instead of zipping twice for Element::link_many() and unlink_many()
Has the same effect but is easier to read and more efficient.
2019-04-10 16:30:26 +03:00
Sebastian Dröge 5a6313c682 examples/glupload: Switch to glutin 0.20 instead of some git version 2019-04-09 09:36:33 +03:00
Víctor Manuel Jáquez Leal 1e4d63d77f examples/glupload: Sync and wait for GL fence
Fixes: #192
2019-03-27 16:37:21 +01:00
François Laignel 9a01bd6202 TagList: handle scope in serde
These changes break compatibility for the serde representations of
`TagList` and `Toc`. Previous representation for the `TagList` was
a sequence. We now have to rely on a struct representation in order
to add `scope`.
2019-03-20 13:58:28 +00:00
François Laignel bec3d84627 TagList: add TagScope {get, set} 2019-03-20 13:58:28 +00:00