Ognyan Tonchev
14c511ae62
stream: Add functions for checking if stream is receiver or sender
...
...and replace all checks for RECORD in GstRTSPMedia which are really
for "sender-only". This way the code becomes more generic and introducing
support for onvif-backchannel later on will require no changes in
GstRTSPMedia.
2018-02-16 11:04:53 +02:00
Ognyan Tonchev
62aae8c7dc
onvif: Make requires_backchannel() public
...
...in order to let subclasses building the onvif part of the pipeline
check whether backchannel shall be included or not.
2018-02-16 11:04:53 +02:00
Sebastian Dröge
3d275b1345
rtsp-server: Switch around sendonly/recvonly attributes
...
They are wrong in the ONVIF streaming spec. The backchannel should be
recvonly and the normal media should be sendonly: direction is always
from the point of view of the SDP offerer (the server) according to
RFC 3264.
2018-02-16 11:04:53 +02:00
Sebastian Dröge
72dc8acd86
rtsp: Add support for ONVIF backchannel
...
This adds a new RTSP server, client, media-factory and media subclass
for handling the specifics of the backchannel. Ideally this later can be
extended with other ONVIF specific features.
2018-02-16 11:04:53 +02:00
Sebastian Dröge
231700b2bb
rtsp-media: Add support for sending+receiving medias
...
We need to add an appsrc/appsink in that case because otherwise the
media bin will be a sink and a source for rtpbin, causing a pipeline
loop.
https://bugzilla.gnome.org/show_bug.cgi?id=788950
2018-02-16 11:04:53 +02:00
Tim-Philipp Müller
94e70b77aa
Back to development
2018-02-15 19:44:28 +00:00
Tim-Philipp Müller
f862676ec7
Release 1.13.1
2018-02-15 17:15:40 +00:00
Mathieu Duponchelle
9046b5d083
session-pool: remove nullable return annotation
...
create_watch can only return NULL from the API guards, no
need for nullable.
2018-02-14 17:11:19 +01:00
Mathieu Duponchelle
ee44f38051
set_clock functions: Add nullable annotations
2018-02-13 18:59:49 +01:00
Mathieu Duponchelle
c725ef01a4
All around: add annotations and API guards
2018-02-12 19:16:11 +01:00
Mathieu Duponchelle
2bb00ebfaa
test-cleanup: bind any port
...
The meson test suite runs tests in parallel, trying to bind
a single port made the test fail.
2018-02-12 19:12:35 +01:00
Tim-Philipp Müller
cd96202465
meson: make version numbers ints and fix int/string comparison
...
WARNING: Trying to compare values of different types (str, int).
The result of this is undefined and will become a hard error
in a future Meson release.
2018-02-08 19:15:10 +00:00
Mathieu Duponchelle
2613748730
gst_rtsp_context_get_current: add (skip) annotation
...
The return value type is defined with G_DEFINE_POINTER_TYPE,
and gi emits the following warning:
Invalid non-constant return of bare structure or union; register as
boxed type or (skip)
2018-02-06 18:06:14 +01:00
Mathieu Duponchelle
03a512e4e1
rtsp-client: add type annotations
...
gi doesn't seem to be able to figure out the type of the
signal parameters when defined with G_DEFINE_POINTER_TYPE
2018-02-06 18:06:14 +01:00
Tim-Philipp Müller
22e1bc7763
autotools: use -fno-strict-aliasing where supported
...
https://bugzilla.gnome.org/show_bug.cgi?id=769183
2018-02-05 08:43:46 +01:00
Tim-Philipp Müller
3a8bed19da
meson: use -fno-strict-aliasing where supported
...
https://bugzilla.gnome.org/show_bug.cgi?id=769183
2018-01-30 20:35:24 +00:00
Tim-Philipp Müller
5964247829
mount-points: bail out of loop again when matching mount points
...
Previous patch led to us iterating the entire sequence. Bail out
of the loop again if we have a match but are moving away from it.
https://bugzilla.gnome.org/show_bug.cgi?id=771555
2018-01-25 12:14:33 +00:00
Tim-Philipp Müller
f5b99d8fce
tests: mountpoints: add more checks for mount point path matching
...
https://bugzilla.gnome.org/show_bug.cgi?id=771555
2018-01-25 12:13:20 +00:00
Andrew Bott
c3e58dfdbe
mount-points: fix matching of paths where there's also an entry with a common prefix
...
e.g. with the following mount points
/raw
/raw/snapshot
/raw/video
_match() would not match /raw/video and /raw/snapshot correctly.
https://bugzilla.gnome.org/show_bug.cgi?id=771555
2018-01-25 12:12:57 +00:00
Tim-Philipp Müller
b1f515178a
permissions: add some new API to make this usable from bindings
...
https://bugzilla.gnome.org/show_bug.cgi?id=787073
2018-01-18 23:53:20 +00:00
Tim-Philipp Müller
8708262ebe
rtsp-token: annotate constructors for bindings
...
This maps _new_empty() to _new(), which also makes RTSPToken()
work properly now. Since this API wasn't usable from bindings
before, this should hopefully be fine.
https://bugzilla.gnome.org/show_bug.cgi?id=787073
2018-01-18 22:37:57 +00:00
Tim-Philipp Müller
54a8c6bddf
rtsp-token: add some API to set fields from bindings
...
The existing functions are all vararg-based and as such
not usable from bindings.
https://bugzilla.gnome.org/show_bug.cgi?id=787073
2018-01-18 22:37:57 +00:00
Tim-Philipp Müller
4e048f7b8a
tests: fix indentation
...
Fix and "fix".
2018-01-13 15:02:48 +00:00
Tim-Philipp Müller
d0a4ddc2bb
tests: rtspserver: fix another ref leak
...
Even if this didn't show up in valgrind.
2018-01-13 14:58:55 +00:00
Tim-Philipp Müller
9238b7e19a
tests: rtspclientsink: fix leak
2018-01-13 14:58:00 +00:00
Branko Subasic
3d860913c6
test: rtspserver: plug memory leak in test_no_session_timeout
...
In test_no_session_timeout, unref the rtsp session object when the
test is done.
https://bugzilla.gnome.org/show_bug.cgi?id=792127
2018-01-13 14:18:47 +00:00
Edward Hervey
587c1c4707
rtpsclientsink: Initialize and clear newly added mutex and cond
...
While it *did* work, glib would automatically create new mutex and cond
... which never got freed
2017-12-20 14:17:02 +01:00
Sebastian Dröge
4ec17b1975
rtsp-stream: Set multicast TTL on the multicast sockets
...
And not if we do unicast UDP.
https://bugzilla.gnome.org/show_bug.cgi?id=791743
2017-12-19 11:34:37 +02:00
Sebastian Dröge
4d86f99449
rtsp-stream: Decide based on the sockets, not the addresses if we already allocated a socket
...
In the multicast case (as in test-multicast, not test-multicast2), the
address could be allocated/reserved (and thus set) already without
allocating the actual socket. We need to allocate the socket here still
instead of just claiming that it was already allocated.
See https://bugzilla.gnome.org/show_bug.cgi?id=791743#c2
2017-12-19 11:16:51 +02:00
Patricia Muscalu
64f1a3ab85
rtspclientsink: Use the new rtsp-stream API
...
https://bugzilla.gnome.org/show_bug.cgi?id=790412
2017-12-18 11:34:48 +01:00
Patricia Muscalu
96cfed48bf
rtspclientsink: Wait until OPEN has been scheduled
...
Make sure that the sink thread has started opening connection
to the server before continuing.
https://bugzilla.gnome.org/show_bug.cgi?id=790412
2017-12-18 11:34:48 +01:00
Matthew Waters
b4ab386e87
Automatic update of common submodule
...
From e8c7a71 to 3fa2c9e
2017-12-14 14:53:35 +11:00
Edward Hervey
64a46d47ba
rtsp-server: Minor doc fixes
...
Mostly for g-i
2017-12-07 16:08:50 +01:00
Tim-Philipp Müller
f5b7f57a17
tests: disable all tests when --disable-tests is used
...
Move conditional subdir include into top level.
Based on patch by: Joel Holdsworth
https://bugzilla.gnome.org/show_bug.cgi?id=757703
2017-12-06 20:47:22 +00:00
Tim-Philipp Müller
0dae3a007d
meson: build more tests and add options to disable tests and examples
2017-12-06 20:43:04 +00:00
Thibault Saunier
1555143299
Fix build when -Werror=deprecated-declarations is on
...
As gst_rtsp_session_next_timeout is deprecated.
```
../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-session.c:760:3: error: ‘gst_rtsp_session_next_timeout’ is deprecated: Use 'gst_rtsp_session_next_timeout_usec' instead [-Werror=deprecated-declarations]
res = (gst_rtsp_session_next_timeout (session, now) == 0);
^~~
../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-session.c:685:1: note: declared here
gst_rtsp_session_next_timeout (GstRTSPSession * session, GTimeVal * now)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
2017-11-30 23:58:16 -03:00
Matthew Waters
16d0d8c7c8
Automatic update of common submodule
...
From 3f4aa96 to e8c7a71
2017-11-27 20:18:24 +11:00
Patricia Muscalu
abeb896232
check/media: Add seekability test case: not all streams are active
...
Media contains two streams but only one is complete and prepared
for playing.
https://bugzilla.gnome.org/show_bug.cgi?id=790674
2017-11-27 07:58:42 +01:00
Patricia Muscalu
caa3f1caac
rtsp-stream: Do not reset 'blocking' if stream is already blocked
...
https://bugzilla.gnome.org/show_bug.cgi?id=790674
2017-11-27 07:58:42 +01:00
Patricia Muscalu
0015791f8f
rtsp-media: Fix missing lock in gst_rtsp_media_seekable()
...
https://bugzilla.gnome.org/show_bug.cgi?id=790674
2017-11-27 07:58:42 +01:00
Tim-Philipp Müller
c390202faa
meson: remove vs_module_defs_dir variable which is no longer needed
2017-11-26 16:29:49 +00:00
Tim-Philipp Müller
3d61e20a99
rtsp: fix distcheck
2017-11-26 14:46:05 +00:00
Tim-Philipp Müller
8c1cdb7a4a
win32: remove .def file with exports
...
They're no longer needed, symbol exporting is now explicit
via GST_EXPORT in all cases (autotools, meson, incl. MSVC).
2017-11-26 13:14:12 +00:00
Tim-Philipp Müller
a877229d38
autotools: stop controlling symbol visibility with -export-symbols-regex
...
Instead, use -fvisibility=hidden and explicit exports via GST_EXPORT.
This should result in consistent behaviour for the autotools and
Meson builds.
2017-11-26 13:13:39 +00:00
Tim-Philipp Müller
58aa58f049
rtsp-server: add missing GST_EXPORT and export deprecated funcs
2017-11-26 13:03:39 +00:00
Edward Hervey
bad6f5690a
check: Add seekability testing on medias
...
Make sure that once GstRTSPMedia are prepared they returned
the expected seekability results
https://bugzilla.gnome.org/show_bug.cgi?id=790674
2017-11-25 07:54:29 +01:00
Edward Hervey
9514f2d354
rtsp-media: Enable seeking query before pipeline is complete
...
SDP are now provided *before* the pipeline is fully complete. In order
to know whether a media is seekable or not therefore requires asking
the invididual streams.
API: gst_rtsp_stream_seekable
https://bugzilla.gnome.org/show_bug.cgi?id=790674
2017-11-25 07:53:11 +01:00
Patricia Muscalu
bb29d2e2ee
rtsp-media: Fix handling in default_unsuspend()
...
Handle the case when streams are not blocked and media
is suspended from PAUSED.
Change-Id: I2f3d222ea7b9b20a0732ea5dc81a32d17ab75040
https://bugzilla.gnome.org/show_bug.cgi?id=790674
2017-11-24 10:52:36 +01:00
Patricia Muscalu
de930f2e4d
check/media: Fix thread pool leak.
...
Change-Id: I0f92b1caca0ee518ae64a7dacfbd28a214c3eea1
https://bugzilla.gnome.org/show_bug.cgi?id=790674
2017-11-24 10:52:36 +01:00
Patricia Muscalu
132e00adfd
rtsp-media: Removed fakesink elements
...
There is not need of adding fakesink elements to the media
pipeline in the dynamic-payloader case.
The media pipeline itself is dynamically updated with
the receiver and sender parts that are based on the client
transport information known after SETUP has been received.
Change-Id: I4e88c9b500c04030669822f0d03b1842913f6cb9
https://bugzilla.gnome.org/show_bug.cgi?id=790674
2017-11-24 10:52:36 +01:00