Wim Taymans [Tue, 8 Apr 2014 10:08:17 +0000 (12:08 +0200)]
media: protect status with lock
Make sure we only update the status with the lock.
Wim Taymans [Fri, 4 Apr 2014 15:39:36 +0000 (17:39 +0200)]
rtsp: update for MIKEY API changes
Wim Taymans [Thu, 3 Apr 2014 10:52:51 +0000 (12:52 +0200)]
client: parse the mikey response from the client
Parse the mikey response from the client and update the policy for
each SSRC.
Wim Taymans [Wed, 2 Apr 2014 10:36:16 +0000 (12:36 +0200)]
stream: add method to set crypto info
Make a method to configure the crypto information of a stream.
Set udpsrc in READY instead of PAUSED so that we can configure caps
later.
Wim Taymans [Thu, 3 Apr 2014 10:57:13 +0000 (12:57 +0200)]
client: cleanup error paths
Wim Taymans [Wed, 2 Apr 2014 10:27:24 +0000 (12:27 +0200)]
media: fix docs
Wim Taymans [Tue, 25 Mar 2014 11:42:39 +0000 (12:42 +0100)]
test: enable SRTP only on RTSPS
We only want to enable SRTP when doing rtsp over TLS so that we can
exchange the keys in a secure way.
Wim Taymans [Tue, 25 Mar 2014 11:41:33 +0000 (12:41 +0100)]
test: print an error on failure
Wim Taymans [Thu, 13 Mar 2014 16:35:21 +0000 (17:35 +0100)]
stream: add SRTP support
Install srtp encoder and decoder elements in rtpbin
Add MIKEY in SDP
Sebastian Rasmussen [Sun, 16 Mar 2014 18:45:26 +0000 (19:45 +0100)]
tests: Add unit tests for sessionpool
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=726470
Sebastian Rasmussen [Sat, 22 Mar 2014 12:24:27 +0000 (13:24 +0100)]
tests: Improve code coverage of rtsp-threadpool tests
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=726873
Sebastian Rasmussen [Sun, 23 Mar 2014 20:26:00 +0000 (21:26 +0100)]
tests: Improve code coverage for rtsp-session-media
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=726940
Sebastian Rasmussen [Sun, 23 Mar 2014 20:24:48 +0000 (21:24 +0100)]
gobject-introspection: Add annotations to support language bindings
In addition a few cosmetic changes:
* Adjust the order of arguments
* Fix typo: occured -> occurred
* Fix indentation after Return:-clauses
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=726941
Sebastian Rasmussen [Fri, 14 Mar 2014 18:03:24 +0000 (19:03 +0100)]
rtsp-stream: Don't mix IPv4 and IPv6 addresses
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=726362
Wim Taymans [Thu, 13 Mar 2014 13:27:15 +0000 (14:27 +0100)]
stream: take caps after the session manager
Take the caps for the SDP after they leave the rtpbin so that we can
also get the properties added by rtpbin elements.
Wim Taymans [Thu, 13 Mar 2014 13:20:17 +0000 (14:20 +0100)]
stream: release lock while pushing out packets
Keep a cache of the transports and use this to iterate the transport
while pushing packets. This allows us to release the lock early.
See https://bugzilla.gnome.org/show_bug.cgi?id=725898
David Svensson Fors [Thu, 6 Mar 2014 12:52:02 +0000 (13:52 +0100)]
rtsp-client: vmethod for modifying tunnel GET response
Add a vmethod tunnel_http_response where the response to the HTTP GET
for tunneled connections can be modified.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725879
Wim Taymans [Mon, 3 Mar 2014 15:56:53 +0000 (16:56 +0100)]
sdp: make 1 media line per profile
If we have multiple profiles (AVP or AVPF) for a stream, make one m=
line in the SDP for each profile. The client is then supposed to pick
one of the profiles in the SETUP request. Because the m= lines have the
same pt, the client also knows that only 1 option is possible.
Wim Taymans [Mon, 3 Mar 2014 15:55:48 +0000 (16:55 +0100)]
factory: add profile property and pass to media and streams
Wim Taymans [Mon, 3 Mar 2014 14:12:55 +0000 (15:12 +0100)]
sdp: pass multicast connection for multicast-only stream
Pass the multicast address of the stream in the connection info in the
SDP so that clients try a multicast connection first.
Only allow multicast connections in the test-multicast example. Also
increase the TTL a little.
Sebastian Rasmussen [Sun, 2 Mar 2014 04:12:01 +0000 (05:12 +0100)]
.gitignore: Ignore gcov intermediate files
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725484
Wim Taymans [Mon, 3 Mar 2014 11:17:48 +0000 (12:17 +0100)]
stream: release some locks in error cases
Sebastian Rasmussen [Sun, 2 Mar 2014 04:12:10 +0000 (05:12 +0100)]
docs: Enable and fix gtk-doc warnings
* Makefile: Enable gtk-doc warnings, like the rest of GStreamer
* addresspool/mediafactory: Add missing annotation colon
* stream: Annotate return value
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=725528
Sebastian Dröge [Fri, 28 Feb 2014 08:36:49 +0000 (09:36 +0100)]
Automatic update of common submodule
From fe1672e to bcb1518
Stefan Sauer [Wed, 26 Feb 2014 21:15:51 +0000 (22:15 +0100)]
Automatic update of common submodule
From 1a07da9 to fe1672e
Tim-Philipp Müller [Tue, 25 Feb 2014 15:13:40 +0000 (15:13 +0000)]
examples: use LDADD for libs instead of LDFLAGS
Tim-Philipp Müller [Tue, 25 Feb 2014 14:42:09 +0000 (14:42 +0000)]
configure: make sure releases are in .doap file
Tim-Philipp Müller [Tue, 25 Feb 2014 14:11:00 +0000 (14:11 +0000)]
examples: test-cgroups: don't put code with side effects into g_assert()
The g_assert() might get compiled out with the right
compiler/preprocessor flags.
Tim-Philipp Müller [Tue, 25 Feb 2014 14:07:50 +0000 (14:07 +0000)]
examples: add cgroup test binary to .gitignore
Tim-Philipp Müller [Tue, 25 Feb 2014 14:06:47 +0000 (14:06 +0000)]
examples: fix cgroup test build
Fixes build failure caused by compiler warning:
test-cgroups.c:82:35: error: no previous prototype for ‘gst_rtsp_cgroup_pool_get_type’ [-Werror=missing-prototypes]
Tim-Philipp Müller [Fri, 21 Feb 2014 16:46:45 +0000 (16:46 +0000)]
.gitignore: ignore temp files created in the course of 'make check'
Branko Subasic [Tue, 18 Feb 2014 08:44:34 +0000 (09:44 +0100)]
rtsp-media: don't loose frames handling new PLAY request
If client supplied a range check if the range specifies the start point.
If not, then do an accurate seek to the current position. If a start
point was specified do do a key unit seek to make sure the streaming
starts with decodeable frames.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=724611
Wim Taymans [Tue, 18 Feb 2014 15:58:45 +0000 (16:58 +0100)]
Revert "media: only flush when setting a new start position"
This reverts commit
f67fc23aab59f28796bebf130504ff46ccb97b0a.
We need to do the flush in all cases, demuxer block currently for
non-flushing seeks.
Wim Taymans [Tue, 18 Feb 2014 15:38:39 +0000 (16:38 +0100)]
media: only flush when setting a new start position
Only flush the pipeline when we change the start position with
a seek.
See https://bugzilla.gnome.org/show_bug.cgi?id=724611
Göran Jönsson [Mon, 17 Feb 2014 09:43:05 +0000 (10:43 +0100)]
stream: set ttl-mc before adding the socket
Set ttl-mc before adding the socket. Otherwise the value ttl-mc will
never be set on socket.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=724531
Aleix Conchillo Flaqué [Tue, 11 Feb 2014 22:20:39 +0000 (14:20 -0800)]
media: stop thread if media is already prepared
in gst_rtsp_media_prepare() the thread is not used if media is already
prepared (e.g. media shared) so we want to stop the thread. otherwise, a
leak occurs.
https://bugzilla.gnome.org/show_bug.cgi?id=724182
Sebastian Dröge [Sun, 9 Feb 2014 09:52:29 +0000 (10:52 +0100)]
build: Ship gst-rtsp-server.doap file
Sebastian Dröge [Sun, 9 Feb 2014 09:47:09 +0000 (10:47 +0100)]
tests: Fix another compiler warning with gcc
Sebastian Dröge [Sun, 9 Feb 2014 09:45:28 +0000 (10:45 +0100)]
rtsp-server: Fix lots of compiler warnings with clang
Sebastian Dröge [Sun, 9 Feb 2014 09:41:14 +0000 (10:41 +0100)]
configure: Synchronise with the configure scripts of the other modules
Sebastian Dröge [Sun, 9 Feb 2014 09:25:44 +0000 (10:25 +0100)]
configure: Update version to 1.3.0.1 and require GStreamer 1.3.0
Sebastian Dröge [Sun, 9 Feb 2014 09:19:50 +0000 (10:19 +0100)]
Revert "rtsp-server: support build against last stable release"
This reverts commit
099a10f61f11413ad0ada8ee0b7b7ad1210b1b2f.
Let us require 1.2.3 now, which is going to be released in a few
minutes.
Wim Taymans [Fri, 7 Feb 2014 15:39:49 +0000 (16:39 +0100)]
session: improve RTP-Info
Ignore streams that can't generate RTP-Info instead of failing.
Don't return the empty string when all streams are unconfigured but
return NULL so that we don't generate and empty RTP-Info header.
Improve docs a little.
Andrey Utkin [Mon, 3 Feb 2014 20:41:48 +0000 (22:41 +0200)]
Don't free rtpinfo GString when it is NULL
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=723554
Wim Taymans [Thu, 6 Feb 2014 08:48:05 +0000 (09:48 +0100)]
media: only set keyframe flag when modifying start
Only set the keyframe flag when we modify the start position. The
keyframe flag should probably be ignored when no change is requested but
until we can claim this is all documented properly and all demuxer
implement this, avoid setting the flag.
See also https://bugzilla.gnome.org/show_bug.cgi?id=723075
Ognyan Tonchev [Thu, 6 Feb 2014 08:03:50 +0000 (09:03 +0100)]
thread-pool: Unref source after mainloop has quit to avoid races in GLib
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=723741
Wim Taymans [Tue, 4 Feb 2014 15:27:12 +0000 (16:27 +0100)]
stream: handle NULL seqnum and rtptime arguments
Ognyan Tonchev [Fri, 31 Jan 2014 14:02:22 +0000 (15:02 +0100)]
thread-pool: Unref reused threads in gst_rtsp_thread_stop()
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=723519
Wim Taymans [Tue, 4 Feb 2014 09:14:45 +0000 (10:14 +0100)]
stream: add fallback for missing stats property
Use a fallback when the payloader does not have a stats property
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=723554
Edward Hervey [Thu, 30 Jan 2014 09:45:56 +0000 (10:45 +0100)]
Automatic update of common submodule
From f7bc1c3 to 1a07da9
Wim Taymans [Tue, 28 Jan 2014 13:51:26 +0000 (14:51 +0100)]
stream: don't leak stats structure
Don't leak the stats structure and deal with NULL stats.
Sebastian Rasmussen [Wed, 22 Jan 2014 21:03:14 +0000 (22:03 +0100)]
stream: Get rtpinfo properties atomically from payloader
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=722844
Wim Taymans [Tue, 21 Jan 2014 13:46:47 +0000 (14:46 +0100)]
media: refactor state change functions and signals
Make functions to set the target state and the pipeline state and emit
the signals from those functions.
Ognyan Tonchev [Tue, 21 Jan 2014 11:01:25 +0000 (12:01 +0100)]
media: add signal to notify of pending state changes
Tim-Philipp Müller [Sun, 12 Jan 2014 16:55:21 +0000 (16:55 +0000)]
rtsp-server: support build against last stable release
Until 1.2.3 is out with the new get_type function and we
can require that.
Wim Taymans [Tue, 7 Jan 2014 14:28:05 +0000 (15:28 +0100)]
stream: fix compilation
Wim Taymans [Tue, 7 Jan 2014 11:21:09 +0000 (12:21 +0100)]
stream: add property to configure profiles
Wim Taymans [Tue, 7 Jan 2014 11:28:47 +0000 (12:28 +0100)]
client: let stream check supported transport
Delegate the check if a transport is allowed to the stream.
See https://bugzilla.gnome.org/show_bug.cgi?id=720696
Wim Taymans [Tue, 7 Jan 2014 11:14:15 +0000 (12:14 +0100)]
stream: add method to check supported transport
Add a method to check if a transport is supported
Sebastian Dröge [Fri, 27 Dec 2013 12:11:45 +0000 (13:11 +0100)]
configure.ac: Only check for gstreamer-check, not check
We include check in gstreamer-check since quite some time now.
Wim Taymans [Thu, 26 Dec 2013 16:02:50 +0000 (17:02 +0100)]
stream: return clock-rate from get_rtpinfo
And use it to correct the rtptime to the requested start-time.
See https://bugzilla.gnome.org/show_bug.cgi?id=712198
Wim Taymans [Thu, 26 Dec 2013 15:28:59 +0000 (16:28 +0100)]
session-media: calculate start-time
Wim Taymans [Thu, 26 Dec 2013 13:43:35 +0000 (14:43 +0100)]
stream: also return the running-time
Return the running-time in the rtpinfo as well.
Wim Taymans [Thu, 26 Dec 2013 14:41:14 +0000 (15:41 +0100)]
session-media: let the session-media make the RTPInfo
Add method to create the RTPInfo for a stream-transport.
Add method to create the RTPInfo for all stream-transports in a
session-media.
Use the session-media RTPInfo code in client. This allows us to refactor
another method to link the TCP callbacks.
Aleix Conchillo Flaqué [Sat, 21 Dec 2013 00:39:07 +0000 (16:39 -0800)]
mount-points: sort sequence before g_sequence_lookup
* gst/rtsp-server/rtsp-mount-points.c (gst_rtsp_mount_points_remove_factory):
sort sequence if dirty, otherwise lookup will fail.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=720855
Tim-Philipp Müller [Sun, 22 Dec 2013 23:16:56 +0000 (23:16 +0000)]
configure: rename package from gst-rtsp to gst-rtsp-server
To match git module name and avoid confusion with the
rtsp lib in gst-plugins-base and rtsp plugin in -good.
Tim-Philipp Müller [Sun, 22 Dec 2013 23:15:02 +0000 (23:15 +0000)]
configure: bump core/base/good requirement to 1.2.0
Bump to released stable version and make implicit
requirements explicit.
Tim-Philipp Müller [Sun, 22 Dec 2013 23:04:48 +0000 (23:04 +0000)]
Fix broken gettext setup which is not used anyway
Tim-Philipp Müller [Sun, 22 Dec 2013 22:36:06 +0000 (22:36 +0000)]
Automatic update of common submodule
From dbedaa0 to d48bed3
Aleix Conchillo Flaqué [Wed, 18 Dec 2013 15:37:27 +0000 (16:37 +0100)]
media: add setup_sdp vmethod
gst/rtsp-server/rtsp-media.[ch]: added setup_sdp vmethod and public
gst_rtsp_media_setup_sdp.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=720155
Edward Hervey [Thu, 19 Dec 2013 13:26:34 +0000 (14:26 +0100)]
rtsp-stream: Check return value of sscanf
streamid is only valid if sscanf matched something.
Edward Hervey [Thu, 19 Dec 2013 13:24:54 +0000 (14:24 +0100)]
rtsp-client: Fix iteration
Wouldn't even enter the code block otherwise (i++ was used as the check
and not the postfix).
Wim Taymans [Wed, 18 Dec 2013 14:57:03 +0000 (15:57 +0100)]
client: add vmethod to configure media and streams
Implement a vmethod that can be used to configure the media and the
streams based on the current context. Handle the blocksize handling in
the default handler.
See https://bugzilla.gnome.org/show_bug.cgi?id=720667
Tim-Philipp Müller [Thu, 12 Dec 2013 00:38:07 +0000 (00:38 +0000)]
Make git ignore more unit test binaries
Tim-Philipp Müller [Thu, 12 Dec 2013 00:36:07 +0000 (00:36 +0000)]
rtsp-server: add padding to many public structures
Not mini objects though, since they are not subclassable
anyway, nor kept on the stack or inlined in a structure.
Aleix Conchillo Flaqué [Tue, 3 Dec 2013 19:54:42 +0000 (11:54 -0800)]
media: add new create_rtpbin vmethod
* gst/rtsp-server/rtsp-media.[ch]: add new create_rtpbin vmethod.
https://bugzilla.gnome.org/show_bug.cgi?id=719734
Sebastian Rasmussen [Mon, 2 Dec 2013 23:34:52 +0000 (00:34 +0100)]
tests: fix memory leak, free test's thread pool
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=719733
Wim Taymans [Fri, 29 Nov 2013 14:50:52 +0000 (15:50 +0100)]
stream-transport: free url in finalize
Ognyan Tonchev [Fri, 29 Nov 2013 14:50:23 +0000 (15:50 +0100)]
media: also do state change in suspended state
Wim Taymans [Fri, 29 Nov 2013 09:53:08 +0000 (10:53 +0100)]
media: also handle prepare and range in suspended state
When we are suspended, we are already prepared.
We can get the range in the suspended state.
Branko Subasic [Wed, 27 Nov 2013 14:04:04 +0000 (15:04 +0100)]
check: add test for uri in setup
Added unit tests for the new functionality in GstRTSPStreamTransport.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=715168
Wim Taymans [Thu, 28 Nov 2013 16:47:18 +0000 (17:47 +0100)]
client: store setup uri and use in PLAY response
Store the uri used when doing the setup and use that in the PLAY
response.
fixes https://bugzilla.gnome.org/show_bug.cgi?id=715168
Wim Taymans [Thu, 28 Nov 2013 16:35:45 +0000 (17:35 +0100)]
stream-transport: add method to get/set url
Wim Taymans [Thu, 28 Nov 2013 13:14:35 +0000 (14:14 +0100)]
client: suspend after SDP and unsuspend before PLAYING
Based on patches by Ognyan Tonchev <ognyan@axis.com>
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=711257
Wim Taymans [Thu, 28 Nov 2013 13:10:19 +0000 (14:10 +0100)]
media: add suspend modes
Add support for different suspend modes. The stream is suspended right after
producing the SDP and after PAUSE. Different suspend modes are available that
affect the state of the pipeline. NONE leaves the pipeline state unchanged and
is the current and old behaviour, PAUSE will set the pipeline to the PAUSED
state and RESET will bring the pipeline to the NULL state.
A stream is also unsuspended when it goes back to PLAYING, for RESET streams,
this means that the pipeline needs to be prerolled again.
Base on patches by Ognyan Tonchev <ognyan@axis.com>
See https://bugzilla.gnome.org/show_bug.cgi?id=711257
Wim Taymans [Thu, 28 Nov 2013 13:06:53 +0000 (14:06 +0100)]
media: start live streams in blocked state
Start live streams in the blocked state and make them preroll using the
messages. This ensure that no data is played by the sink until we explicitly
unblock the stream right before going to PLAYING.
See https://bugzilla.gnome.org/show_bug.cgi?id=711257
Wim Taymans [Thu, 28 Nov 2013 12:58:05 +0000 (13:58 +0100)]
media: refactor starting and waiting for preroll
Based on patches from Ognyan Tonchev <ognyan@axis.com>
See https://bugzilla.gnome.org/show_bug.cgi?id=711257
Wim Taymans [Thu, 28 Nov 2013 12:42:21 +0000 (13:42 +0100)]
stream: add API to block streams
Add an API to block on the streams and make it post a message.
Based on patch by Ognyan Tonchev <ognyan@axis.com>
See https://bugzilla.gnome.org/show_bug.cgi?id=711257
Edward Hervey [Wed, 27 Nov 2013 14:42:45 +0000 (15:42 +0100)]
docs: Specify the override file
Even if it's empty (for now) it avoids make distcheck complaining
Wim Taymans [Tue, 26 Nov 2013 16:23:04 +0000 (17:23 +0100)]
media: move default implementations to where they are used
Wim Taymans [Tue, 26 Nov 2013 15:25:37 +0000 (16:25 +0100)]
media: take the right lock in gst_rtsp_media_set_pipeline_state()
We need to take the state_lock when calling this method.
Wim Taymans [Tue, 26 Nov 2013 15:24:35 +0000 (16:24 +0100)]
media: handle add-added on non-bins too
Handle dynamic payloaders that are not bins, as used in the unit-test.
Sebastian Rasmussen [Fri, 22 Nov 2013 00:30:53 +0000 (01:30 +0100)]
rtsp-media/-factory: Fix request pad name comments
These must be escaped for gtk-doc to parse the comments without warnings.
Aleix Conchillo Flaque [Wed, 20 Nov 2013 23:51:54 +0000 (15:51 -0800)]
rtsp-media: remove transports if media is in error status
* gst/rtsp-server/rtsp-media.c (gst_rtsp_media_set_state): if we are
trying to change to GST_STATE_NULL and media is in error status, we
remove all transports.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=712776
Wim Taymans [Fri, 22 Nov 2013 10:16:20 +0000 (11:16 +0100)]
rtsp-media: use element metadata to find payloader
Use the element metadata to find the payloader instead of checking
for the base class.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=712396
Aleix Conchillo Flaque [Fri, 15 Nov 2013 20:14:32 +0000 (12:14 -0800)]
rtsp-stream: add getter for payload type
* gst/rtsp-server/rtsp-stream.c: add new method gst_rtsp_stream_get_pt.
* gst/rtsp-server/rtsp-media.c (pad_added_cb): find real payloader
element and create the stream with this one instead of the dynpay%d
element.
https://bugzilla.gnome.org/show_bug.cgi?id=712396
Sebastian Rasmussen [Fri, 22 Nov 2013 01:28:28 +0000 (02:28 +0100)]
rtsp-*: Refer to NULL as a constant in comments
Plus one typo fix.
https://bugzilla.gnome.org/show_bug.cgi?id=714988
Sebastian Rasmussen [Fri, 22 Nov 2013 02:10:01 +0000 (03:10 +0100)]
rtsp-*: Fix type name typos in comments
* rtsp-auth: Refer to GstRTSPToken, not GstRTSPtoken
* rtsp-auth: Refer to part of constant name as text
* rtsp-auth/-permissions/-token: Refer to Permissions not Permission
* rtsp-session-media: Fix GstRTSPSessionMedia typo
* rtsp-stream: Fix typo when refering to GstBin
https://bugzilla.gnome.org/show_bug.cgi?id=714988
Sebastian Rasmussen [Thu, 21 Nov 2013 23:45:17 +0000 (00:45 +0100)]
docs: Improve documentation
* Include annotation-glossary to quiet gtk-doc
* Rename remaining ClientState -> Context
* Rename object hierarchy file
* Remove stale chapter references
* Add missing function and object references
* Include missing GstRTSPAddressPoolResult
https://bugzilla.gnome.org/show_bug.cgi?id=714988
Tim-Philipp Müller [Mon, 18 Nov 2013 10:47:04 +0000 (10:47 +0000)]
rtsp-server: sprinkle some allow-none annotations for g-i