Commit graph

3130 commits

Author SHA1 Message Date
Sebastian Dröge
1f596d414d Use unsafe impl for the Instance trait impl 2018-05-02 13:48:03 +03:00
Sebastian Dröge
6803cb5fac Move gobject-subclass to its own repository 2018-05-01 17:55:27 +03:00
Sebastian Dröge
80793cd766 Move export/re-export cleanup 2018-05-01 17:43:52 +03:00
Sebastian Dröge
9559742e19 Clean up module exports/re-exports 2018-05-01 17:30:02 +03:00
Sebastian Dröge
51b21ef977 Cleanup up imports/macro_use 2018-05-01 17:25:49 +03:00
Sebastian Dröge
8bc3f12061 Run everything through rustfmt again 2018-05-01 17:16:12 +03:00
Dirk Van Haerenborgh
d74995ee7e remove Send+Sync requirement from object. Does not bode well with gtk 2018-05-01 17:16:07 +03:00
Dirk Van Haerenborgh
a401427a0c add Instance trait implementation for InstanceStruct 2018-05-01 17:11:18 +03:00
Dirk Van Haerenborgh
31a48c4baa Split out base object traits
This allows using this independent from GStreamer for subclassing e.g.
GIO or GTK GObjects.

Fixes https://github.com/sdroege/gst-plugin-rs/issues/28
Fixes https://github.com/sdroege/gst-plugin-rs/pull/32
2018-05-01 17:11:18 +03:00
Daniel Vilar
d667536ec6 Added pts, and offsets to gstreamer buffer 2018-04-30 10:18:17 +02:00
Daniel Vilar
bc8950303c Added field pts to buffer 2018-04-26 13:53:50 +02:00
Daniel Vilar
53c692fac5 Connect to the stream inidicated in pipeline stream-name property 2018-04-26 12:30:13 +02:00
Daniel Vilar
bf25388216 Improved logs 2018-04-25 12:42:41 +02:00
galicaster
45fcccbd31 Eurekagit statusgit status
First iteration copying memory.
2018-04-25 10:32:47 +02:00
galicaster
db5493d110 Clean code 2018-04-24 19:41:27 +02:00
Daniel Vilar
2d9feaa462 Martes 2018-04-24 14:08:06 +02:00
Daniel Vilar
d813fa5681 Try to add video data to a buffer 2018-04-23 14:12:41 +02:00
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