Commit graph

1262 commits

Author SHA1 Message Date
Nicolas Dufresne
b4bfef6162 Automatic update of common submodule
From b319909 to 86e4663
2015-12-07 09:11:35 -05:00
Srimanta Panda
ed70572c6c rtsp-client: suspend media during setup request
SETUP request from clients needs to suspend the media to clear the
prerolled buffers. Otherwise it will not affect the prerolled buffer
and the prerolled buffers will be incorrect (for example block-size
from setup request will not affect the prerolled buffer unless the
media is suspended).

https://bugzilla.gnome.org/show_bug.cgi?id=758268
2015-12-04 15:48:23 +02:00
Srimanta Panda
82dffd17b3 rtsp-stream: create stream pipeline based on transport
Based on the protocol, create the rtsp stream pipeline. If only TCP or
only UDP is set as the transport protocol, it will not add the extra tee
or queue element to the pipeline. Both these elements will be added, if
it supports both TCP and UDP protocols. This improves the pipeline
performance when one protocol is present.

https://bugzilla.gnome.org/show_bug.cgi?id=758179
2015-12-04 14:13:10 +02:00
Sebastian Dröge
61772cb326 rtsp-stream: Only create RTP sending/receiving rtpbin pads if needed
Adding them when not needed will start some logic inside rtpbin that might be
problematic. Also if e.g. for a sender media we suddenly receive RTP data, we
would start up a rtpjitterbuffer and behave in weird ways.

We still set up the UDP sources for RTP receiving for a sender media to be
able to receive any packets sent by the client for NAT traversal. They will
all go to a fakesink though.

Having an rtpjitterbuffer in the media pipeline will cause the pipeline to be
NO_PREROLL, which will cause deadlocks when seeking the media as it will never
receive ASYNC_DONE after a seek.

https://bugzilla.gnome.org/show_bug.cgi?id=758319
2015-12-01 15:32:45 +02:00
Sebastian Dröge
cdc0849dfe rtsp-stream: Disable multicast loopback for the multicast udp sources too
On POSIX this setting is for sender sockets, on Windows for receiver sockets.
Previously we were only setting this for sender sockets, which caused looped
back packets to be received on Windows if a multicast transport was used.
2015-11-17 12:45:58 +02:00
Jan Schmidt
52fb304ac9 examples: Actually use the provided port in the record examples 2015-11-17 01:12:28 +11:00
Jan Schmidt
eaf7b1488c test-record-auth: Add the option to build in TLS support 2015-11-17 01:12:28 +11:00
Jan Schmidt
a062b9c562 test-auth: Use an 'anonymous' user for unauthenticated default
There's a comment on one of the resources that 'user' and 'admin'
shouldn't even be able to see it, but they can if the default
token is 'admin2', since that gives them access anyway.
2015-11-17 01:12:28 +11:00
Jan Schmidt
75c3a3c095 Add test-record-auth example 2015-11-17 01:12:28 +11:00
Jan Schmidt
9e92a0307c rtsp-client: Report RECORD and ANNOUNCE as supported in the OPTIONS 2015-11-17 01:12:28 +11:00
Marcus Prebble
b90d4ba917 rtsp-server: Change the logic so we don't pop a NULL context
When doing a port scan (e.g. with nmap) the call to GST_RTSP_CHECK()
will sometimes fail. This call is made before any context is pushed
resulting in an attempt to pop a NULL context.

https://bugzilla.gnome.org/show_bug.cgi?id=757949
2015-11-11 15:58:27 +01:00
David Svensson Fors
2178a7c871 rtspserver: Add udp-mcast transport SETUP test
Refactor utility functions in the test file so they can handle
more than UDP and TCP as lower transport.

https://bugzilla.gnome.org/show_bug.cgi?id=756969
2015-10-22 19:31:59 +03:00
David Svensson Fors
81ae320383 rtsp-stream: Always unref return value of gst_object_get_parent()
Fixes a leak of a GstBin in the udp-mcast case.

https://bugzilla.gnome.org/show_bug.cgi?id=756968
2015-10-22 19:28:15 +03:00
Tim-Philipp Müller
6cc4f86e5d Automatic update of common submodule
From b99800a to b319909
2015-10-21 14:37:19 +01:00
Sebastian Dröge
afd9104c70 Use new GST_ENABLE_EXTRA_CHECKS #define
https://bugzilla.gnome.org/show_bug.cgi?id=756870
2015-10-21 14:36:49 +03:00
Sebastian Dröge
566cfdbbd7 Automatic update of common submodule
From 6babecd to b99800a
2015-10-21 14:28:47 +03:00
Sebastian Dröge
deedb11ab2 Update GLib dependency to 2.40.0 2015-10-02 22:25:47 +03:00
Hyunjun Ko
a51337974c stream: listen to sender ssrc signals
https://bugzilla.gnome.org/show_bug.cgi?id=746747
2015-10-02 16:40:31 +03:00
Tim-Philipp Müller
3cc2c2c226 common: update for new suppression
Makes check-valgrind pass with glib 2.46
2015-09-29 13:00:51 +01:00
Sebastian Rasmussen
6f1cad9237 rtsp-media: Take reference to media that will be prepared
default_prepare() takes a transfer-none reference GstRTSPMedia object.
Later on a g_idle_source_new() is created and a pointer to the media
object is passed as user data. If the media is freed before the idle
source is dispatched the media object pointer is invalid, but the idle
source callback expects it to still be valid. To fix this a reference to
the media object is taken when registering the source callback function
and a corresponding release of the reference is done when the souce is
destroyed.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=755748
2015-09-29 11:23:06 +01:00
Vineeth TM
6d20a1c9d9 rtsp-server: Fix memory leaks when context parse fails
When g_option_context_parse fails, context and error variables are not getting free'd
which results in memory leaks. Free'ing the same.

And replacing g_error_free with g_clear_error, which checks if the error being passed
is not NULL and sets the variable to NULL on free'ing.

https://bugzilla.gnome.org/show_bug.cgi?id=753863
2015-09-26 09:35:17 +01:00
Sebastian Dröge
9c513cc536 Back to development 2015-09-25 23:51:17 +02:00
Sebastian Dröge
8a8bb37f8d Release 1.6.0 2015-09-25 23:32:52 +02:00
Sebastian Dröge
e4edaebe8e Release 1.5.91 2015-09-18 20:12:06 +02:00
Tim-Philipp Müller
da8a31ac88 stream: fix docs for recently-added get/set_buffer_size API
https://bugzilla.gnome.org/show_bug.cgi?id=749095
2015-09-17 20:07:34 +01:00
Jan Schmidt
315c2f93bb rtsp-media: Don't crash on encrypted RTX SDP
In parse_keymgmt(), don't mutate the input string that's been passed
as const, especially since we might need the original value again if
the same key info applies to multiple streams (RTX, for example).

https://bugzilla.gnome.org/show_bug.cgi?id=754753
2015-09-09 17:57:15 +10:00
Jan Schmidt
22b618836e test-mp4: Support filenames with spaces in them. Error out on too few arguments 2015-09-03 22:20:11 +10:00
Jan Schmidt
2a41502cde test-record: Check parameter count and print out help
If no launch pipeline was supplied, print out some help
2015-09-03 22:20:11 +10:00
Jan Schmidt
27736d406e rtsp-stream: Implement UDP buffer size setting.
Add gst_rtsp_stream_(get|set)_buffer_size and use it to configure the
UDP TX buffer size.

Incorporates a patch by Hyunjun Ko <zzoon.ko@samsung.com>
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=749095
2015-09-03 22:19:40 +10:00
Jan Schmidt
9bfcdba42b rtsp-media: Fix small typo causing gtk-doc to complain 2015-09-03 22:16:30 +10:00
Sebastian Dröge
43bac0c2d9 Release 1.5.90 2015-08-19 14:15:23 +03:00
Hyunjun Ko
4c6b1faa6a media-factory: get port number through gst_rtsp_url_get_port
https://bugzilla.gnome.org/show_bug.cgi?id=753473
2015-08-16 12:08:49 +02:00
Francisco Velazquez
418e1fe090 media-test: Removing unnecessary assertion
https://bugzilla.gnome.org/show_bug.cgi?id=753385
2015-08-13 18:48:51 -04:00
Xavier Claessens
8511ffe178 Document that source keeps a ref on server until it's destroyed
https://bugzilla.gnome.org/show_bug.cgi?id=749227
2015-08-10 12:18:53 -04:00
Nicolas Dufresne
3667e71b2f media-test: Test for multiple dynamic payload
https://bugzilla.gnome.org/show_bug.cgi?id=753385
2015-08-08 11:13:58 -04:00
Nicolas Dufresne
707ac9c487 media: Only add fakesink once per pipeline
The intention is to prevent going PLAYING state before pads are created.
If there was mutilple dynamic payload, it would leak few fakesink and
actually prevent from ever reaching playing state.

https://bugzilla.gnome.org/show_bug.cgi?id=753385
2015-08-08 09:46:40 -04:00
Nicolas Dufresne
160b87430f Revert "rtsp-media: Only add 1 fakesink per pipeline"
This reverts commit 22bf61f16c.
2015-08-08 09:08:37 -04:00
Nicolas Dufresne
22bf61f16c rtsp-media: Only add 1 fakesink per pipeline
There should be only one fakesink per pipeline, not per dynpay. This
would lead to element naming clash.
2015-08-07 09:33:55 -04:00
Vineeth TM
3920e21cd0 rtsp-media: assertion error due to wrong condition check
In media to caps function, reserved_keys array is being used for variable i,
leading to GLib-CRITICAL **: g_ascii_strcasecmp: assertion 's1 != NULL' failed
changed it to variable j

https://bugzilla.gnome.org/show_bug.cgi?id=753009
2015-07-30 15:52:08 +03:00
Sebastian Dröge
ae7bec97cb rtsp-media: Strip keys from the fmtp that we use internally in our caps
Skip keys from the fmtp, which we already use ourselves for the
caps. Some software is adding random things like clock-rate into
the fmtp, and we would otherwise here set a string-typed clock-rate
in the caps... and thus fail to create valid RTP caps

https://bugzilla.gnome.org/show_bug.cgi?id=753009
2015-07-29 11:28:21 +01:00
Xavier Claessens
5585dc5878 threadpool: Fix possible warning in gst_rtsp_thread_pool_cleanup()
https://bugzilla.gnome.org/show_bug.cgi?id=752640
2015-07-20 16:47:05 -04:00
Stefan Sauer
c809dc1735 Automatic update of common submodule
From f74b2df to 9aed1d7
2015-07-03 22:00:00 +02:00
Sebastian Dröge
dc9f11c27f Back to development 2015-06-25 00:04:28 +02:00
Sebastian Dröge
d8fff9627d Release 1.5.2 2015-06-24 23:44:37 +02:00
Ognyan Tonchev
8922afb88d rtsp-client: allow application to decide what requirements are supported
Add "check-requirements" signal and vfunc to allow application
(and subclasses) to check the requirements.

Based on patch from Hyunjun Ko <zzoon.ko@samsung.com>

https://bugzilla.gnome.org/show_bug.cgi?id=749417
2015-06-23 14:38:29 +01:00
Nicolas Dufresne
d59c7981cc Automatic update of common submodule
From 6015d26 to f74b2df
2015-06-16 17:50:26 -04:00
Ognyan Tonchev
fb71b9c4e9 rtsp-media: Always use real payloader when creating streams
A bin that contains the real payloader might be used as payloader. In this
case we have to get the real payloader for the various properties it provides.

Example use cases for this are bins that payload some media and then have
additional elements that add metadata or RTP extension headers to the stream.

https://bugzilla.gnome.org/show_bug.cgi?id=750800
2015-06-16 11:09:37 +02:00
Sebastian Dröge
fdfe97f447 test-netclock: Use gst_pipeline_set_latency() to set a high-enough, equal latency for all receivers 2015-06-13 17:14:43 +02:00
Sebastian Dröge
a5044fa1f9 test-netclock: Use new ntp-time-source property on rtpbin
Select the clock time to be used as NTP time source. This allows proper
synchronization between receivers, independent of sharing base times, and just
requires them to use the same clock.
2015-06-12 23:35:32 +02:00
Sebastian Dröge
028a4666fa test-netclock: Setting the same base time on sender and receiver is not necessary
It's going to be fixed up by rtpbin when using ntp-sync=TRUE
2015-06-11 20:41:31 +02:00