Commit graph

3013 commits

Author SHA1 Message Date
Daniel Vilar
ca4e498a0b Added NDI code 2018-04-23 13:42:38 +02:00
Daniel Vilar
491276bfbf Merge branch 'develop_rr_peite_review' into 'develop_rr_peite'
Develop Rr Peite Review
2018-04-17 10:05:45 +02:00
rubenrua
1377916b3b Add NdiInstance struct that implement Send
https://doc.rust-lang.org/book/second-edition/ch19-03-advanced-traits.html#the-newtype-pattern-to-implement-external-traits-on-external-types

error[E0277]: the trait bound `*mut std::os::raw::c_void: std::marker::Send` is not satisfied in `ndisrc::State`
   --> src/ndisrc.rs:276:6
       |
       276 | impl ObjectImpl<BaseSrc> for NdiSrc {
           |      ^^^^^^^^^^^^^^^^^^^ `*mut std::os::raw::c_void` cannot be sent between threads safely
               |
                   = help: within `ndisrc::State`, the trait `std::marker::Send` is not implemented for `*mut std::os::raw::c_void`
                       = note: required because it appears within the type `std::option::Option<*mut std::os::raw::c_void>`
                           = note: required because it appears within the type `ndisrc::State`
                               = note: required because of the requirements on the impl of `std::marker::Sync` for `std::sync::Mutex<ndisrc::State>`
                                   = note: required because it appears within the type `ndisrc::NdiSrc`

error[E0277]: the trait bound `*mut std::os::raw::c_void: std::marker::Send` is not satisfied in `ndisrc::State`
   --> src/ndisrc.rs:405:6
       |
       405 | impl ElementImpl<BaseSrc> for NdiSrc {
           |      ^^^^^^^^^^^^^^^^^^^^ `*mut std::os::raw::c_void` cannot be sent between threads safely
               |
                   = help: within `ndisrc::State`, the trait `std::marker::Send` is not implemented for `*mut std::os::raw::c_void`
                       = note: required because it appears within the type `std::option::Option<*mut std::os::raw::c_void>`
                           = note: required because it appears within the type `ndisrc::State`
                               = note: required because of the requirements on the impl of `std::marker::Sync` for `std::sync::Mutex<ndisrc::State>`
                                   = note: required because it appears within the type `ndisrc::NdiSrc`

error[E0277]: the trait bound `*mut std::os::raw::c_void: std::marker::Send` is not satisfied in `ndisrc::State`
   --> src/ndisrc.rs:424:6
       |
       424 | impl BaseSrcImpl<BaseSrc> for NdiSrc {
           |      ^^^^^^^^^^^^^^^^^^^^ `*mut std::os::raw::c_void` cannot be sent between threads safely
               |
                   = help: within `ndisrc::State`, the trait `std::marker::Send` is not implemented for `*mut std::os::raw::c_void`
                       = note: required because it appears within the type `std::option::Option<*mut std::os::raw::c_void>`
                           = note: required because it appears within the type `ndisrc::State`
                               = note: required because of the requirements on the impl of `std::marker::Sync` for `std::sync::Mutex<ndisrc::State>`
                                   = note: required because it appears within the type `ndisrc::NdiSrc`

error: aborting due to 3 previous errors
2018-04-16 16:53:22 +00:00
rubenrua
892eb29c3b Add ndilib.rs 2018-04-16 16:42:33 +00:00
Daniel Vilar
c25ad01561 First try to insert NDI libraries 2018-04-13 12:06:15 +02:00
Daniel Vilar
2b09a48a5c Added videocaps and commented almost audiosrc related code 2018-04-12 17:52:21 +02:00
Daniel Vilar
227d750305 Added property stream-name 2018-04-12 17:17:59 +02:00
Daniel Vilar
b0f9b7fae9 Commented unused seek 2018-04-12 16:54:36 +02:00
rubenrua
2aed66ba0f Using deps cte version 2018-04-12 15:17:02 +02:00
rubenrua
a3067f0dd5 Add prerequisites.
See https://github.com/sdroege/gstreamer-rs#installation-linux
2018-04-12 15:14:59 +02:00
Daniel Vilar
8229082cc1 Added license 2018-04-10 18:50:44 +02:00
rubenrua
1d33719744 Using RUST enums
With repr
2018-04-10 18:49:34 +02:00
rubenrua
755fda63d3 Define remaining enums 2018-04-10 18:35:39 +02:00
rubenrua
98db99924e Execute rustfmt 2018-04-10 17:53:49 +02:00
rubenrua
20b6ae5ff6 Use Default Trait
The default values must be reviewed
2018-04-10 17:49:21 +02:00
rubenrua
8d99d47f81 Using correnct default values 2018-04-10 15:25:01 +02:00
rubenrua
6239c2b6b9 Add links to tutorial based in 2018-04-09 05:56:38 +00:00
rubenrua
3a28e7a9fb Add .gitignore 2018-04-09 05:55:03 +00:00
rubenrua
337337854b Add gst-plugin-ndi 2018-04-09 05:53:04 +00:00
rubenrua
6c19cc8d9f Move example to a workspace 2018-04-09 05:32:57 +00:00
Sebastian Dröge
f2f18ebb27 Fix ElementImplExt::catch_panic_pad_function() to actually work 2018-04-05 12:16:09 +03:00
rubenrua
80dcf3c90c Finish example 2018-04-05 11:13:51 +02:00
rubenrua
683253e8e7 Create external ndilib 2018-04-05 11:10:13 +02:00
Sebastian Dröge
c7103765db Run everything through rustfmt again 2018-04-05 11:36:10 +03:00
Sebastian Dröge
40f243dfc3 Move catch_panic_pad_function() into a generic place for all element subclasses 2018-04-05 11:34:57 +03:00
rubenrua
941a500c5f Add gitignore 2018-04-05 09:56:53 +02:00
rubenrua
ef508c39d1 Print metadata recv 2018-04-05 09:56:38 +02:00
rubenrua
864e9b4520 1st commit 2018-04-04 22:22:53 +02:00
Sebastian Dröge
7bffce7a6f Fix compilation with gobject-sys changes to use plain uints for bitflags 2018-04-04 17:32:46 +03:00
Sebastian Dröge
d25b5006cb Run everything through rustfmt again 2018-04-01 12:12:39 +03:00
Sebastian Dröge
3db1c92663 Use ptr::NonNull in various places 2018-04-01 12:12:27 +03:00
Sebastian Dröge
58c1762e7d Fix travis.yml 2018-03-20 14:00:53 +02:00
Sebastian Dröge
ceab3bae8a Update travis.yml for the new 1.14 paths 2018-03-20 13:48:31 +02:00
Sebastian Dröge
f3714f6fe7 Update CHANGELOG.md for 0.1.4 2018-03-20 13:18:37 +02:00
Sebastian Dröge
bcb4617856 Implement Send+Sync for all wrapper types 2018-03-06 22:50:27 +02:00
Sebastian Dröge
24e5c435a7 Revert "Remove callback guards"
This reverts commit 75248c7f07.

Callback guards are required since 1.24.1 again but probably not in 1.25
forwards.
2018-03-02 21:35:50 +02:00
Sebastian Dröge
da433f92af Run everything through latest rustfmt-nightly 2018-02-22 11:23:34 +01:00
Sebastian Dröge
e7b12d87f9 Add second blog post about writing GStreamer elements to the README.md 2018-02-21 20:31:21 +01:00
Sebastian Dröge
17270741e7 Update to num-traits 0.2 2018-02-21 13:36:37 +01:00
Sebastian Dröge
94555afbf4 tutorials: Implement a sine wave source element 2018-02-18 21:38:51 +01:00
Sebastian Dröge
75248c7f07 Remove callback guards
Since Rust 1.24 it is safe to let panics go to the FFI boundary
2018-02-17 20:01:31 +02:00
Sebastian Dröge
b7c06e0203 Fix build with improved Query API 2018-02-16 10:43:49 +02:00
Sebastian Dröge
a0a01f3013 Fix BaseSrc::unlock_stop() calling unlock(), and BaseSink 2018-02-12 17:44:33 +02:00
Sebastian Dröge
2996eaf287 Add tutorial to README.md 2018-02-05 10:29:48 +02:00
Sebastian Dröge
d98c666bd9 Catch panics during plugin initialization and log them 2018-01-18 18:54:15 +02:00
Sebastian Dröge
9375503296 Update CHANGELOG.md for 0.1.3 2018-01-15 10:45:39 +02:00
Sebastian Dröge
3f8adff757 Add BaseTransform::transform_ip_passthrough()
This is called with an immutable BufferRef if we're running in
passthrough mode and the element was configured to pass passthrough
buffers to transform_ip.

Previously we would've gotten a mutable reference, that then would fail
all mutable operations.
2018-01-15 10:35:18 +02:00
Sebastian Dröge
e7cd12bf8a Also update version in the plugin metadata to 1.8 2018-01-15 10:29:08 +02:00
Sebastian Dröge
714301d584 Don't require GStreamer 1.10
We're working just fine with 1.8 too
2018-01-15 09:34:53 +02:00
Sebastian Dröge
20743b29c0 Add gst-plugin-tutorial sub-crate and rgb2gray element 2018-01-13 20:12:37 +02:00