Edward Hervey [Tue, 21 Nov 2017 08:53:08 +0000 (09:53 +0100)]
Run gst-indent
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
Edward Hervey [Mon, 20 Nov 2017 15:49:29 +0000 (16:49 +0100)]
rtsp-media: Fix doc
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
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
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
Sebastian Dröge [Thu, 16 Nov 2017 10:18:20 +0000 (12:18 +0200)]
win32: Fix exported symbols list
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.
Sebastian Dröge [Wed, 15 Nov 2017 16:15:53 +0000 (18:15 +0200)]
win32: Update exports
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
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
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
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
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
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
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
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
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
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
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
Thibault Saunier [Mon, 9 Oct 2017 12:44:40 +0000 (14:44 +0200)]
rtsp-media: Initialize scalar variable
CID
1418985
Edward Hervey [Fri, 6 Oct 2017 08:27:34 +0000 (10:27 +0200)]
win32: Update export file
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
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
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.
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.
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
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
Tim-Philipp Müller [Thu, 17 Aug 2017 11:26:17 +0000 (12:26 +0100)]
Automatic update of common submodule
From
48a5d85 to
3f4aa96
Sebastian Dröge [Mon, 14 Aug 2017 18:04:23 +0000 (21:04 +0300)]
rtsp-client: Fix typo in debug message
Tim-Philipp Müller [Fri, 11 Aug 2017 13:14:32 +0000 (14:14 +0100)]
meson: hide symbols by default unless explicitly exported
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@.
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.
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
Thibault Saunier [Fri, 23 Jun 2017 20:19:04 +0000 (16:19 -0400)]
meson: Allow using glib as a subproject
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
Nicolas Dufresne [Sat, 10 Jun 2017 00:16:28 +0000 (20:16 -0400)]
Distribute meson_options.txt
Nicolas Dufresne [Sat, 10 Jun 2017 00:11:47 +0000 (20:11 -0400)]
And config.h.meson is no longer dist either
Tim-Philipp Müller [Fri, 9 Jun 2017 20:27:09 +0000 (21:27 +0100)]
meson: config.h.meson is no longer needed
Thibault Saunier [Wed, 7 Jun 2017 17:04:41 +0000 (13:04 -0400)]
meson: Fix building tests and activate them again
Thibault Saunier [Wed, 7 Jun 2017 16:55:41 +0000 (12:55 -0400)]
meson: Do not use path separator in test names
Avoiding warnings like:
WARNING: Target "elements/audioamplify" has a path separator in its name.
Tim-Philipp Müller [Sat, 20 May 2017 14:07:31 +0000 (15:07 +0100)]
meson: add options to set package name and origin
https://bugzilla.gnome.org/show_bug.cgi?id=782172
Tim-Philipp Müller [Thu, 18 May 2017 09:35:18 +0000 (10:35 +0100)]
Mark symbols explicitly for export with GST_EXPORT
Nicolas Dufresne [Tue, 16 May 2017 18:44:43 +0000 (14:44 -0400)]
Remove plugin specific static build option
Static and dynamic plugins now have the same interface. The standard
--enable-static/--enable-shared toggle are sufficient.
Sebastian Dröge [Thu, 4 May 2017 15:59:14 +0000 (18:59 +0300)]
Back to development
Sebastian Dröge [Thu, 4 May 2017 12:40:46 +0000 (15:40 +0300)]
Release 1.12.0
Sebastian Dröge [Thu, 27 Apr 2017 14:42:02 +0000 (17:42 +0300)]
Release 1.11.91
Tim-Philipp Müller [Mon, 24 Apr 2017 19:30:37 +0000 (20:30 +0100)]
Automatic update of common submodule
From
60aeef6 to
48a5d85
Thibault Saunier [Thu, 13 Apr 2017 17:20:10 +0000 (14:20 -0300)]
gi: Fix some annotations and docstrings
Thibault Saunier [Thu, 13 Apr 2017 16:52:26 +0000 (13:52 -0300)]
meson: Build gir
Tim-Philipp Müller [Mon, 10 Apr 2017 22:51:12 +0000 (23:51 +0100)]
Automatic update of common submodule
From
39ac2f5 to
60aeef6
Sebastian Dröge [Fri, 7 Apr 2017 13:35:03 +0000 (16:35 +0300)]
Release 1.11.90
Tim-Philipp Müller [Mon, 27 Mar 2017 17:19:33 +0000 (18:19 +0100)]
examples: make test-launch pipeline shared by default as well
Sebastian Dröge [Mon, 27 Feb 2017 17:10:44 +0000 (19:10 +0200)]
gstreamer-rtsp-server: Add both srcdir and builddir to the include path
Just the build dir is not going to work for srcdir!=builddir.
Sebastian Dröge [Fri, 24 Feb 2017 13:59:54 +0000 (15:59 +0200)]
meson: Update version
Sebastian Dröge [Fri, 24 Feb 2017 13:37:49 +0000 (15:37 +0200)]
Back to development
Sebastian Dröge [Fri, 24 Feb 2017 13:10:07 +0000 (15:10 +0200)]
Release 1.11.2
Tim-Philipp Müller [Tue, 14 Feb 2017 20:40:26 +0000 (20:40 +0000)]
meson: dist meson build files
Ship meson build files in tarballs, so people who use tarballs
in their builds can start playing with meson already.
Jan Schmidt [Tue, 7 Feb 2017 12:39:37 +0000 (23:39 +1100)]
examples/test-record: Add extra line to initial printout
Add an example line of how to deliver a stream to the
RTSP RECORD example
Sebastian Dröge [Thu, 19 Jan 2017 12:57:19 +0000 (14:57 +0200)]
rtsp-client: Also handle the (S|G)ET_PARAMETER case of size==0 || !data as keep-alive
If there is no Content-Length header, no body would be allocated and the
'\0' would also not be appended to the body.
Sebastian Dröge [Thu, 19 Jan 2017 12:24:07 +0000 (14:24 +0200)]
rtsp-client: Fix handling of keep-alive GET_PARAMETER/SET_PARAMETER
While they logically have 0 bytes length, GstRTSPConnection is appending
a '\0' to everything making the size be 1 instead.
Tim-Philipp Müller [Fri, 13 Jan 2017 12:39:36 +0000 (12:39 +0000)]
meson: bump version
Sebastian Dröge [Thu, 12 Jan 2017 17:04:23 +0000 (19:04 +0200)]
rtsp-session: Only remove deprecated API if requested to do so, not just when disabling
gst_rtsp_session_is_expired() and gst_rtsp_session_next_timeout() were
affected.
Sebastian Dröge [Thu, 12 Jan 2017 14:32:59 +0000 (16:32 +0200)]
Back to development
Sebastian Dröge [Thu, 12 Jan 2017 14:14:46 +0000 (16:14 +0200)]
Release 1.11.1
Patricia Muscalu [Tue, 10 Jan 2017 07:34:50 +0000 (08:34 +0100)]
rtsp-stream: corrected if-statement in _get_server_port()
This bug was accidentally introduced while fixing a segfault
in _get_server_port() function.
https://bugzilla.gnome.org/show_bug.cgi?id=776345
Patricia Muscalu [Mon, 9 Jan 2017 13:12:05 +0000 (14:12 +0100)]
rtsp-stream: fixed segmenation fault in _get_server_port()
Calling function gst_rtsp_stream_get_server_port() results in
segmenation fault in the RTP/RTSP/TCP case.
Port that the server will use to receive RTCP makes only
sense in the UDP case, however the function should handle
the TCP case in a nicer way.
https://bugzilla.gnome.org/show_bug.cgi?id=776345
Aleksandr Slobodeniuk [Mon, 9 Jan 2017 09:22:40 +0000 (12:22 +0300)]
dosc: Fix a little typo
https://bugzilla.gnome.org/show_bug.cgi?id=777037
Guillaume Desmottes [Wed, 4 Jan 2017 15:20:54 +0000 (16:20 +0100)]
meson: generate pkg-config -uninstalled pc files
Generating those files is useful for users building the GStreamer stack
using meson and having to link it to another project which is still
using the autotools.
https://bugzilla.gnome.org/show_bug.cgi?id=776810
Guillaume Desmottes [Wed, 4 Jan 2017 15:11:08 +0000 (16:11 +0100)]
pkgconfig: fix -uninstalled pc file
pcfiledir was never defined so the paths were wrong.
https://bugzilla.gnome.org/show_bug.cgi?id=776867
Patricia Muscalu [Wed, 21 Dec 2016 12:41:50 +0000 (13:41 +0100)]
rtsp-stream: Fixed TCP transport case
Make sure that the appsink element is actually added to
the bin before trying to link it with the elements in it.
https://bugzilla.gnome.org/show_bug.cgi?id=776343
Tim-Philipp Müller [Fri, 16 Dec 2016 17:26:04 +0000 (17:26 +0000)]
Remove generated .spec file
Likely extremely bitrotten, and we should not ship this anyway.
Edward Hervey [Sat, 3 Dec 2016 07:21:02 +0000 (08:21 +0100)]
Automatic update of common submodule
From
f980fd9 to
39ac2f5
Edward Hervey [Fri, 2 Dec 2016 14:40:09 +0000 (15:40 +0100)]
media: Fix pt map caps
Since decryption is handled within rtpbin, all outcoming stream
caps will be application/x-rtp (i.e. regular rtp)
Fixes RECORD with SRTP streams
Edward Hervey [Fri, 2 Dec 2016 14:38:04 +0000 (15:38 +0100)]
media-factory: Create media objects with the proper transport mode
The function called immediately afterwards (collect_streams()) will
need it to work properly
Sebastian Dröge [Fri, 2 Dec 2016 12:36:50 +0000 (14:36 +0200)]
rtsp-auth: Don't remove digest-auth nonces that already/still have a client connected
Sebastian Dröge [Thu, 1 Dec 2016 16:04:34 +0000 (18:04 +0200)]
rtsp-media-factory: Don't create a pipeline for the media pipeline string
We're going to put a pipeline into a pipeline otherwise, which is not
exactly ideal.
Kseniia Vasilchuk [Tue, 25 Oct 2016 12:41:28 +0000 (15:41 +0300)]
media: Fix race condition around finish_unprepare() if called multiple time
https://bugzilla.gnome.org/show_bug.cgi?id=755329
Jan Schmidt [Wed, 30 Nov 2016 03:06:36 +0000 (14:06 +1100)]
rtspclientsink: Don't leave stale pointer after unref
Fix a warning on shutdown - don't keep a pointer to an
alread-unreffed object.
Tim-Philipp Müller [Sat, 26 Nov 2016 11:24:50 +0000 (11:24 +0000)]
common: use https protocol for common submodule
https://bugzilla.gnome.org/show_bug.cgi?id=775110
Matthew Waters [Mon, 21 Nov 2016 12:29:56 +0000 (23:29 +1100)]
stream: block the output of rtpbin instead of the source pipeline
85c52e194bcb81928b96614be0ae47d59eccb1ce introduced a more correct
detection of the srtp rollover counter to add to the SDP.
Unfortunately, it was incomplete for live pipelines where the logic
blocks the source bin before creating the SDP and thus would never have
the necessary informaiton to create a correct SDP with srtp encryption.
Move the pad blocks to rtpbin's output pads instead so that the
necessary information can be created before we need the information for
the SDP.
https://bugzilla.gnome.org/show_bug.cgi?id=770239
Dag Gullberg [Mon, 21 Nov 2016 15:02:39 +0000 (16:02 +0100)]
rtsp-client: add IDLE timeout, before session exists
The RTSP server will not timeout an idle RTSP connection
(note this is different from doing timeout on a RTSP
session).
At least for Apache this is a problem when running RTSP over
HTTPS since it uses one of the threads (there is a rather
limited number) that are available for handling requests.
https://bugzilla.gnome.org/show_bug.cgi?id=771830
Tim-Philipp Müller [Wed, 23 Nov 2016 09:45:08 +0000 (09:45 +0000)]
.gitignore more
Göran Jönsson [Mon, 21 Nov 2016 12:05:50 +0000 (13:05 +0100)]
rtsp-stream: Set close-socket FALSE on UDP src:es
With this RTSP server can use the sockets independent on the udpsrc
state.
When the udp src is finalized it will unref socket and when g_socket
is finalized the socket will be closed.
https://bugzilla.gnome.org/show_bug.cgi?id=765673
Sebastian Dröge [Fri, 18 Nov 2016 15:47:13 +0000 (17:47 +0200)]
rtspclientsink: Move to new helper function to parse authentication responses
https://bugzilla.gnome.org/show_bug.cgi?id=774416
Sebastian Dröge [Wed, 16 Nov 2016 06:42:24 +0000 (08:42 +0200)]
rtsp-auth: Add support for Digest authentication
https://bugzilla.gnome.org/show_bug.cgi?id=774416
Scott D Phillips [Thu, 17 Nov 2016 17:41:53 +0000 (09:41 -0800)]
Enable building with MSVC
https://bugzilla.gnome.org/show_bug.cgi?id=774640
Thibault Saunier [Fri, 18 Nov 2016 23:23:14 +0000 (20:23 -0300)]
meson: gstreamer gst_check_dep does not exist on windows
Scott D Phillips [Thu, 17 Nov 2016 17:43:37 +0000 (09:43 -0800)]
client: update do_send_message to match type GstRTSPClientSendFunc
This type mismatch fails building with MSVC
https://bugzilla.gnome.org/show_bug.cgi?id=774640
Sebastian Dröge [Fri, 11 Nov 2016 12:42:08 +0000 (14:42 +0200)]
rtsp-sdp: Fix indentation
Neha Arora [Thu, 10 Nov 2016 05:16:00 +0000 (05:16 +0000)]
rtsp-media: Only signal "new-state" if the state has actually changed
https://bugzilla.gnome.org/show_bug.cgi?id=774173
Branko Subasic [Wed, 24 Aug 2016 09:39:13 +0000 (11:39 +0200)]
client: emit signal in the beginning of each rtsp request
These signals let the application validate the requests, configure the
media/stream in a certain way and also generate error status code in
case of error or bad request.
https://bugzilla.gnome.org/show_bug.cgi?id=758062
Tim-Philipp Müller [Tue, 1 Nov 2016 18:10:35 +0000 (18:10 +0000)]
meson: update version
Sebastian Dröge [Tue, 1 Nov 2016 16:53:15 +0000 (18:53 +0200)]
Back to development
Sebastian Dröge [Tue, 1 Nov 2016 16:06:46 +0000 (18:06 +0200)]
Release 1.10.0
Tim-Philipp Müller [Fri, 28 Oct 2016 17:38:01 +0000 (18:38 +0100)]
tests: try to avoid using the same ports in different tests
Causes problems with client multicast tests otherwise if
tests are run in parallel.
https://bugzilla.gnome.org/show_bug.cgi?id=773640
Tim-Philipp Müller [Fri, 28 Oct 2016 16:50:59 +0000 (17:50 +0100)]
tests: client: use fail_unless_equals_foo() for better failure reporting
Göran Jönsson [Mon, 26 Sep 2016 09:16:04 +0000 (11:16 +0200)]
rtsp-client: Session filter in unwatch session
Call session filter with filter_session_media as paramer in
client_unwatch_session if using drop_backlog = FALSE.
In client_unwatch_session its allowed to grow the watchs backlog.
If using drop_backlog = FALSE and the backlog is full it will cause
a deadlock when setting session media state to NULL
if the backlog is not allowed to grow.
https://bugzilla.gnome.org/show_bug.cgi?id=771983
Tim-Philipp Müller [Thu, 20 Oct 2016 20:40:18 +0000 (21:40 +0100)]
meson: add fallbacks for gst modules
For gst-all.
Nikita Bobkov [Wed, 14 Sep 2016 14:48:39 +0000 (17:48 +0300)]
rtsp-client: Fix factory leaking in find_media() in error cases
https://bugzilla.gnome.org/show_bug.cgi?id=771488