Niels De Graef
d8f61515d8
Don't pass default GLib marshallers for signals
...
By passing NULL to `g_signal_new` instead of a marshaller, GLib will
actually internally optimize the signal (if the marshaller is available
in GLib itself) by also setting the valist marshaller. This makes the
signal emission a bit more performant than the regular marshalling,
which still needs to box into `GValue` and call libffi in case of a
generic marshaller.
Note that for custom marshallers, one would use
`g_signal_set_va_marshaller()` with the valist marshaller instead.
2019-11-06 14:27:46 +00:00
Justin Kim
e6847b6d29
srt: split incoming buffer up into srt chunk
2019-11-06 13:14:26 +00:00
Aaron Boxer
6d3429af34
documentation: fixed a heap o' typos
2019-11-05 09:11:25 -05:00
Tim-Philipp Müller
f218ec2794
Remove autotools build system
2019-10-14 13:54:27 +01:00
Olivier Crête
fa842f2156
srt: Set latency property on SRT socket
2019-08-27 22:31:50 +00:00
Olivier Crête
177f1f95e1
srt: Add sender side statistics
2019-08-27 22:31:50 +00:00
Olivier Crête
54dc0b5579
srtobject: Remove pointless GMainLoop
...
Just use srt's blocking epoll function and fix locking while we're at it.
2019-08-27 22:31:50 +00:00
Mathieu Duponchelle
42adb02a10
docstrings: port ulinks to markdown links
2019-08-23 20:14:12 +02:00
Olivier Crête
15f2cdd750
srt: Remove msg-size property
...
Remove the now unused property
2019-07-08 16:00:51 -04:00
Olivier Crête
42fa4cb2ad
srtsrc: Receive one frame per gstbuffer
...
Don't aggregate the received data, just receive it one packet at a
time. So it keeps the packetization boundaries
2019-07-08 16:00:51 -04:00
Nicolas Dufresne
1acd9c726a
srt: Fix listener crash if no URI is specified
2019-07-08 13:52:48 -04:00
Nicolas Dufresne
b06f7824e1
srt: Use macro instead of duplicating a default value
2019-07-08 13:52:48 -04:00
Nicolas Dufresne
e5b6622546
srt: Fix confusing typo in FIXME comment
...
SRT does not support IPv6, but the comment said IPv4 which was the
opposite of the following code.
2019-07-08 13:52:48 -04:00
Tim-Philipp Müller
7853700b50
meson: add more plugins to plugins list
...
Makes sure their path gets added to the uninstalled environment
and makes sure they get included in the docs.
2019-05-30 20:41:57 +02:00
Mathieu Duponchelle
da6afdec9c
doc: remove xml from comments
2019-05-29 22:58:08 +02:00
Mark Nauwelaerts
dd3a25b473
srt: set cancellation in locked section
...
... to avoid race with wait which uses it with 'flushing' flag state semantics.
2019-05-11 22:38:46 +00:00
Mark Nauwelaerts
dbab2f9498
srt: avoid srtsrc segfault upon downward state change
...
... when it has not yet been connected to.
Also, a condition variable is not a semaphore, so a lock/wait/unlock
sequence is inherently racy without any state checking. So switch to
a different lock and check the intended state.
2019-05-11 22:38:46 +00:00
Mark Nauwelaerts
cc11a7f9d7
srt: initialize list access within locked region
2019-05-11 22:38:46 +00:00
Mark Nauwelaerts
7aba64e19d
srt: post error when failing to start
...
... as appropriate for a subsequent state change failure
2019-04-21 17:17:14 +02:00
Mark Nauwelaerts
6d9398e87f
srt: downgrade regular message to log level
2019-04-21 16:47:30 +02:00
Tim-Philipp Müller
679fa2d200
srt: fix uri and string leaks
...
And simplify property getter to avoid unnecessary copy.
2019-03-08 01:18:39 +00:00
Aaron Boxer
b9f070f796
srtobject: check for null local address to avoid SIGSEV
2019-02-24 10:50:14 -05:00
Justin Kim
e8fd000af0
srt: re-enable passphrase
...
With refactoring, supporting passphrase was removed accidently.
This commit re-enables srt encryption and validates 'passphrase'
by checking the return value of 'srt_setsockopt'.
fix : #694
2019-02-11 23:40:02 +00:00
Olivier Crête
73c6530d40
srt: Accepts URIs without host to go into listener mode
...
Just setting a URI without a hostname should directly go into listener mode.
2019-01-23 19:14:30 +00:00
Olivier Crête
5fee3a87c1
srt: Fix GClosure usage
...
One needs to set a marshaller as well as use the object setter when
setting objects.
2019-01-23 19:14:30 +00:00
Justin Kim
dc28105220
srt: Use default host and port if uri doesn't provide
2019-01-22 18:26:01 +09:00
Justin Kim
2bb907eb9c
srt: Enable logs for srtobject
2019-01-22 12:44:07 +09:00
Justin Kim
f63643fcbf
srt: Fix property names
...
Property name and its enum should match.
2019-01-22 12:42:47 +09:00
Justin Kim
b8610e72de
srt: Fix a regression crash
...
Even in case that srt is working as a caller mode, uri can have no
hostname or ip address.
fix : #874
2019-01-22 11:35:03 +09:00
Tim-Philipp Müller
dd4359d296
srt: dist enums header
2019-01-16 13:48:51 +00:00
Jan Alexander Steffens (heftig)
7a01e9a8cb
srt: Fix autotools build
...
0a350c610d
broke the build by only
building enum types with meson. It also removed gstsrt.c from the list
of sources, causing the plugin to fail to load.
squash! srt: Fix autotools build
2019-01-14 16:01:40 +01:00
Jan Alexander Steffens (heftig)
484291b1b4
srt: Fix GCC function type error
...
gstsrtobject.c: In function ‘gst_srt_object_close’:
gstsrtobject.c:1036:7: error: function called through a non-compatible type [-Werror]
(GDestroyNotify) g_closure_unref);
/usr/include/glib-2.0/glib/gmem.h:121:8: note: in definition of macro ‘g_clear_pointer’
(destroy) (_ptr); \
^~~~~~~
gstsrtobject.c:1038:7: error: function called through a non-compatible type [-Werror]
(GDestroyNotify) g_closure_unref);
/usr/include/glib-2.0/glib/gmem.h:121:8: note: in definition of macro ‘g_clear_pointer’
(destroy) (_ptr); \
^~~~~~~
Arch Linux
gcc 8.2.1 20181127
glib 2.58.2
2019-01-14 14:48:50 +01:00
Justin Kim
0a350c610d
srt: Integrate server and client element into one
...
We have srt{client,server}{src,sink} elements in accordance to the
norm of the connection oriented protocols. However, SRT connection
mode can be changed by uri parameters so it requires an integrated
element to handle the parameters.
fix : #740
2019-01-09 19:44:02 +00:00
Seungha Yang
231524cbbc
srt: Allow the host name "localhost"
...
Add support "srt://localhost:port" style uri, and change the
default host to "localhost"
https://bugzilla.gnome.org/show_bug.cgi?id=796842
2018-07-30 16:53:52 -04:00
Seungha Yang
fa75487e98
srtclientsink: Fix SRT socket option setting
...
SRTClientSink is sender
https://bugzilla.gnome.org/show_bug.cgi?id=796842
2018-07-30 16:50:10 -04:00
Seungha Yang
32140dcb84
srt: Do not ignore SRT socket error event
...
... and set SRT_EPOLL_IN flag if the client is not sender
(i.e., source element) since waiting readable event for
srt_recvmsg() makes more sense.
https://bugzilla.gnome.org/show_bug.cgi?id=796842
2018-07-30 16:50:10 -04:00
Seungha Yang
f46af953c1
srtbasesrc: Use GstBaseSrc's timestamp impl.
...
... instead of doing it ourselves. Otherwise, we should add more
logic here (such as checking GstClock and etc) which was already provided by
GstBaseSrc.
https://bugzilla.gnome.org/show_bug.cgi?id=796842
2018-07-30 16:50:10 -04:00
Seungha Yang
728b116fdb
srt: Add "const" keyword to a function argument
...
Given "passphrase" shouldn't be modified
https://bugzilla.gnome.org/show_bug.cgi?id=796842
2018-07-30 16:50:10 -04:00
Seungha Yang
82467a49b9
srt: Remove duplicated code for setting server socket
...
https://bugzilla.gnome.org/show_bug.cgi?id=796842
2018-07-30 16:50:10 -04:00
Seungha Yang
8e18175080
srt: Fix signal args mismatch
...
client-added and client-{removed,closed} signals were defined
to be emitted with two arguments (socket fd and address)
https://bugzilla.gnome.org/show_bug.cgi?id=796842
2018-07-30 16:50:09 -04:00
Seungha Yang
d8015586b5
srtserversrc: Emit client-closed signal in _stop()
...
... instead of client-added
https://bugzilla.gnome.org/show_bug.cgi?id=796842
2018-07-30 16:44:51 -04:00
Seungha Yang
f5de8db140
srtclientsink: Do not leak string
...
https://bugzilla.gnome.org/show_bug.cgi?id=796842
2018-07-30 16:44:51 -04:00
Seungha Yang
b609184701
srtclient: Fix bind-port and rendez-vous property getter
...
https://bugzilla.gnome.org/show_bug.cgi?id=796842
2018-07-30 16:44:51 -04:00
Seungha Yang
85d04e9335
srt: Reduce useless call depth
...
Providing simplified _client_connect() is not required for now.
https://bugzilla.gnome.org/show_bug.cgi?id=796842
2018-07-30 16:44:51 -04:00
Seungha Yang
aafdfdb5e4
srt: Remove white space
...
https://bugzilla.gnome.org/show_bug.cgi?id=796842
2018-07-30 16:44:51 -04:00
Nirbheek Chauhan
b55dfb5313
Add feature options for almost all plugins
...
The only plugins remaining are those that haven't been ported to Meson
yet, and msdk. Also, the tests are still automagic.
https://bugzilla.gnome.org/show_bug.cgi?id=795107
2018-07-27 19:04:38 +05:30
Xavier Claessens
83d0623293
Meson: Generate pc file for all plugins in bad
...
https://bugzilla.gnome.org/show_bug.cgi?id=794568
2018-04-25 11:08:09 +01:00
Jan Alexander Steffens (heftig)
7da65ab6d5
srt: Add missing gstsrt.h to noinst_HEADERS
...
Reorder the list to match the SOURCES.
https://bugzilla.gnome.org/show_bug.cgi?id=794320
2018-03-14 10:46:34 +00:00
Jan Alexander Steffens (heftig)
37a9e0fff9
srt: Add support for streamheaders to sinks
...
https://bugzilla.gnome.org/show_bug.cgi?id=793503
2018-02-23 15:29:57 -05:00
Jan Alexander Steffens (heftig)
8a5dab1c06
srt: Refactor gst_srt_*_sink_send_buffer, extract send
...
https://bugzilla.gnome.org/show_bug.cgi?id=793503
2018-02-23 15:29:57 -05:00