platform/upstream/gstreamer.git
6 years agortsp-client: Place netaddress meta on packets received via TCP
Sebastian Dröge [Wed, 28 Feb 2018 19:12:43 +0000 (21:12 +0200)]
rtsp-client: Place netaddress meta on packets received via TCP

This allows us to later map signals from rtpbin/rtpsource back to the
corresponding stream transport, and allows to do keep-alive based on
RTCP packets in case of TCP media transport.

https://bugzilla.gnome.org/show_bug.cgi?id=789646

6 years agortspclientsink: if OPEN failed, unqueue next command
Mathieu Duponchelle [Tue, 27 Feb 2018 19:34:49 +0000 (20:34 +0100)]
rtspclientsink: if OPEN failed, unqueue next command

As READY_TO_PAUSED can no longer return async, the RECORD
command will be queued before the OPEN command fails
(for example in case the server could not be connected),
and record then waits for ever.

https://bugzilla.gnome.org/show_bug.cgi?id=793896

6 years agortspclientsink: fix retrieval of custom payloader caps
Mathieu Duponchelle [Mon, 26 Feb 2018 21:59:17 +0000 (22:59 +0100)]
rtspclientsink: fix retrieval of custom payloader caps

If a bin is passed as the custom payloader, the caps of
its factory will be empty, the correct way to obtain the caps
is to query its sinkpad.

6 years agortspclientsink: fix extra unref of custom payloader
Mathieu Duponchelle [Mon, 26 Feb 2018 21:59:00 +0000 (22:59 +0100)]
rtspclientsink: fix extra unref of custom payloader

6 years agorspclientsink: fix recent code indentation
Mathieu Duponchelle [Mon, 26 Feb 2018 21:57:39 +0000 (22:57 +0100)]
rspclientsink: fix recent code indentation

6 years agortspclientsink: add missing get_type prototype
Mathieu Duponchelle [Mon, 26 Feb 2018 19:27:57 +0000 (20:27 +0100)]
rtspclientsink: add missing get_type prototype

6 years agortspclientsink: allow setting payloader as pad property
Mathieu Duponchelle [Sat, 24 Feb 2018 02:52:15 +0000 (03:52 +0100)]
rtspclientsink: allow setting payloader as pad property

This was a FIXME  item, and can be quite useful, also
allowing to specify payloader properties from the command
line, which is always nice.

https://bugzilla.gnome.org/show_bug.cgi?id=793776

6 years agortsp-media: Replace g_print() log line
Carlos Rafael Giani [Mon, 26 Feb 2018 13:16:54 +0000 (14:16 +0100)]
rtsp-media: Replace g_print() log line

https://bugzilla.gnome.org/show_bug.cgi?id=793838

6 years agortsp-media: fix RECORD getting stuck
Mathieu Duponchelle [Thu, 22 Feb 2018 19:17:33 +0000 (20:17 +0100)]
rtsp-media: fix RECORD getting stuck

The test_record case was working because async=false had
been added in https://bugzilla.gnome.org/show_bug.cgi?id=757488
but that was incorrect, as it should not be needed.

Removing async=false made the test fail as expected, this is
fixed by not trying to preroll when preparing the media for
RECORD, as start_prepare is called upon receiving ANNOUNCE,
and our peer will not start sending media until it has received
a response to that request, and sent and received a response
to RECORD as well, thus obviously preventing preroll.

https://bugzilla.gnome.org/show_bug.cgi?id=793738

6 years agortsp-auth: fix set_tls_authentication_mode annotation
Mathieu Duponchelle [Fri, 23 Feb 2018 02:26:21 +0000 (03:26 +0100)]
rtsp-auth: fix set_tls_authentication_mode annotation

6 years agortp-server: remove redefined variable
Víctor Manuel Jáquez Leal [Mon, 19 Feb 2018 10:57:29 +0000 (11:57 +0100)]
rtp-server: remove redefined variable

res is a boolean variable which is defined in the function scope and
redefined, with no reason, in the loop scope. This patch removes the
redefinition.

https://bugzilla.gnome.org/show_bug.cgi?id=793592

6 years agostream: Add functions for checking if stream is receiver or sender
Ognyan Tonchev [Mon, 5 Feb 2018 10:49:07 +0000 (11:49 +0100)]
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.

6 years agoonvif: Make requires_backchannel() public
Ognyan Tonchev [Sat, 21 Oct 2017 12:06:30 +0000 (14:06 +0200)]
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.

6 years agortsp-server: Switch around sendonly/recvonly attributes
Sebastian Dröge [Mon, 22 Jan 2018 10:46:34 +0000 (12:46 +0200)]
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.

6 years agortsp: Add support for ONVIF backchannel
Sebastian Dröge [Mon, 25 Sep 2017 16:41:05 +0000 (19:41 +0300)]
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.

6 years agortsp-media: Add support for sending+receiving medias
Sebastian Dröge [Thu, 12 Oct 2017 18:00:16 +0000 (21:00 +0300)]
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

6 years agoBack to development
Tim-Philipp Müller [Thu, 15 Feb 2018 19:44:28 +0000 (19:44 +0000)]
Back to development

6 years agoRelease 1.13.1
Tim-Philipp Müller [Thu, 15 Feb 2018 17:15:40 +0000 (17:15 +0000)]
Release 1.13.1

6 years agosession-pool: remove nullable return annotation
Mathieu Duponchelle [Wed, 14 Feb 2018 16:11:19 +0000 (17:11 +0100)]
session-pool: remove nullable return annotation

create_watch can only return NULL from the API guards, no
need for nullable.

6 years agoset_clock functions: Add nullable annotations
Mathieu Duponchelle [Tue, 13 Feb 2018 17:59:16 +0000 (18:59 +0100)]
set_clock functions: Add nullable annotations

6 years agoAll around: add annotations and API guards
Mathieu Duponchelle [Fri, 9 Feb 2018 23:07:25 +0000 (00:07 +0100)]
All around: add annotations and API guards

6 years agotest-cleanup: bind any port
Mathieu Duponchelle [Mon, 12 Feb 2018 18:12:35 +0000 (19:12 +0100)]
test-cleanup: bind any port

The meson test suite runs tests in parallel, trying to bind
a single port made the test fail.

6 years agomeson: make version numbers ints and fix int/string comparison
Tim-Philipp Müller [Thu, 8 Feb 2018 19:15:10 +0000 (19:15 +0000)]
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.

6 years agogst_rtsp_context_get_current: add (skip) annotation
Mathieu Duponchelle [Tue, 6 Feb 2018 17:00:33 +0000 (18:00 +0100)]
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)

6 years agortsp-client: add type annotations
Mathieu Duponchelle [Tue, 6 Feb 2018 16:58:49 +0000 (17:58 +0100)]
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

6 years agoautotools: use -fno-strict-aliasing where supported
Tim-Philipp Müller [Sun, 4 Feb 2018 11:24:09 +0000 (12:24 +0100)]
autotools: use -fno-strict-aliasing where supported

https://bugzilla.gnome.org/show_bug.cgi?id=769183

6 years agomeson: use -fno-strict-aliasing where supported
Tim-Philipp Müller [Tue, 30 Jan 2018 20:35:21 +0000 (20:35 +0000)]
meson: use -fno-strict-aliasing where supported

https://bugzilla.gnome.org/show_bug.cgi?id=769183

6 years agomount-points: bail out of loop again when matching mount points
Tim-Philipp Müller [Thu, 25 Jan 2018 12:09:03 +0000 (12:09 +0000)]
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

6 years agotests: mountpoints: add more checks for mount point path matching
Tim-Philipp Müller [Thu, 25 Jan 2018 12:06:57 +0000 (12:06 +0000)]
tests: mountpoints: add more checks for mount point path matching

https://bugzilla.gnome.org/show_bug.cgi?id=771555

6 years agomount-points: fix matching of paths where there's also an entry with a common prefix
Andrew Bott [Fri, 16 Sep 2016 20:41:19 +0000 (20:41 +0000)]
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

6 years agopermissions: add some new API to make this usable from bindings
Tim-Philipp Müller [Thu, 18 Jan 2018 23:53:20 +0000 (23:53 +0000)]
permissions: add some new API to make this usable from bindings

https://bugzilla.gnome.org/show_bug.cgi?id=787073

6 years agortsp-token: annotate constructors for bindings
Tim-Philipp Müller [Thu, 18 Jan 2018 11:32:32 +0000 (11:32 +0000)]
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

6 years agortsp-token: add some API to set fields from bindings
Tim-Philipp Müller [Thu, 18 Jan 2018 11:07:45 +0000 (11:07 +0000)]
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

6 years agotests: fix indentation
Tim-Philipp Müller [Sat, 13 Jan 2018 15:02:28 +0000 (15:02 +0000)]
tests: fix indentation

Fix and "fix".

6 years agotests: rtspserver: fix another ref leak
Tim-Philipp Müller [Sat, 13 Jan 2018 14:58:55 +0000 (14:58 +0000)]
tests: rtspserver: fix another ref leak

Even if this didn't show up in valgrind.

6 years agotests: rtspclientsink: fix leak
Tim-Philipp Müller [Sat, 13 Jan 2018 14:58:00 +0000 (14:58 +0000)]
tests: rtspclientsink: fix leak

6 years agotest: rtspserver: plug memory leak in test_no_session_timeout
Branko Subasic [Tue, 2 Jan 2018 13:19:31 +0000 (14:19 +0100)]
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

6 years agortpsclientsink: Initialize and clear newly added mutex and cond
Edward Hervey [Wed, 20 Dec 2017 13:17:02 +0000 (14:17 +0100)]
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

6 years agortsp-stream: Set multicast TTL on the multicast sockets
Sebastian Dröge [Tue, 19 Dec 2017 09:34:37 +0000 (11:34 +0200)]
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

6 years agortsp-stream: Decide based on the sockets, not the addresses if we already allocated...
Sebastian Dröge [Tue, 19 Dec 2017 09:14:48 +0000 (11:14 +0200)]
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

6 years agortspclientsink: Use the new rtsp-stream API
Patricia Muscalu [Sat, 16 Dec 2017 20:46:53 +0000 (21:46 +0100)]
rtspclientsink: Use the new rtsp-stream API

https://bugzilla.gnome.org/show_bug.cgi?id=790412

6 years agortspclientsink: Wait until OPEN has been scheduled
Patricia Muscalu [Sat, 16 Dec 2017 20:01:43 +0000 (21:01 +0100)]
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

6 years agoAutomatic update of common submodule
Matthew Waters [Thu, 14 Dec 2017 03:53:35 +0000 (14:53 +1100)]
Automatic update of common submodule

From e8c7a71 to 3fa2c9e

6 years agortsp-server: Minor doc fixes
Edward Hervey [Thu, 7 Dec 2017 15:08:29 +0000 (16:08 +0100)]
rtsp-server: Minor doc fixes

Mostly for g-i

6 years agotests: disable all tests when --disable-tests is used
Tim-Philipp Müller [Wed, 6 Dec 2017 20:47:22 +0000 (20:47 +0000)]
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

6 years agomeson: build more tests and add options to disable tests and examples
Tim-Philipp Müller [Wed, 6 Dec 2017 20:42:39 +0000 (20:42 +0000)]
meson: build more tests and add options to disable tests and examples

6 years agoFix build when -Werror=deprecated-declarations is on
Thibault Saunier [Sun, 26 Nov 2017 16:26:39 +0000 (13:26 -0300)]
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)
 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```

6 years agoAutomatic update of common submodule
Matthew Waters [Mon, 27 Nov 2017 09:18:24 +0000 (20:18 +1100)]
Automatic update of common submodule

From 3f4aa96 to e8c7a71

6 years agocheck/media: Add seekability test case: not all streams are active
Patricia Muscalu [Sat, 25 Nov 2017 19:34:16 +0000 (20:34 +0100)]
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

6 years agortsp-stream: Do not reset 'blocking' if stream is already blocked
Patricia Muscalu [Sat, 25 Nov 2017 19:32:02 +0000 (20:32 +0100)]
rtsp-stream: Do not reset 'blocking' if stream is already blocked

https://bugzilla.gnome.org/show_bug.cgi?id=790674

6 years agortsp-media: Fix missing lock in gst_rtsp_media_seekable()
Patricia Muscalu [Sat, 25 Nov 2017 19:45:44 +0000 (20:45 +0100)]
rtsp-media: Fix missing lock in gst_rtsp_media_seekable()

https://bugzilla.gnome.org/show_bug.cgi?id=790674

6 years agomeson: remove vs_module_defs_dir variable which is no longer needed
Tim-Philipp Müller [Sun, 26 Nov 2017 16:29:49 +0000 (16:29 +0000)]
meson: remove vs_module_defs_dir variable which is no longer needed

6 years agortsp: fix distcheck
Tim-Philipp Müller [Sun, 26 Nov 2017 14:46:05 +0000 (14:46 +0000)]
rtsp: fix distcheck

6 years agowin32: remove .def file with exports
Tim-Philipp Müller [Sun, 26 Nov 2017 12:53:42 +0000 (12:53 +0000)]
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).

6 years agoautotools: stop controlling symbol visibility with -export-symbols-regex
Tim-Philipp Müller [Sun, 26 Nov 2017 12:28:40 +0000 (12:28 +0000)]
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.

6 years agortsp-server: add missing GST_EXPORT and export deprecated funcs
Tim-Philipp Müller [Sun, 26 Nov 2017 12:47:08 +0000 (12:47 +0000)]
rtsp-server: add missing GST_EXPORT and export deprecated funcs

6 years agocheck: Add seekability testing on medias
Edward Hervey [Sat, 25 Nov 2017 06:53:30 +0000 (07:53 +0100)]
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

6 years agortsp-media: Enable seeking query before pipeline is complete
Edward Hervey [Fri, 24 Nov 2017 16:34:31 +0000 (17:34 +0100)]
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

6 years agortsp-media: Fix handling in default_unsuspend()
Patricia Muscalu [Thu, 23 Nov 2017 19:34:03 +0000 (20:34 +0100)]
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

6 years agocheck/media: Fix thread pool leak.
Patricia Muscalu [Thu, 23 Nov 2017 17:51:21 +0000 (18:51 +0100)]
check/media: Fix thread pool leak.

Change-Id: I0f92b1caca0ee518ae64a7dacfbd28a214c3eea1

https://bugzilla.gnome.org/show_bug.cgi?id=790674

6 years agortsp-media: Removed fakesink elements
Patricia Muscalu [Thu, 23 Nov 2017 17:39:44 +0000 (18:39 +0100)]
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

6 years agortsp-media: Corrected ASYNC_DONE handling
Patricia Muscalu [Thu, 23 Nov 2017 08:10:54 +0000 (09:10 +0100)]
rtsp-media: Corrected ASYNC_DONE handling

Media is complete when all the transport based parts are
added to the media pipeline. At this point ASYNC_DONE is
posted by the media pipeline and media is ready to enter
the PREPARED state.

Change-Id: I50fb8dfed88ebaf057d9a35fca2d7f0a70e9d1fa

https://bugzilla.gnome.org/show_bug.cgi?id=790674

6 years agocheck/media: Check that prepared media can provide a SDP
Edward Hervey [Wed, 22 Nov 2017 11:24:38 +0000 (12:24 +0100)]
check/media: Check that prepared media can provide a SDP

Whenever a RTSPMedia is prepared, it should be able to provide a SDP

6 years agortsp-client: Don't leak addr
Edward Hervey [Tue, 21 Nov 2017 08:53:19 +0000 (09:53 +0100)]
rtsp-client: Don't leak addr

CID #1422260

6 years agoRun gst-indent
Edward Hervey [Tue, 21 Nov 2017 08:53:08 +0000 (09:53 +0100)]
Run gst-indent

6 years agortsp-media: Don't unblock with remaining dynamic payloaders
Edward Hervey [Mon, 20 Nov 2017 17:30:19 +0000 (18:30 +0100)]
rtsp-media: Don't unblock with remaining dynamic payloaders

If we still have some dynamic paylaoders which haven't posted
no-more-pads yet, don't go to PREPARED if one of the streams
blocked.

The risk was that we would end up not exposing/using all specified
streams.

The downside is that if you have _multiple_ _live_ _dynamic_ payloaders
then it will take a bit more time to start. But only if those 3
conditions are present.

https://bugzilla.gnome.org/show_bug.cgi?id=769521

6 years agortsp-media: Fix doc
Edward Hervey [Mon, 20 Nov 2017 15:49:29 +0000 (16:49 +0100)]
rtsp-media: Fix doc

6 years agortsp-media: Don't set float on a gint64 variable
Edward Hervey [Mon, 20 Nov 2017 15:48:55 +0000 (16:48 +0100)]
rtsp-media: Don't set float on a gint64 variable

Just use 0. Fixes 'undefined' behaviour from clang

6 years agortsp-media: Fix previous commit
Edward Hervey [Mon, 20 Nov 2017 17:29:02 +0000 (18:29 +0100)]
rtsp-media: Fix previous commit

We only want to count dynamic payloaders

6 years agortsp-media: Handle multiple dynamic elements
Edward Hervey [Mon, 20 Nov 2017 08:32:07 +0000 (09:32 +0100)]
rtsp-media: Handle multiple dynamic elements

If we have more than one dynamic payloader in the pipeline, we need
to wait until the *last* one emits 'no-more-pads' before switching
to PREPARED.

Failure to do so would result in a race where some of the streams
wouldn't properly be prepared

https://bugzilla.gnome.org/show_bug.cgi?id=769521

6 years agowin32: Fix exported symbols list
Sebastian Dröge [Thu, 16 Nov 2017 10:18:20 +0000 (12:18 +0200)]
win32: Fix exported symbols list

6 years agortsp-stream: Only update the RTP udpsink if it actually exists
Sebastian Dröge [Wed, 15 Nov 2017 17:52:29 +0000 (19:52 +0200)]
rtsp-stream: Only update the RTP udpsink if it actually exists

For send-only streams it does not exist, but the RTCP udpsink might.

6 years agowin32: Update exports
Sebastian Dröge [Wed, 15 Nov 2017 16:15:53 +0000 (18:15 +0200)]
win32: Update exports

6 years agortsp-media: seek on media pipelines that are complete
Patricia Muscalu [Mon, 23 Oct 2017 07:49:09 +0000 (09:49 +0200)]
rtsp-media: seek on media pipelines that are complete

Make sure that a seek is performed on pipelines that
contain at least one sink element.

Change-Id: Icf398e10add3191d104b1289de612412da326819

https://bugzilla.gnome.org/show_bug.cgi?id=788340

6 years agoDynamically reconfigure pipeline in PLAY based on transports
Patricia Muscalu [Tue, 17 Oct 2017 08:44:33 +0000 (10:44 +0200)]
Dynamically reconfigure pipeline in PLAY based on transports

The initial pipeline does not contain specific transport
elements. The receiver and the sender parts are added
after PLAY.
If the media is shared, the streams are dynamically
reconfigured after each PLAY.

https://bugzilla.gnome.org/show_bug.cgi?id=788340

6 years agortsp-stream: obtain stream position from pad
Patricia Muscalu [Mon, 16 Oct 2017 10:40:57 +0000 (12:40 +0200)]
rtsp-stream: obtain stream position from pad

If no sinks have been added yet, obtain the current and
the stop position of the stream from the send_src pad.

Change-Id: Iacd4ab4bdc69f6b49370d06012880ce48a7d595a

https://bugzilla.gnome.org/show_bug.cgi?id=788340

6 years agortsp-session-media: add function to get a list of transports
Patricia Muscalu [Mon, 16 Oct 2017 09:35:10 +0000 (11:35 +0200)]
rtsp-session-media: add function to get a list of transports

Change-Id: I817e10624da0f3200f24d1b232cff481099278e3

https://bugzilla.gnome.org/show_bug.cgi?id=788340

6 years agortsp-stream: add functions to get rtp and rtcp multicast sockets
Patricia Muscalu [Mon, 16 Oct 2017 09:15:55 +0000 (11:15 +0200)]
rtsp-stream: add functions to get rtp and rtcp multicast sockets

Change-Id: Iddfe6e0bd250cb0159096d5eba9e4202d22b56db

https://bugzilla.gnome.org/show_bug.cgi?id=788340

6 years agostream: set async=sync=false only for RTCP appsink
Patricia Muscalu [Fri, 20 Oct 2017 10:21:48 +0000 (12:21 +0200)]
stream: set async=sync=false only for RTCP appsink

Change-Id: I929a218a9adf4759f61322b6f2063aacc5595f90

https://bugzilla.gnome.org/show_bug.cgi?id=788340

6 years agortsp-media: return minimum value in query position case
Patricia Muscalu [Mon, 16 Oct 2017 08:10:17 +0000 (10:10 +0200)]
rtsp-media: return minimum value in query position case

The minimum position should be returned as we are interested
in the whole interval.

Change-Id: I30e297fc040c995ae40c25dee8ff56321612fe2b

https://bugzilla.gnome.org/show_bug.cgi?id=788340

6 years agortsp-session: Handle the case when timeout=0
Jonathan Karlsson [Wed, 9 Aug 2017 09:52:38 +0000 (11:52 +0200)]
rtsp-session: Handle the case when timeout=0

According to the documentation, a timeout of value 0 means
that the session never timeouts. This adds handling of that.
If timeout=0 we just return with a -1 from
gst_rtsp_session_next_timeout_usec ().

https://bugzilla.gnome.org/show_bug.cgi?id=785058

7 years agortspclientsink: Add "accept-certificate" signal for manually checking a TLS certifica...
Sebastian Dröge [Mon, 17 Jul 2017 14:15:22 +0000 (17:15 +0300)]
rtspclientsink: Add "accept-certificate" signal for manually checking a TLS certificate for validity

https://bugzilla.gnome.org/show_bug.cgi?id=785024

7 years agodocs: add media factory transport mode accessors
Mathieu Duponchelle [Thu, 26 Oct 2017 12:43:19 +0000 (14:43 +0200)]
docs: add media factory transport mode accessors

and fix the documentation for the return value of the getter

7 years agortsp-client: unref 'pipelined_requests' in finalize
Branko Subasic [Mon, 9 Oct 2017 10:43:01 +0000 (12:43 +0200)]
rtsp-client: unref 'pipelined_requests' in finalize

The hash table priv->pipelined_requests is not unref:ed in the
finalize funktion. Make sure it is.

https://bugzilla.gnome.org/show_bug.cgi?id=788704

7 years agortsp-media: Initialize scalar variable
Thibault Saunier [Mon, 9 Oct 2017 12:44:40 +0000 (14:44 +0200)]
rtsp-media: Initialize scalar variable

CID 1418985

7 years agowin32: Update export file
Edward Hervey [Fri, 6 Oct 2017 08:27:34 +0000 (10:27 +0200)]
win32: Update export file

7 years agoStart support for RTSP 2.0
Thibault Saunier [Sat, 22 Apr 2017 12:26:07 +0000 (09:26 -0300)]
Start support for RTSP 2.0

This adds basic support for new 2.0 features, though the protocol is
subposdely backward incompatible, most semantics are the sames.

This commit adds:

- features:
 * version negotiation
 * pipelined requests support
 * Media-Properties support
 * Accept-Ranges support

- APIs:
  * gst_rtsp_media_seekable

The RTSP methods that have been removed when using 2.0 now return
BAD_REQUEST.

https://bugzilla.gnome.org/show_bug.cgi?id=781446

7 years agostream: Use stream duration as stream-stop if segment was not configured with a stop
Thibault Saunier [Fri, 2 Jun 2017 19:37:54 +0000 (15:37 -0400)]
stream: Use stream duration as stream-stop if segment was not configured with a stop

Allowing client to know stream duration when no seeking happened.

https://bugzilla.gnome.org/show_bug.cgi?id=783435

7 years agortsp-media-factory: Don't cache any media if NULL was returned as key
Sebastian Dröge [Mon, 25 Sep 2017 16:40:17 +0000 (19:40 +0300)]
rtsp-media-factory: Don't cache any media if NULL was returned as key

The docs already mentioned this, but we actually stored it in the hash
table with key==NULL and leaked its reference forever.

7 years agortspclientsink: Use a mutex for protecting against concurrent send/receives
Mathieu Duponchelle [Mon, 18 Sep 2017 17:31:31 +0000 (19:31 +0200)]
rtspclientsink: Use a mutex for protecting against concurrent send/receives

This is a simple port of:

a722f6e8329032c6eda4865d6a07f4ba5981d7ea
c438545dc9e2f14f657bc0ef261fff726449867b
cd17c71dcea5c9310d21f1347c7520983e5869ac

in gst-plugins-good.

7 years agosdp: fix Memory leak in error case
Satya Prakash Gupta [Thu, 31 Aug 2017 07:54:15 +0000 (13:24 +0530)]
sdp: fix Memory leak in error case

https://bugzilla.gnome.org/show_bug.cgi?id=787059

7 years agomeson: don't install -uninstalled.pc file
Tim-Philipp Müller [Fri, 18 Aug 2017 16:37:01 +0000 (17:37 +0100)]
meson: don't install -uninstalled.pc file

https://bugzilla.gnome.org/show_bug.cgi?id=786457

7 years agoAutomatic update of common submodule
Tim-Philipp Müller [Thu, 17 Aug 2017 11:26:17 +0000 (12:26 +0100)]
Automatic update of common submodule

From 48a5d85 to 3f4aa96

7 years agortsp-client: Fix typo in debug message
Sebastian Dröge [Mon, 14 Aug 2017 18:04:23 +0000 (21:04 +0300)]
rtsp-client: Fix typo in debug message

7 years agomeson: hide symbols by default unless explicitly exported
Tim-Philipp Müller [Fri, 11 Aug 2017 13:14:32 +0000 (14:14 +0100)]
meson: hide symbols by default unless explicitly exported

7 years agopkgconfig: remove -I@srcdir@/.. which duplicates abs_top_srcdir
Tim-Philipp Müller [Thu, 10 Aug 2017 13:20:12 +0000 (14:20 +0100)]
pkgconfig: remove -I@srcdir@/.. which duplicates abs_top_srcdir

Fixes meson warning about undefined @srcdir@.

7 years agomeson: skip tests on windows for now
Tim-Philipp Müller [Fri, 21 Jul 2017 12:36:00 +0000 (13:36 +0100)]
meson: skip tests on windows for now

As we do in the other modules. As libgstcheck is currently not
built on windows. Fixes "Fallback variable 'gst_check_dep' in
the subproject 'gstreamer' does not exist"" Meson error.

7 years agortsp-stream: fix connection delay due to wrong assumption on last-sample
Julien Isorce [Thu, 22 Jun 2017 14:25:07 +0000 (07:25 -0700)]
rtsp-stream: fix connection delay due to wrong assumption on last-sample

Commit 852cc09f542af5cadd79ffd7fe79d6475cf57e14 assumed that
multiudpsink's last-sample always comes from the payloader. Which
is wrong if auxiliary streams are multiplexed in the same stream.

So check the buffer's ssrc against the caps'ssrc before to use its
seqnum. If not the same ssrc just use the payloader as done prior
the commit above or when there is no last-sample yet.

https://bugzilla.gnome.org/show_bug.cgi?id=784094

7 years agomeson: Allow using glib as a subproject
Thibault Saunier [Fri, 23 Jun 2017 20:19:04 +0000 (16:19 -0400)]
meson: Allow using glib as a subproject

7 years agomeson: fix with-package-name option
Tim-Philipp Müller [Mon, 26 Jun 2017 08:55:49 +0000 (09:55 +0100)]
meson: fix with-package-name option

https://bugzilla.gnome.org/show_bug.cgi?id=784082