Commit graph

532 commits

Author SHA1 Message Date
Sebastian Dröge ba73440a9a Update gstreamer-rtsp-server 2018-03-19 10:32:07 +02:00
Sebastian Dröge 68951d775f Update gstreamer-player 2018-03-19 10:32:07 +02:00
Sebastian Dröge c4cdcc7b68 Update gstreamer-pbutils 2018-03-19 10:32:07 +02:00
Sebastian Dröge 50505d19b8 Update gstreamer-net 2018-03-19 10:32:07 +02:00
Sebastian Dröge 99d4fe0925 Update gstreamer-base 2018-03-19 10:32:07 +02:00
Sebastian Dröge a4f1300f72 Update gstreamer-audio 2018-03-19 10:32:07 +02:00
Sebastian Dröge e3774ad458 Update gstreamer-app 2018-03-19 10:32:07 +02:00
Sebastian Dröge b25a071145 Update gir-files from gstreamer-sys 2018-03-19 10:32:07 +02:00
François Laignel 88a68dff3e Fix futures crate not being pulled with feature dox
When feature `dox` is selected but not `futures`, the `futures` crate is not
available as a dependency leading to a "can't find crate for `futures`" error.
2018-03-19 10:31:41 +02:00
François Laignel 93442e94dd element: add feature gate for test_call_async
Fixes https://github.com/sdroege/gstreamer-rs/pull/92
2018-03-16 17:51:56 +02:00
Sebastian Dröge 11c974a55e Fix some unused import compiler warnings if using < v1_10 2018-03-16 12:28:20 +02:00
Sebastian Dröge fc7cda4522 Directly dereference DebugCategory struct to read the threshold and #[inline]
This should improve logging performance if the threshold is not high
enough.
2018-03-16 12:27:36 +02:00
Sebastian Dröge c38af51bf0 Add Element::call_async() bindings 2018-03-14 15:42:17 +02:00
Fernando Jiménez Moreno 56555f6b52 Add gst-rtsp-server dependency to README 2018-03-12 20:49:14 +02:00
Sebastian Dröge de8f4694f5 Add initial BufferPool bindings 2018-03-07 11:08:21 +02:00
Mathieu Duponchelle 9448f1cc3e Manual bindings for RTSPToken 2018-03-02 22:12:37 +02:00
Sebastian Dröge a3b294f0f2 Add back callback guards 2018-03-02 21:34:29 +02:00
Sebastian Dröge 808ff293ec Regenerate everything with latest gir 2018-03-02 21:34:29 +02:00
Sebastian Dröge dab93d4334 Update gir-files from gstreamer-sys 2018-03-02 21:17:04 +02:00
Sebastian Dröge cd95920436 Run everything through rustfmt 2018-03-02 21:06:45 +02:00
Sebastian Dröge 7f265a23bd Rename DiscovererStreamInfo iterator simply to Iter and don't re-export it top-level 2018-03-02 21:02:30 +02:00
Thiago Santos c81e177cfb pbutils: add discoverer APIs
Fixes https://github.com/sdroege/gstreamer-rs/pull/84
2018-03-02 21:02:24 +02:00
Mathieu Duponchelle e6265341d5 Add rtsp-server-record example with authentication and TLS
Update the generated files to include TLS related functions,
override some auth and token functions.
2018-02-26 20:35:23 +02:00
Mathieu Duponchelle f8108d3dcf Update GstRtspServer-1.0.gir 2018-02-26 20:35:23 +02:00
Mathieu Duponchelle 7b082de6da Regen with latest gir 2018-02-26 20:35:23 +02:00
Mathieu Duponchelle ab0df6ddf0 examples: use Cargo.toml required-features
This lets us avoid #ifdef forests
2018-02-26 20:35:23 +02:00
Mathieu Duponchelle 45bb8fe3e0 rtpfecserver example: mux-seq property was removed from rtpulpfecenc 2018-02-26 19:19:59 +02:00
Sebastian Dröge 4117c01ff2 Run everything through latest rustfmt-nightly 2018-02-22 11:18:37 +01:00
Mathieu Duponchelle 1fbc5e7644 examples: add rtpfec example
Fixes https://github.com/sdroege/gstreamer-rs/pull/73
2018-02-22 07:45:22 +01:00
Sebastian Dröge 828f639cc7 Fix unused import compiler warning in tokio example 2018-02-21 13:26:07 +01:00
François Laignel 84e4546f72 Toc: implement Debug trait 2018-02-20 19:29:26 +01:00
Sebastian Dröge f92f0a99e8 Update CHANGELOG.md for 0.10.2 2018-02-18 23:25:11 +01:00
Sebastian Dröge f1426c82ba Remove callback guards
Since Rust 1.24 it is safe to let panics go to the FFI boundary
2018-02-17 19:58:41 +02:00
François Laignel c971727193 Query: allow concrete query instantiation
Allow instantiating and dereferencing concrete queries. The motivation
for this proposal is to allow the following usability enhancements:

- Concrete queries mutability guaranteed by the borrow checker,
including for generic functions:
``` rust
    let mut p = Query::new_position(::Format::Time);
    p.get_mut_structure().set("check_mut", &true);
```

- Concrete queries functions available in place:
``` rust
    let mut q = gst::Query::new_duration(gst::Format::Time);
    let duration = if pipeline.query(&mut q) {
        Some(q.get_result())
    } else {
        None
    };
```
2018-02-16 10:33:40 +02:00
Sebastian Dröge b4d5c98834 Add bindings for GstRTSPContext
This enables most of the signals of GstRTSPClient
2018-02-15 17:04:32 +02:00
Mathieu Duponchelle a00243d529 Add initial libgstsdp, libgstrtsp and libgstrtspserver bindings
Only automatic bindings for now, which is enough to allow
implementing a simple rtsp-server example.

Depends on https://github.com/sdroege/gstreamer-sys/pull/8

Uses a new gir feature proposed at
https://github.com/gtk-rs/gir/pull/539 to make doc regeneration
easier.

Fixes https://github.com/sdroege/gstreamer-rs/pull/80
2018-02-14 18:57:58 +02:00
Sebastian Dröge 08dbde4c0e Add getters for the BaseSrc/Sink/Transform configured segment 2018-02-12 10:44:44 +02:00
Sebastian Dröge 2f179a832c Fix compilation after gstreamer-sys regeneration with unions 2018-02-07 18:53:12 +02:00
Sebastian Dröge 6d0d7a3df8 Regenerate everything with latest GIR 2018-02-06 16:42:34 +02:00
François Laignel ac31688fbd Value: use new union for GValue_data 2018-02-05 05:28:09 +01:00
fengalin ce28fed070 Tutorials: message handlers: invoke generic Message method from the concrete message
Generic methods for events, messages and queries can now be invoked from the concrete type.
2018-01-29 17:33:49 +02:00
fengalin 21c687f256 Examples: message handlers: invoke generic Message method from the concrete message
Generic methods for events, messages and queries can now be invoked from the concrete type.
2018-01-29 17:33:49 +02:00
fengalin da924e5d4d Event & Message: factorize common attributes in generic builders
Concrete events and messages share common attributes which can be factorized in generic builder `struct`s. This reduces noise in the concrete implementations.
2018-01-29 17:33:49 +02:00
fengalin 2d1218e6d6 Event, Message & Query: allow dereferencing concrete types to access generic type methods
Implement `deref` for concrete derivatives of `Event`, `Message` and `Query`. This allows accessing generic methods such as `is_sticky` for events, `get_seqnum` for messages or `is_serialized` for queries and `get_structure` for all.
2018-01-29 17:33:49 +02:00
fengalin 86812c1a53 MessageBuilder: comment out other_fields related methods until GStreamer v1.14 is released
These methods are commented out in order to maintain consistency between messages with and without arguments. It will be restored and conditioned to feature "v1_14" when GStreamer v1.14 is released.
2018-01-29 10:07:42 +02:00
fengalin 3c65a50076 Fix building argument-less messages
Building an argument-less message such as eos yields an assertion failure due to the inner structure being null. The short term solution consists in checking that the inner `structure` is not `null` before attempting to insert `other_fields`. The consequence is that `others_fields` defined for argument-less messages will be ignored. A correction will be applied when GStreamer 1.14 is released thank to the introduction of `gst_message_writable_structure` (see https://bugzilla.gnome.org/show_bug.cgi?id=792928). Due to the dependency on GStreamer 1.14, the correction will be only available under the activation of a feature "v1_14".

Events are not affected as the build method the availability of `gst_event_writable_structure` and this function "will never return NULL". However, we can avoid a `structure` allocation for argument-less messages without `other_fields`.
2018-01-29 10:07:42 +02:00
Charlie Turner b6979f248c Address review comments 2018-01-26 18:18:50 +02:00
Charlie Turner fa1b0e6c4a Document dependency for libgstreamer-plugins-bad1.0-dev 2018-01-26 18:18:50 +02:00
Sebastian Dröge ad219dd171 Remove PAD_PROBE_ID_INVALID and Default impls for PadProbeId and NotifyWatchId
These should never ever be 0, and passing 0 to any of the functions
using them will result in assertions.
2018-01-25 21:06:39 +02:00
Sebastian Dröge fc4ad81777 Change VideoFrameRef::copy_to() and ::copy_plane() to take VideoFrameRefs instead of VideoFrames
VideoFrames can always be converted to a VideoFrameRef if needed.
2018-01-16 18:59:04 +02:00