Wim Taymans [Thu, 20 Jun 2013 09:14:31 +0000 (11:14 +0200)]
media: handle segment query format mismatch
It's possible that the segment query returns with a different format than what
we asked for, handle this case also.
David Svensson Fors [Tue, 11 Jun 2013 13:28:32 +0000 (15:28 +0200)]
media: use segment stop in collect_media_stats
Use segment stop instead of duration as range end point.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=701185
Ognyan Tonchev [Mon, 17 Jun 2013 14:47:56 +0000 (16:47 +0200)]
rtsp-media: Do not leak the element in take_pipeline
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=702470
Ognyan Tonchev [Mon, 17 Jun 2013 14:18:37 +0000 (16:18 +0200)]
rtsp-client: Make configure_client_transport virtual
This patch makes configure_client_transport virtual. The functionality is
needed to handle some weird clients sending multicast transport settings as url
options.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=702173
Ognyan Tonchev [Wed, 12 Jun 2013 10:23:56 +0000 (12:23 +0200)]
rtsp-client: Make param_set and param_get virtual
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=702072
David Svensson Fors [Wed, 5 Jun 2013 13:49:45 +0000 (15:49 +0200)]
media: convert_range replaces get_range_times
get_range_times worked for handling UTC ranges for seeks, but we also
need to convert back from NPT to the requested unit in
get_range_string. convert_range is now used for both.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=702084
Wim Taymans [Fri, 14 Jun 2013 14:05:59 +0000 (16:05 +0200)]
sdp: cleanup sdp info
We don't need to pass the proto, we can more easily check a boolean.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=702063
Alexander Schrab [Wed, 12 Jun 2013 13:22:57 +0000 (15:22 +0200)]
use 0.0.0.0 or :: for c= line instead of server address
Alexander Schrab [Wed, 12 Jun 2013 08:56:16 +0000 (10:56 +0200)]
use local address, not remote, in SDP
See https://bugzilla.gnome.org/show_bug.cgi?id=702063
Sebastian Dröge [Wed, 5 Jun 2013 13:18:26 +0000 (15:18 +0200)]
Automatic update of common submodule
From 098c0d7 to 01a7a46
David Svensson Fors [Wed, 29 May 2013 11:45:00 +0000 (13:45 +0200)]
media: possibility to override range time conversion
Make it possible to override the conversion from GstRTSPTimeRange to
GstClockTimes, that is done before seeking on the media
pipeline. Overriding can be useful for UTC ranges, where the default
conversion gives nanoseconds since 1900.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=701191
Ognyan Tonchev [Mon, 3 Jun 2013 10:04:44 +0000 (12:04 +0200)]
rtsp-server: Expose the use_client_settings API
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=699935
Alexander Schrab [Thu, 30 May 2013 06:07:48 +0000 (08:07 +0200)]
rtspstream: handle both ipv4 and ipv6 clients
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=701129
Wim Taymans [Fri, 31 May 2013 13:28:58 +0000 (15:28 +0200)]
Revert "rtsp-sdp: Parse width/height from caps and set SDP attribute"
This reverts commit
5fd034ff1a517db7f629ffcc3ed16839c61f5c97.
We already have a way to place extra attributes in the SDP by using a string
property with prefix x- or a- in the caps.
Wim Taymans [Fri, 31 May 2013 13:27:48 +0000 (15:27 +0200)]
Revert "rtsp-sdp: Parse framerate caps field and set SDP attribute"
This reverts commit
d6a4dee03642a2d2c05fec4752dc3ccb60b19494.
We already have a way to place extra attributes in the SDP, just make a string
property in the payloader with a- or x- prefix.
Wim Taymans [Fri, 31 May 2013 13:41:55 +0000 (15:41 +0200)]
rtsp: place a- and x- properties as attributes
application/x-rtp has properties with a- and x- prefixes that should be
placed as attributes in the SDP for the media instead of being added to the
fmtp.
Wim Taymans [Fri, 31 May 2013 10:10:28 +0000 (12:10 +0200)]
example: add TLS example
Wim Taymans [Fri, 31 May 2013 09:42:36 +0000 (11:42 +0200)]
server: add support for TLS
Add methods to set and get a TLS certificate.
Add vmethod to configure a new connection. By default, configure the TLS
certificate in a new connection if needed.
Wim Taymans [Fri, 31 May 2013 09:14:17 +0000 (11:14 +0200)]
server: remove accept_client vmethod
This vmethod is not very useful so remove it.
Wim Taymans [Thu, 30 May 2013 15:23:51 +0000 (17:23 +0200)]
server: don't crash on NULL GError
Patricia Muscalu [Thu, 30 May 2013 08:46:33 +0000 (10:46 +0200)]
rtsp-session-pool: corrected session timeout detection
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=701253
Wim Taymans [Thu, 30 May 2013 08:52:46 +0000 (10:52 +0200)]
client: improve debug
Wim Taymans [Thu, 30 May 2013 05:18:22 +0000 (07:18 +0200)]
server: refactor connection setup
Let the server accept the socket connection and construct a GstRTSPConnection
from it. Remove the code from the client and let the client only deal with
a fully configure GstRTSPConnection object.
We will need this later when the server will configure the connection for
TLS.
Wim Taymans [Thu, 30 May 2013 04:49:20 +0000 (06:49 +0200)]
stream: keep the transport object alive
Keep the transport object alive while we have it as qdata on the
source.
Alexander Schrab [Mon, 27 May 2013 10:58:07 +0000 (12:58 +0200)]
rtsp-server: Do not crash on nmapping of server
* generate error when gst_rtsp_connection_accept fails
* do not stop accepting incoming connections because
accepting a client fails
https://bugzilla.gnome.org/show_bug.cgi?id=701072
Alexander Schrab [Fri, 24 May 2013 11:39:50 +0000 (13:39 +0200)]
rtsp-client: ipv4 adress should not be marked ipv6 even if socket is ipv6
https://bugzilla.gnome.org/show_bug.cgi?id=700953
Sebastian Rasmussen [Wed, 22 May 2013 01:29:38 +0000 (03:29 +0200)]
rtsp-sdp: Parse framerate caps field and set SDP attribute
The SDP attribute and its format is described in RFC4566.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=700747
Sebastian Rasmussen [Wed, 22 May 2013 01:29:30 +0000 (03:29 +0200)]
rtsp-sdp: Parse width/height from caps and set SDP attribute
The SDP attribute and its format is described in RFC6064.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=700747
Patricia Muscalu [Mon, 29 Apr 2013 12:46:30 +0000 (14:46 +0200)]
rtsp-sdp: add bandwidth line
https://bugzilla.gnome.org/show_bug.cgi?id=699220
Sebastian Dröge [Wed, 15 May 2013 08:55:09 +0000 (10:55 +0200)]
Automatic update of common submodule
From 5edcd85 to 098c0d7
Ognyan Tonchev [Tue, 23 Apr 2013 09:28:39 +0000 (11:28 +0200)]
tests: add dynamic payloader prepare/unprepare check
Wim Taymans [Tue, 23 Apr 2013 08:27:35 +0000 (10:27 +0200)]
media: release lock when removing fakesink
Wim Taymans [Tue, 23 Apr 2013 08:16:17 +0000 (10:16 +0200)]
stream: set elements to NULL before removing
When removing a stream, set the elements to NULL first. This avoids
element-is-not-in-NULL-state errors when we dispose the elements.
Tim-Philipp Müller [Mon, 22 Apr 2013 22:55:48 +0000 (23:55 +0100)]
Automatic update of common submodule
From 3cb3d3c to 5edcd85
Wim Taymans [Mon, 22 Apr 2013 15:34:37 +0000 (17:34 +0200)]
media: listen to pad-removed signals
Listen to the pad-removed signal and remove the stream associated with the
removed pad.
Add signal to be notified of the removed pad.
Remove the fakesink in unprepare()
Fix signatures of the signal methods
Wim Taymans [Mon, 22 Apr 2013 15:33:30 +0000 (17:33 +0200)]
tests: add example of reusable pipelines
Ognyan Tonchev [Mon, 22 Apr 2013 15:32:31 +0000 (17:32 +0200)]
stream: add method to get the srcpad
Ognyan Tonchev [Mon, 22 Apr 2013 14:49:39 +0000 (16:49 +0200)]
check: add media prepare/unprepare test
See https://bugzilla.gnome.org/show_bug.cgi?id=698376
Ognyan Tonchev [Mon, 22 Apr 2013 14:40:48 +0000 (16:40 +0200)]
media: disconnect from signal handlers in unprepare()
We connected to the pad-added and no-more-pads signals in prepare() so
we need to disconnect from them in unprepare().
See https://bugzilla.gnome.org/show_bug.cgi?id=698376
Ognyan Tonchev [Mon, 22 Apr 2013 14:25:17 +0000 (16:25 +0200)]
media: don't free streams array
Don't free the streams array in the unprepare() method, they were not
added in prepare().
See https://bugzilla.gnome.org/show_bug.cgi?id=698376
Ognyan Tonchev [Mon, 22 Apr 2013 14:19:35 +0000 (16:19 +0200)]
media: don't unref the pipeline in unprepare
Unprepare() should undo what prepare() does. Because the pipeline is
not created in prepare(), we should not unref it in unprepare()
Ognyan Tonchev [Mon, 22 Apr 2013 14:09:22 +0000 (16:09 +0200)]
stream: clear session and caps for reuse
Set the session and caps to NULL after unref otherwise we might unref
them again later.
See https://bugzilla.gnome.org/show_bug.cgi?id=698376
David Svensson Fors [Mon, 15 Apr 2013 10:21:54 +0000 (12:21 +0200)]
client: send out teardown signal before tearing down
The advantage is that in the signal handler you get direct access to
information about what streams are about to get torn down (in the
GstRTSPClientState).
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=697686
David Svensson Fors [Mon, 15 Apr 2013 10:17:34 +0000 (12:17 +0200)]
client: expose connection
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=697546
Tim-Philipp Müller [Sun, 14 Apr 2013 16:58:22 +0000 (17:58 +0100)]
Automatic update of common submodule
From aed87ae to 3cb3d3c
Wim Taymans [Fri, 12 Apr 2013 10:34:38 +0000 (11:34 +0100)]
media: add method to get the base_time of the pipeline
Together with a shared clock, this base-time could eventually be sent to
the client so that it can reconstruct the exact running-time of the clock
on the server.
Wim Taymans [Tue, 9 Apr 2013 20:35:28 +0000 (22:35 +0200)]
media: add GstNetTimeProvider support
Add a property to let the media provide a GstNetTimeProvider for its clock.
Make methods to get the clock and nettimeprovider
Add a x-gst-clock property to the SDP with the IP and port number of the nettime
provider and also the current time of the clock. This should make it possible
for (GStreamer) clients to slave their clock to the server clock.
Stefan Sauer [Tue, 9 Apr 2013 19:02:47 +0000 (21:02 +0200)]
Automatic update of common submodule
From 04c7a1e to aed87ae
Wim Taymans [Tue, 9 Apr 2013 18:39:58 +0000 (20:39 +0200)]
media: wait for buffering to complete
Wait for buffering to complete before changing the state to the target state.
Wim Taymans [Tue, 9 Apr 2013 18:11:35 +0000 (20:11 +0200)]
media: small cleanup
David Svensson Fors [Wed, 20 Mar 2013 11:33:54 +0000 (12:33 +0100)]
tests: remove extra unref in test_setup_non_existing_stream
The unref is not needed anymore, teardown runs without it.
https://bugzilla.gnome.org/show_bug.cgi?id=696542
David Svensson Fors [Wed, 20 Mar 2013 10:28:11 +0000 (11:28 +0100)]
tests: GSocketService cleanup in test_bind_already_in_use
Use g_socket_service_stop so the rtspserver test stops listening for
incoming connections in test_bind_already_in_use.
https://bugzilla.gnome.org/show_bug.cgi?id=696541
Olivier Crête [Fri, 22 Mar 2013 22:25:07 +0000 (18:25 -0400)]
rtsp-media-factory: g_signal_connect_object is not thread safe, can't use it here
Instead use a GWeakRef which is safe to use
This is a known GLib bug, see:
https://bugzilla.gnome.org/show_bug.cgi?id=667145
Olivier Crête [Fri, 22 Feb 2013 19:17:29 +0000 (14:17 -0500)]
rtsp-media/client: Reply to PLAY request with same type of Range
Remember the type of Range from the PLAY request and use the same type for
the reply.
Patricia Muscalu [Mon, 18 Mar 2013 08:25:54 +0000 (09:25 +0100)]
rtsp-client: expose uri
Olivier Crête [Wed, 13 Mar 2013 21:46:58 +0000 (17:46 -0400)]
tests: Hold ref while creating second media
To test if the media aren't shared, make sure we keep the first one while creating a second
otherwise the same memory address may be reused.
Tim-Philipp Müller [Tue, 12 Mar 2013 00:10:18 +0000 (00:10 +0000)]
configure: remove out-of-date comment
Tim-Philipp Müller [Tue, 12 Mar 2013 00:05:49 +0000 (00:05 +0000)]
.gitignore: ignore more build files
Tim-Philipp Müller [Tue, 12 Mar 2013 00:03:36 +0000 (00:03 +0000)]
tests: use right _LIBS variable for gst-plugins-base libs
Wim Taymans [Mon, 11 Mar 2013 10:35:14 +0000 (11:35 +0100)]
check: add librtp to libs
Olivier Crête [Thu, 21 Feb 2013 00:37:51 +0000 (19:37 -0500)]
tests: Add test to check selecting a port the server will send from
Olivier Crête [Wed, 20 Feb 2013 23:30:01 +0000 (18:30 -0500)]
tests: Make sure packets are actually received
Olivier Crête [Tue, 19 Feb 2013 23:27:20 +0000 (18:27 -0500)]
stream: Select unicast address from pool if appropriate
Olivier Crête [Tue, 19 Feb 2013 21:43:08 +0000 (16:43 -0500)]
stream: Properties are always there in Gst 1.0
Olivier Crête [Tue, 19 Feb 2013 21:36:20 +0000 (16:36 -0500)]
tests: Add tests for unicast addresses in pool
Olivier Crête [Wed, 20 Feb 2013 19:26:03 +0000 (14:26 -0500)]
address-pool: Verify that multicast addresses are used for multicast and vice-versa
Olivier Crête [Tue, 19 Feb 2013 21:34:16 +0000 (16:34 -0500)]
address-pool: Add unicast addresses
Olivier Crête [Tue, 19 Feb 2013 18:19:41 +0000 (13:19 -0500)]
rtsp-server: Limit the number of threads per server instance
If we exceed the maximum, just round robin the clients over the existing
threads.
Olivier Crête [Tue, 19 Feb 2013 17:31:23 +0000 (12:31 -0500)]
rtsp-server: No need to store the GMainContext in the client context
Olivier Crête [Tue, 19 Feb 2013 01:22:18 +0000 (20:22 -0500)]
tests: Add test for client disconnection
Olivier Crête [Tue, 19 Feb 2013 01:15:41 +0000 (20:15 -0500)]
tests: Test client and session timeouts with multiple threads
Olivier Crête [Mon, 18 Feb 2013 19:59:58 +0000 (14:59 -0500)]
Document locking and its order
Olivier Crête [Sat, 16 Feb 2013 01:02:31 +0000 (20:02 -0500)]
tests: Test that slow DESCRIBE don't block other clients
Olivier Crête [Fri, 15 Feb 2013 00:52:09 +0000 (19:52 -0500)]
tests: Add tests for client-requested multicast address
Olivier Crête [Thu, 14 Feb 2013 18:44:54 +0000 (13:44 -0500)]
docs: Put the various functions in the right sections
Olivier Crête [Thu, 14 Feb 2013 18:38:07 +0000 (13:38 -0500)]
docs: Generate docs for GstRTSPAddressPool
Olivier Crête [Wed, 13 Feb 2013 23:32:20 +0000 (18:32 -0500)]
client: Check client provided addresses against the address pool
Olivier Crête [Wed, 13 Feb 2013 23:01:43 +0000 (18:01 -0500)]
address-pool: Add API to request a specific address from the pool
Also add relevant unit tests.
Olivier Crête [Wed, 13 Feb 2013 00:34:24 +0000 (19:34 -0500)]
tests: Check the passing around of a RTSPAddressPool
Make sure the RTSPAddressPool is propagated from the MediaFactory all the
way down to the stream.
Olivier Crête [Tue, 12 Feb 2013 21:34:37 +0000 (16:34 -0500)]
tests: Add more tests for the address pool
Olivier Crête [Tue, 12 Feb 2013 21:29:25 +0000 (16:29 -0500)]
address-pool: Fix off by one error
When splitting a port range, the port after a skip is not part of range.
Tim-Philipp Müller [Thu, 7 Mar 2013 00:04:19 +0000 (00:04 +0000)]
Automatic update of common submodule
From 2de221c to 04c7a1e
George McCollister [Thu, 7 Feb 2013 22:18:08 +0000 (16:18 -0600)]
configure: replace deprecated AM_CONFIG_HEADER with AC_CONFIG_HEADERS
AM_CONFIG_HEADER was removed in automake 1.13
https://bugzilla.gnome.org/show_bug.cgi?id=693368
Stefan Sauer [Mon, 28 Jan 2013 19:45:44 +0000 (20:45 +0100)]
Automatic update of common submodule
From a942293 to 2de221c
Wim Taymans [Mon, 28 Jan 2013 09:31:50 +0000 (10:31 +0100)]
client: make sure the watch exists while sending data
Protect the send_func with a lock. This allows us to wait for sending
to complete before changing the send_func and user_data. We add an
extra ref to the watch to make sure that it remains valid during
sending.
When closing the connection, set the send_func to NULL
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=692433
Tim-Philipp Müller [Wed, 16 Jan 2013 12:16:32 +0000 (12:16 +0000)]
tests: use GST_*_1_0 environment variables everywhere
The _1_0 suffixed environment variables override the
non-suffixed ones, so if we're in an environment that
sets the _1_0 suffixed ones, such as jhbuild, we need
to set those to make sure ours actually always get
used.
Tim-Philipp Müller [Tue, 15 Jan 2013 15:09:24 +0000 (15:09 +0000)]
Automatic update of common submodule
From acb04d9 to a942293
Wim Taymans [Fri, 14 Dec 2012 10:58:29 +0000 (11:58 +0100)]
rtsp-client: set the client backlog
Set the client backlog to a reasonable default
Ognyan Tonchev [Tue, 4 Dec 2012 08:47:35 +0000 (09:47 +0100)]
rtsp-media: Make the element a constructor parameter
https://bugzilla.gnome.org/show_bug.cgi?id=689594
Sebastian Rasmussen [Tue, 4 Dec 2012 00:05:31 +0000 (01:05 +0100)]
docs: Link with gcov library when gcov is enabled
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=689583
Wim Taymans [Fri, 30 Nov 2012 14:03:15 +0000 (15:03 +0100)]
media: match prepare with unprepare
Really unprepare when there were an equal amount of prepare calls.
Wim Taymans [Fri, 30 Nov 2012 13:58:46 +0000 (14:58 +0100)]
media: media has to be unprepared in finalize
Because unprepare takes away the last ref on the media.
Wim Taymans [Fri, 30 Nov 2012 13:36:30 +0000 (14:36 +0100)]
Revert "client: never call gst_rtsp_media_unprepare, let gst_rtsp_media_finalize do it"
This reverts commit
ba5b78ff2ff223049188eb456e228c709ccd3e05.
We can't use the refcount to trigger unprepare because it is the unprepare call
that removes the last refcount after all messages are consumed. What we should
probably do is make a prepared refcount and only unprepare when the refcount
reaches 0.
Wim Taymans [Fri, 30 Nov 2012 12:35:05 +0000 (13:35 +0100)]
media: let the source unref the last media ref
the last ref to the media is held by the source so we don't need to add more ref
and unrefs, we simply destroy the media when the source is gone.
Wim Taymans [Fri, 30 Nov 2012 11:54:10 +0000 (12:54 +0100)]
media: improve debug
Wim Taymans [Fri, 30 Nov 2012 11:53:02 +0000 (12:53 +0100)]
media: check state
Make sure we are in the right state when collecting the position and duration.
Only make ourselves PREPARED when we were previously PREPARING.
Wim Taymans [Fri, 30 Nov 2012 09:05:48 +0000 (10:05 +0100)]
media: use g_object_ref/unref for GObjects
Alessandro Decina [Fri, 30 Nov 2012 06:05:25 +0000 (07:05 +0100)]
client: never call gst_rtsp_media_unprepare, let gst_rtsp_media_finalize do it
Calling gst_rtsp_media_unprepare breaks shared medias. Just unref
GstRTSPMedia instances and let gst_rtsp_media_finalize unprepare when a media
isn't being used anymore.
Alessandro Decina [Fri, 30 Nov 2012 05:17:46 +0000 (06:17 +0100)]
Fix compiler warning
Alessandro Decina [Fri, 30 Nov 2012 05:14:49 +0000 (06:14 +0100)]
Add missing g_type_class_add_private in GstRTSPMediaFactoryURI