Commit graph

3573 commits

Author SHA1 Message Date
Daniel Vilar
07a8b8a274 Refactor logic to use multiple streams in the same pipeline
Now it's possible to connect to N streams in the same pipeline. Each new connection will create a new NDI receiver except if it's a empty slot in the receiver.

Each receiver has two slots one to connect to audio and other to connect to video to the same stream.
2018-08-20 11:09:43 +02:00
Daniel Vilar
ba45931830 Add audio to the pipeline even if the stream source it's already in use for video
FIXME: Whith this commit it's possible to add more streams for the same source if the pipeline has an audio source for that source.
2018-08-14 16:47:58 +02:00
Daniel Vilar
8bf4f8f935 Fix to use multiple NDI streams in the same pipeline
It's not possible to connect to the same stream twice. For example to audio and video from the same stream.
2018-08-14 15:45:13 +02:00
Sebastian Dröge
5e55ed6b6c Add support for subclassing GstAggregator and GstAggregatorPad 2018-08-01 19:13:42 +03:00
Sebastian Dröge
bf63a823cd Use from_glib_borrow() for more vfunc parameters 2018-07-30 12:24:12 +03:00
Sebastian Dröge
d1f90d0fea Add support for implementing GstChildProxy 2018-07-30 12:20:56 +03:00
Sebastian Dröge
0826906704 Add support for subclassing ghost pads 2018-07-30 11:22:07 +03:00
Sebastian Dröge
484c5186cd Add support for subclassing pads 2018-07-30 11:15:29 +03:00
Sebastian Dröge
dcb3683232 Run everything through latest rustfmt 2018-07-27 13:35:58 +03:00
Sebastian Dröge
bdfc95e6e8 Get rid of send-cell dependency and fix reference cycles 2018-07-27 13:35:24 +03:00
Sebastian Dröge
6e33313b78 Make use of downcast_ref() to prevent some clones 2018-07-12 08:35:09 +03:00
Sebastian Dröge
b3089ca047 Use ObjectExt::notify() instead of the gobject-subclass variant 2018-07-11 16:12:10 +03:00
Daniel Vilar
0baf7ee839 Calculate buffer duration from frame info 2018-07-03 10:02:15 +02:00
Daniel Vilar
98cd1bbc8a Added pipelines to README 2018-07-02 14:08:15 +02:00
Daniel Vilar
7cbf8e57a8 Added query function to return latency 2018-07-02 14:07:51 +02:00
Daniel Vilar
6ba47cc085 Use common start timestamp 2018-07-02 14:06:44 +02:00
Daniel Vilar
8399da4f7c Refactor timestamps and timecode logic 2018-06-27 13:53:09 +02:00
Daniel Vilar
570abeff49 Clean code 2018-06-27 11:56:11 +02:00
Daniel Vilar
75bba9f0e0 Merge branch 'audio_src' into 'develop_rr_peite'
Added audio src
2018-06-26 14:09:43 +02:00
Daniel Vilar
43db3e4477 Clean code 2018-06-26 14:07:43 +02:00
Daniel Vilar
893c217212 Refactor get frame logic 2018-06-26 13:06:55 +02:00
Daniel Vilar
e5405a6657 Moved connection to ndi logic from sources to a common function 2018-06-25 10:38:45 +02:00
Sebastian Dröge
a9960f1fc0 Get rid of callback_guard! as unwinding through FFI is defined behaviour now and aborts 2018-06-24 14:56:11 +03:00
Daniel Vilar
2e9a0242af Working audio src 2018-06-20 10:23:19 +02:00
Daniel Vilar
e0a3fb393e Work in progress 2018-06-15 15:16:25 +02:00
Daniel Vilar
5302c67f97 First step to implement audiosrc 2018-06-12 14:40:17 +02:00
Daniel Vilar
1ea558641e Get video caps from NDI stream 2018-06-12 13:41:48 +02:00
Daniel Vilar
24f2cd57ad Refactor NDI receiver logic 2018-06-12 13:39:49 +02:00
Daniel Vilar
3e9b1a85ca Use timestamp instead of timecode, some videos timecode is 0 2018-06-04 13:45:29 +02:00
Daniel Vilar
e8ee6fd806 Close NDI stream when closing gstreamer 2018-06-04 13:44:27 +02:00
Sebastian Dröge
754373ba6c Update to byte-slice-cast 0.2 2018-06-01 12:02:32 +03:00
Daniel Vilar
a89334a500 Updated README 2018-05-31 11:19:01 +02:00
Daniel Vilar
a1fc0efe3d Indent code correctly 2018-05-31 11:16:29 +02:00
Daniel Vilar
c744353583 Added ip parameter to connect to the stream 2018-05-31 11:14:11 +02:00
Daniel Vilar
385351e5ad Refactor start_pts 2018-05-30 12:55:54 +02:00
Thibault Saunier
25af5afb2b Move plugin-simpler::error code back to gst-plugin
Prepatory work to write element base class for decoders (which will be
outside of plugin-simple).
2018-05-13 13:53:18 +03:00
Sebastian Dröge
48ce43ce06 Update to muldiv 0.2 2018-05-11 10:37:34 +03:00
Sebastian Dröge
389e25ae03 Fix diff links in the CHANGELOG.md 2018-05-09 12:32:59 +03:00
Sebastian Dröge
57dc9451cc Update CHANGELOG.md for 0.2.1 2018-05-09 12:30:23 +03:00
Sebastian Dröge
3703999895 Fix memory leak in ElementClass::add_pad_template()
It's taking the pad template as transfer-floating, not transfer-full.
2018-05-09 12:00:55 +03:00
Sebastian Dröge
2c0e7a9192 Update for gobject-subclass API changes 2018-05-04 13:58:02 +02:00
Sebastian Dröge
88596f933f Update CHANGELOG.md for 0.2.0 2018-05-02 15:29:47 +03:00
Sebastian Dröge
318656ea9b Add api-bindings category to the crate 2018-05-02 14:12:39 +03:00
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