Ray Tiley
ccd607707d
threadsharing/udpsrc: Fix build on Windows
2019-08-08 10:32:19 -04:00
Sebastian Dröge
caeff6f968
threadshare/udpsrc: Use MaybeUninit instead of mem::zeroed()
2019-07-10 17:20:45 +03:00
Sebastian Dröge
b4efa42d8f
Fix various clippy warnings
2019-07-04 18:56:33 +03:00
Sebastian Dröge
50037325ff
Explicitly add dyn
keyword to trait objects
...
Trait objects without are deprecated with the latest nightly and this
makes it more clear that we're doing dynamic dispatch anyway.
2019-06-06 09:26:02 +03:00
Guillaume Desmottes
53e530f7db
port all plugins to new register API
...
Rank is now an enum rather than a u32
2019-06-04 14:35:10 +05:30
Sebastian Dröge
2fc89ced15
Fix various compiler warnings
2019-05-28 04:43:54 +02:00
Sebastian Dröge
9bccc50add
Update for gstreamer-rs API changes
2019-05-24 13:09:32 +02:00
Sebastian Dröge
129f6a28b0
Update for gstreamer-rs/glib/etc API changes and add more explicit Some()
2019-04-16 10:10:16 +03:00
Abdul Rehman
2f3139dea2
ts-udpsrc: Add retrieve-sender-address property
...
Fixes #41
2019-03-13 21:07:53 +05:00
Sebastian Dröge
aa325ea98d
Fix various clippy warnings
2019-02-21 20:12:09 +02:00
Sebastian Dröge
01911b0ca7
ts-udpsrc: Fix build on Windows
2019-02-07 10:31:47 +02:00
Sebastian Dröge
a2582afed3
ts-udpsrc: Fix build on Windows
...
By disabling socket sharing there. This is blocked by PRs to mio/tokio
currently.
2019-02-07 10:31:47 +02:00
Sebastian Dröge
9db02cb55e
Fixes for gstreamer-rs API changes
...
Creating pad templates can return None now.
2019-01-29 17:33:06 +02:00
François Laignel
e930133bdf
Update for gstreamer-rs MR 200
...
See https://gitlab.freedesktop.org/gstreamer/gstreamer-rs/merge_requests/200
2019-01-12 18:00:04 +01:00
Sebastian Dröge
f374d7fedf
Remove unneeded ObjectSubclass::new() functions where not needed
2018-12-19 13:23:02 +02:00
Sebastian Dröge
fb741f26f3
Update for glib property API changes
2018-12-18 11:23:45 +02:00
Sebastian Dröge
e64a9b4a1a
Port threadshare plugin to new subclassing API
2018-12-06 13:03:04 +02:00
Sebastian Dröge
4d87c11293
Run everything through latest rustfmt again
2018-12-04 19:01:40 +02:00
Sebastian Dröge
3026e56cfb
ts-udpsrc: Creating a gio::Socket from a raw fd/socket is unsafe
...
So put it into an unsafe block.
2018-12-03 13:02:35 +02:00
Sebastian Dröge
9750195caa
ts-udpsrc: Dup the socket so that both tokio and GIO can take ownership of it
...
Otherwise both would be closing the same socket, which a) breaks the
second user of the socket if any and b) could on the second close cause
a completely unrelated socket to be closed.
Windows part of the code is untested.
2018-11-30 19:39:39 +02:00
Sebastian Dröge
40426a2cf6
Use new boxed type support from the GLib bindings
2018-11-29 21:01:02 +02:00
Sebastian Dröge
ab08cbd412
ts-udpsrc: Implement socket and used-socket properties like in udpsrc
2018-11-13 14:13:23 +02:00
Sebastian Dröge
73a7be5ef5
Run gst-plugin-threadshare through cargo fmt
2018-11-05 13:43:38 +02:00
Sebastian Dröge
6c32b702f0
Fix build with gst-plugin-rs API changes
2018-11-05 13:43:11 +02:00
Sebastian Dröge
fbc0a04cff
threadshare: Run everything through rustfmt again
2018-11-05 13:36:47 +02:00
Sebastian Dröge
55f9b84008
threadshare: Drop support for multi-threaded runtime as it is consistently slower
...
And switch to the new built-in spawning support of CurrentThread
2018-11-05 13:36:47 +02:00
LEE Dongjun
df86b67117
threadshare: Rename udpsocket file to socket file
2018-11-05 13:36:47 +02:00
LEE Dongjun
1ac85c91e5
threadshare: Generalize UdpSocket to Socket.
2018-11-05 13:36:47 +02:00
Sebastian Dröge
8cdb47e61e
threadshare: Also set reuse address/port settings for non-multicast sockets
...
And share more code between unicast/multicast socket creation
2018-11-05 13:36:47 +02:00
Sebastian Dröge
9adf663073
threadshare: Add property to udpsrc for allowing port/address reuse
2018-11-05 13:36:47 +02:00
Sebastian Dröge
3a8ce35e60
threadshare: Revert "Push io-context sharing event before stream-start and anything else"
...
This reverts commit 083948e8ea1471f1d8a013a225200729cfcef2a9.
This has no effect because core is reordering events to have
stream-start and others always first.
2018-11-05 13:36:47 +02:00
Sebastian Dröge
135ec5ee7d
threadshare: Push io-context sharing event before stream-start and anything else
2018-11-05 13:36:47 +02:00
Sebastian Dröge
be0403ce24
threadshare: Switch to gobject-subclass
2018-11-05 13:36:47 +02:00
Sebastian Dröge
30b2df753c
threadshare: Set element flags correctly for sources and sinks
...
And let proxysink post EOS events
2018-11-05 13:36:20 +02:00
Sebastian Dröge
099093e9be
threadshare: Refactor pending future draining to get rid of some duplicated code
2018-11-05 13:36:20 +02:00
Sebastian Dröge
a9d979a988
threadshare: Use catch_panic_pad_function from gst-plugin crate
2018-11-05 13:36:20 +02:00
Sebastian Dröge
88933790e7
threadshare: Add FIXME comment for refactoring opportunities
2018-11-05 13:36:20 +02:00
Sebastian Dröge
f5b3e9481f
threadshare: Run everything through rustfmt
2018-11-05 13:36:20 +02:00
Sebastian Dröge
6ebc8988b2
threadshare: Make sure to shutdown sockets/queues without any mutexes locked
...
And make sure that the IOContext stays alive until they are fully done.
2018-11-05 13:36:20 +02:00
Sebastian Dröge
e03c27814b
threadshare: Implement pending futures that could be scheduled downstream as result of a push
...
This is used by the queue to schedule putting data into the queue once
it has space again.
Also implement blocking-wait in the queue on the sinkpad if there is no
IOContext upstream and generally clean up various things.
2018-11-05 13:36:20 +02:00
Sebastian Dröge
21f905739f
threadshare: Implement error handling
2018-11-05 13:36:20 +02:00
Sebastian Dröge
7cd2945268
threadshare: Implement error handling for IO/data flow errors
...
Also create a proper stream id
2018-11-05 13:36:20 +02:00
Sebastian Dröge
212b00ef2f
threadshare: Move buffer handling into a separate function
2018-11-05 13:36:20 +02:00
Sebastian Dröge
613706d446
threadshare: Implement propert event/query handling
2018-11-05 13:36:20 +02:00
Sebastian Dröge
e269e51524
threadshare: Refactor
2018-11-05 13:36:20 +02:00
Sebastian Dröge
f53efc6e6f
threadshare: Implement throttling for the poll loop
2018-11-05 13:36:20 +02:00
Sebastian Dröge
6aa9f642ba
threadshare: Allow running completely single-threaded
2018-11-05 13:36:20 +02:00
Sebastian Dröge
b939607693
threadshare: Stop using reactor::Background and implement it ourselves for now
2018-11-05 13:36:20 +02:00
Sebastian Dröge
299c69185e
threadshare: WIP
2018-11-05 13:36:20 +02:00
Sebastian Dröge
0fe6fbc859
threadshare: Initial working version
2018-11-05 13:36:20 +02:00