platform/upstream/gstreamer.git
8 years agortspclientsink: Check return value of sscanf
Edward Hervey [Mon, 7 Mar 2016 13:48:38 +0000 (14:48 +0100)]
rtspclientsink: Check return value of sscanf

And just make sure we always have 0/0 if we have an error

CID #1352031

8 years agortsp-stream: Fix crash on cleanup with shared media and multiple udpsrc
Jake Foytik [Mon, 25 Apr 2016 12:55:25 +0000 (08:55 -0400)]
rtsp-stream: Fix crash on cleanup with shared media and multiple udpsrc

 - Unicast udpsrcs are now managed in a hash table. This allows for proper cleanup in with shared streams and fixes a memory leak.
 - Unicast udpsrcs are now properly cleaned up when shared connections exit. See the update_transport() function.
 - Create unit test for shared media.

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

8 years agortsp-stream: Always bind to ANY when address is a multicast address and not only...
Sebastian Dröge [Mon, 11 Apr 2016 07:55:23 +0000 (10:55 +0300)]
rtsp-stream: Always bind to ANY when address is a multicast address and not only on Windows

For IPv6 addresses, binding to a multicast group does not work on Linux
either. Always bind to ANY and then later join the multicast group.

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

8 years agoAutomatic update of common submodule
Julien Isorce [Thu, 14 Apr 2016 09:05:02 +0000 (10:05 +0100)]
Automatic update of common submodule

From 6f2d209 to ac2f647

8 years agortsp-thread-pool: explained why GSource is a part of ThreadImpl
Patricia Muscalu [Wed, 6 Apr 2016 08:09:46 +0000 (10:09 +0200)]
rtsp-thread-pool: explained why GSource is a part of ThreadImpl

Clarified why it is necessary to add source information to
GstRTSPThreadImpl. See the reported bug in GLib:
https://bugzilla.gnome.org/show_bug.cgi?id=720186
for more information.

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

8 years agoexamples: Clean up CFLAGS/LDADD even more
Sebastian Dröge [Mon, 4 Apr 2016 09:58:38 +0000 (12:58 +0300)]
examples: Clean up CFLAGS/LDADD even more

The internal .la should come first and is part of LDADD, as is
GST_CFLAGS/LIBS.

8 years agoexamples: Clean up CFLAGS/LDADD to link with the correct versions of all libraries
Sebastian Dröge [Mon, 4 Apr 2016 09:39:39 +0000 (12:39 +0300)]
examples: Clean up CFLAGS/LDADD to link with the correct versions of all libraries

8 years agortsp-server: Use $(GST_NET_LIBS) / $(GST_NET_CFLAGS)
Sebastian Dröge [Sun, 3 Apr 2016 09:06:29 +0000 (12:06 +0300)]
rtsp-server: Use $(GST_NET_LIBS) / $(GST_NET_CFLAGS)

8 years agortsp-server: Implement clock signalling according to RFC7273
Sebastian Dröge [Wed, 30 Dec 2015 16:39:05 +0000 (18:39 +0200)]
rtsp-server: Implement clock signalling according to RFC7273

For NTP and PTP clocks we signal the actual clock that is used and signal
the direct media clock offset.

For all other clocks we at least signal that it's the local sender clock.

This allows receivers to know which clock was used to generate the media and
its RTP timestamps. Receivers can then implement network synchronization,
either absolute or at least relative by getting the sender clock rate directly
via NTP/PTP instead of estimating it from RTP timestamps and packet receive
times.

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

8 years agortspclientsink: Add support for setting the multicast interface
Sebastian Dröge [Wed, 2 Mar 2016 17:42:58 +0000 (19:42 +0200)]
rtspclientsink: Add support for setting the multicast interface

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

8 years agortsp-media: Add support for setting the multicast interface
Sebastian Dröge [Wed, 2 Mar 2016 17:42:13 +0000 (19:42 +0200)]
rtsp-media: Add support for setting the multicast interface

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

8 years agortspclientsink: use new gst_element_class_add_static_pad_template()
Vineeth TM [Sun, 6 Mar 2016 23:50:01 +0000 (08:50 +0900)]
rtspclientsink: use new gst_element_class_add_static_pad_template()

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

8 years agoBack to development
Sebastian Dröge [Thu, 24 Mar 2016 11:33:43 +0000 (13:33 +0200)]
Back to development

8 years agoRelease 1.8.0
Sebastian Dröge [Thu, 24 Mar 2016 11:00:35 +0000 (13:00 +0200)]
Release 1.8.0

8 years agortsp-stream: Don't set the state of the appsrc from PLAYING to PAUSED again during...
Sebastian Dröge [Wed, 16 Mar 2016 21:35:09 +0000 (23:35 +0200)]
rtsp-stream: Don't set the state of the appsrc from PLAYING to PAUSED again during setup

This would get us NO_PREROLL in the bin again and break seeking.
Thanks to Carlos Rafael Giani for helping to debug this!

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

8 years agoRelease 1.7.91
Sebastian Dröge [Tue, 15 Mar 2016 10:26:13 +0000 (12:26 +0200)]
Release 1.7.91

8 years agortsp-stream: Ensure that the pipeline is live and later-added udpsrcs are syncing...
Sebastian Dröge [Thu, 10 Mar 2016 11:54:38 +0000 (13:54 +0200)]
rtsp-stream: Ensure that the pipeline is live and later-added udpsrcs are syncing the state with the parent bin

Without this, RECORD pipelines are broken because
a) we wait for ASYNC_DONE which never happens anymore because udpsrc would be
added later. Previously it was there earlier and due to NO_PREROLL caused the
pipeline to preroll immediately
b) the udpsrc for the pipeline is added later and never set to PLAYING state,
as the corresponding code previously was only for PLAY pipelines.

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

8 years agortsp-stream: Fix typo in the docstring
Jan Schmidt [Thu, 10 Mar 2016 14:22:54 +0000 (01:22 +1100)]
rtsp-stream: Fix typo in the docstring

gst_rtsp_stream_set_client_side -> gst_rtsp_stream_is_client_side

8 years agortsp-stream: Disable multicast loopback for all our sockets
Sebastian Dröge [Sat, 5 Mar 2016 08:52:11 +0000 (10:52 +0200)]
rtsp-stream: Disable multicast loopback for all our sockets

On Windows this is a receiver-side setting, on Linux a sender-side setting. As
we provide a socket ourselves to udpsrc, udpsrc is never setting the multicast
loopback setting on the socket... while udpsink does which unfortunately has
no effect here on Windows but on Linux.

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

8 years agostream tests: added new tests
Patricia Muscalu [Thu, 3 Mar 2016 14:07:06 +0000 (15:07 +0100)]
stream tests: added new tests

Test a case when the address pool only contains multicast addresses
and the client is requesting unicast udp.
Added tests for multicast ports allocation.

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

8 years agortsp-stream: Only bind multicast sockets to ANY on Windows
Sebastian Dröge [Fri, 4 Mar 2016 11:51:12 +0000 (13:51 +0200)]
rtsp-stream: Only bind multicast sockets to ANY on Windows

On Linux it is still needed to bind to the multicast address
to filter out random other packets, while on Windows binding
to multicast addresses just fails.

8 years agortsp-stream: Only use the address pool for unicast UDP if it contains unicast addresses
Sebastian Dröge [Thu, 3 Mar 2016 08:41:51 +0000 (10:41 +0200)]
rtsp-stream: Only use the address pool for unicast UDP if it contains unicast addresses

Otherwise we fail to allocate UDP ports if the pool only contains multicast
addresses, which is something that used to work before. For unicast addresses
if the pool contains none, we just allocate them as if there is no pool at
all.

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

8 years agortsp-server: Fix indentation
Sebastian Dröge [Wed, 2 Mar 2016 09:48:49 +0000 (11:48 +0200)]
rtsp-server: Fix indentation

8 years agortsp-stream: Don't bind the sockets to multicast addresses
Sebastian Dröge [Wed, 2 Mar 2016 09:47:47 +0000 (11:47 +0200)]
rtsp-stream: Don't bind the sockets to multicast addresses

This works on Linux but fails completely on Windows. You're supposed
to bind to ANY and then join the multicast group.

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

8 years agoRelease 1.7.90
Sebastian Dröge [Tue, 1 Mar 2016 17:00:45 +0000 (19:00 +0200)]
Release 1.7.90

8 years agoAutomatic update of common submodule
Sebastian Dröge [Fri, 26 Feb 2016 10:42:51 +0000 (12:42 +0200)]
Automatic update of common submodule

From b64f03f to 6f2d209

8 years agortspsink: Fix some leaks in rtspclientsink and the unit test.
Jan Schmidt [Tue, 23 Feb 2016 13:10:52 +0000 (00:10 +1100)]
rtspsink: Fix some leaks in rtspclientsink and the unit test.

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

8 years agotests: unit test fixes
Patricia Muscalu [Tue, 23 Feb 2016 14:01:22 +0000 (15:01 +0100)]
tests: unit test fixes

Removed port allocation test from the media suite.
The port allocation failure is now in the stream suite.
rtspserver:
Make sure that the media is suspended after the DESCRIBE request
before reconfiguring the UDP sinks.
rtspclientsink:
In the RECORD case we have to set async property to false
for the appsink element in the test in order to make sure
that the media pipeline doesn't hang in start_preroll().

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

8 years agortsp-stream: postpone UDP socket allocation until SETUP
Patricia Muscalu [Tue, 23 Feb 2016 13:59:32 +0000 (14:59 +0100)]
rtsp-stream: postpone UDP socket allocation until SETUP

Postpone the allocation of the UDP sockets until we know
what transport has been chosen by the client.
Both unicast and multicast UDP sources are created in one
function.

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

8 years agortsp-stream: postpone the creation of the UDP sources
Patricia Muscalu [Wed, 13 Jan 2016 10:29:35 +0000 (11:29 +0100)]
rtsp-stream: postpone the creation of the UDP sources

Code refactoring: allocate the UDP ports after the sender and
the reciver parts have been created.
We postpone the creation of the UDP sources until the UDP
ports have been allocated.

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

8 years agortsp-stream: added function for setting UDP sources to PLAYING state
Patricia Muscalu [Wed, 13 Jan 2016 09:55:40 +0000 (10:55 +0100)]
rtsp-stream: added function for setting UDP sources to PLAYING state

Code refactoring: Introduced a function for setting UDP sources
to PLAYING state.

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

8 years agortsp-stream: added function for creating and configuring UDP sources
Patricia Muscalu [Fri, 20 Nov 2015 14:34:43 +0000 (15:34 +0100)]
rtsp-stream: added function for creating and configuring UDP sources

Code refactoring: create and configure UDP sources in a separate function.

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

8 years agortsp-stream: added function for RTP/RTCP socket configuration
Patricia Muscalu [Fri, 20 Nov 2015 13:43:38 +0000 (14:43 +0100)]
rtsp-stream: added function for RTP/RTCP socket configuration

Code refactoring: configure RTP and RTCP sockets for UDP sinks
in a separate function.

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

8 years agortsp-stream: added function for creating and configuring UDP sinks
Patricia Muscalu [Fri, 20 Nov 2015 07:38:42 +0000 (08:38 +0100)]
rtsp-stream: added function for creating and configuring UDP sinks

Code refactoring: create and configure UDP sinks in a separate function.

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

8 years agortsp-stream: added helper function for creating the sender/receiver parts
Patricia Muscalu [Thu, 19 Nov 2015 13:09:25 +0000 (14:09 +0100)]
rtsp-stream: added helper function for creating the sender/receiver parts

Code refactoring: introduced helper function for creating
the receiver and the sender parts of the streaming pipeline.

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

8 years agoBack to development
Sebastian Dröge [Fri, 19 Feb 2016 10:38:42 +0000 (12:38 +0200)]
Back to development

8 years agoRelease 1.7.2
Sebastian Dröge [Fri, 19 Feb 2016 10:03:18 +0000 (12:03 +0200)]
Release 1.7.2

8 years agouninstalled.pc: add support for non libtool build systems
Julien Isorce [Thu, 18 Feb 2016 15:20:05 +0000 (15:20 +0000)]
uninstalled.pc: add support for non libtool build systems

Currently the .la path is provided which requires to use libtool as
mentioned in the GStreamer manual section-helloworld-compilerun.html.
It is fine as long as the application is built using libtool.

So currently it is not possible to compile a GStreamer application
within gst-uninstalled with CMake or other build system different
than autotools.

This patch allows to do the following in gst-uninstalled env:
gcc test.c -o test $(pkg-config --cflags --libs gstreamer-1.0 \
  gstreamer-rtsp-server-1.0)
Previously it required to prepend libtool --mode=link

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

8 years agortspclientsink: remove check for impossible condition
Luis de Bethencourt [Tue, 9 Feb 2016 10:34:22 +0000 (10:34 +0000)]
rtspclientsink: remove check for impossible condition

Goto error label checks stream to see if it needs to be unreferenced before
returning, but this goto jumps happens before the stream is ever set, so it
will always be NULL in this error label.

CID #1352034

8 years agortspclientsink: clean switch statements
Luis de Bethencourt [Mon, 8 Feb 2016 23:33:03 +0000 (23:33 +0000)]
rtspclientsink: clean switch statements

Coverity demands for fallthrough statements to be clearly commented,
to distinguish from accidental fall throughs. And it also needs all
cases to finish with a break, even if the break is never going to be
executed like in the case of a continue jump.

CID #1352039
CID #1352040

8 years agotests: extend the AM_TESTS_ENVIRONMENT from check.mak
Thiago Santos [Fri, 5 Feb 2016 23:03:01 +0000 (20:03 -0300)]
tests: extend the AM_TESTS_ENVIRONMENT from check.mak

To get the CK_DEFAULT_TIMEOUT defined for all tests

Also removes a 120 seconds timeout that was set as default
explicitly in this module

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

8 years agoAutomatic update of common submodule
Thiago Santos [Fri, 5 Feb 2016 21:11:41 +0000 (18:11 -0300)]
Automatic update of common submodule

From 86e4663 to b64f03f

8 years agortsp-media: fix state_lock not locked again when preroll fails
Steven Hoving [Tue, 2 Feb 2016 08:01:51 +0000 (09:01 +0100)]
rtsp-media: fix state_lock not locked again when preroll fails

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

8 years agoconfigure: Move plugin specific flags below all the others
Sebastian Dröge [Thu, 28 Jan 2016 21:05:56 +0000 (22:05 +0100)]
configure: Move plugin specific flags below all the others

They use some of the other flags, like $GST_ALL_LDFLAGS which is adding
-no-undefined. And -no-undefined is required on Windows to build DLLs.

8 years agortspclientsink: Simplify slightly using new -base API
Jan Schmidt [Wed, 27 Jan 2016 17:58:00 +0000 (04:58 +1100)]
rtspclientsink: Simplify slightly using new -base API

Use the new Mikey and SDP API in the base plugins libs
to simplify some code.

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

8 years agortspsink: Add rtspclientsink element
Jan Schmidt [Mon, 16 Nov 2015 14:12:28 +0000 (01:12 +1100)]
rtspsink: Add rtspclientsink element

Add an rtspclientsink element that accepts streams for which
there is a registered payloader and sends them to
an RTSP server using RECORD.

Sending is synchronised to the pipeline clock. Payload-types
are automatically selected. The 'new-payloader' signal is fired
for custom configuration of payloaders when they are created.

Can now stream a movie like this:

receiver:
  ./test-record "( decodebin name=depay0 ! videoconvert ! autovideosink \
       decodebin name=depay1 ! audioconvert ! autoaudiosink )"
sender:
  gst-launch-1.0 filesrc location=file-with-aac-and-h264.mp4 ! qtdemux name=d ! \
       queue ! aacparse ! rtspclientsink location=rtsp://127.0.0.1:8554/test name=s \

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

8 years agortsp-stream: Add functions for using rtsp-stream from the client
Jan Schmidt [Mon, 16 Nov 2015 14:12:28 +0000 (01:12 +1100)]
rtsp-stream: Add functions for using rtsp-stream from the client

Add a boolean to indicate that the rtsp-stream is running on the
'client' side of an RTSP connection, for sending streams via
RECORD. In that case, the roles of the client/server ports
in transport setup are swapped.

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

8 years agortsp-sdp: Add gst_rtsp_sdp_from_stream()
Jan Schmidt [Mon, 16 Nov 2015 14:12:28 +0000 (01:12 +1100)]
rtsp-sdp: Add gst_rtsp_sdp_from_stream()

A new function that adds info from a GstRTSPStream into an SDP message.

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

8 years agortsp-media: Fix mutex beeing unlocked while they should be locked
Steven Hoving [Thu, 28 Jan 2016 08:22:18 +0000 (09:22 +0100)]
rtsp-media: Fix mutex beeing unlocked while they should be locked

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

8 years agortsp-media-factory: add missing break in "clock" property setter
Tim-Philipp Müller [Fri, 15 Jan 2016 07:01:37 +0000 (07:01 +0000)]
rtsp-media-factory: add missing break in "clock" property setter

CID 1348453

8 years agortsp-stream: fixed assert during update transport
Srimanta Panda [Tue, 5 Jan 2016 12:10:36 +0000 (13:10 +0100)]
rtsp-stream: fixed assert during update transport

When RTSP server trying update transport during multicast, it throws an
assert. The assert is thrown because it is trying to get the parent of
an non-existing funnel element.

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

8 years agodocs: remove dummy function declarations with G_INLINE_FUNC for gtk-doc
Tim-Philipp Müller [Sun, 3 Jan 2016 17:26:31 +0000 (17:26 +0000)]
docs: remove dummy function declarations with G_INLINE_FUNC for gtk-doc

gtk-doc can handle static inline functions just fine these days,
there's no need for this stuff any more.

8 years agosdp: replace duplicated codes to call new base sdp apis
Hyunjun Ko [Wed, 7 Oct 2015 09:53:01 +0000 (18:53 +0900)]
sdp: replace duplicated codes to call new base sdp apis

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

8 years agotest-netclock: Use the new API to configure a clock directly
Sebastian Dröge [Wed, 30 Dec 2015 14:34:30 +0000 (16:34 +0200)]
test-netclock: Use the new API to configure a clock directly

8 years agortsp-media: Add API to directly configure a clock on the media pipelines
Sebastian Dröge [Wed, 30 Dec 2015 14:31:13 +0000 (16:31 +0200)]
rtsp-media: Add API to directly configure a clock on the media pipelines

8 years agortsp-media: Fix typo in docs gst_rtsp_media_set_latncy() -> latency()
Sebastian Dröge [Wed, 30 Dec 2015 14:43:17 +0000 (16:43 +0200)]
rtsp-media: Fix typo in docs gst_rtsp_media_set_latncy() -> latency()

8 years agortsp-media-factory: Add FIXME for 2.0
Sebastian Dröge [Wed, 30 Dec 2015 14:30:38 +0000 (16:30 +0200)]
rtsp-media-factory: Add FIXME for 2.0

8 years agortsp-stream: Fix indentation
Sebastian Dröge [Wed, 30 Dec 2015 14:29:45 +0000 (16:29 +0200)]
rtsp-stream: Fix indentation

8 years agortsp-media: Do not prepare media after media times out
Sebastian Rasmussen [Tue, 22 Dec 2015 11:08:02 +0000 (12:08 +0100)]
rtsp-media: Do not prepare media after media times out

Deferred calls to start_prepare() can be deferred past the point until
which wait_preroll() and by proxy gst_rtsp_media_get_status() is
prepared to wait. Previously there was no lock and no check for this
situation. This meant that a media could be prepared and unprepared
simultaneously by two different threads. Now a lock is in place and a
suitable check is done.

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

8 years agortsp-media: Add property to decide if sending media should be stopped when a client...
Sebastian Dröge [Wed, 9 Dec 2015 16:24:24 +0000 (18:24 +0200)]
rtsp-media: Add property to decide if sending media should be stopped when a client disconnects without TEARDOWN

Without TEARDOWN it might be desireable to keep the media running and continue
sending data to the client, even if the RTSP connection itself is
disconnected.

Only do this for session medias that have only UDP transports. If there's at
least on TCP transport, it will stop working and cause problems when the
connection is disconnected.

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

8 years agoBack to development
Sebastian Dröge [Thu, 24 Dec 2015 14:29:33 +0000 (15:29 +0100)]
Back to development

8 years agoRelease 1.7.1
Sebastian Dröge [Thu, 24 Dec 2015 13:54:06 +0000 (14:54 +0100)]
Release 1.7.1

8 years agoconfigure: Make -Bsymbolic check work with clang.
Koop Mast [Sun, 20 Dec 2015 23:43:49 +0000 (00:43 +0100)]
configure: Make -Bsymbolic check work with clang.

Update the -Bsymbolic check with the version glib has. This version
works with clang.

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

8 years agortsp-session-pool: Avoid dollar sign ($) in session ids
Olivier Crête [Wed, 18 Nov 2015 03:30:54 +0000 (22:30 -0500)]
rtsp-session-pool: Avoid dollar sign ($) in session ids

Live555 in VLC strips off dollar signs and then gets very confused,
we don't loose too much entropy by just skipping it.

8 years agortsp-server: Add g_autoptr() support to all types
Xavier Claessens [Tue, 10 Nov 2015 19:17:18 +0000 (14:17 -0500)]
rtsp-server: Add g_autoptr() support to all types

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

8 years agortsp-stream: fixed valgrind error
Srimanta Panda [Tue, 8 Dec 2015 07:27:20 +0000 (08:27 +0100)]
rtsp-stream: fixed valgrind error

Fixed the valgrind error in unit test. The UDP source created during
gst_rtsp_stream_join_bin() was not released while destroying the rtp
bin.

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

8 years agoAutomatic update of common submodule
Nicolas Dufresne [Mon, 7 Dec 2015 14:11:35 +0000 (09:11 -0500)]
Automatic update of common submodule

From b319909 to 86e4663

8 years agortsp-client: suspend media during setup request
Srimanta Panda [Wed, 18 Nov 2015 10:14:39 +0000 (11:14 +0100)]
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

8 years agortsp-stream: create stream pipeline based on transport
Srimanta Panda [Fri, 4 Dec 2015 07:01:37 +0000 (08:01 +0100)]
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

8 years agortsp-stream: Only create RTP sending/receiving rtpbin pads if needed
Sebastian Dröge [Thu, 19 Nov 2015 13:01:16 +0000 (15:01 +0200)]
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

9 years agortsp-stream: Disable multicast loopback for the multicast udp sources too
Sebastian Dröge [Tue, 17 Nov 2015 10:44:38 +0000 (12:44 +0200)]
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.

9 years agoexamples: Actually use the provided port in the record examples
Jan Schmidt [Mon, 16 Nov 2015 14:12:28 +0000 (01:12 +1100)]
examples: Actually use the provided port in the record examples

9 years agotest-record-auth: Add the option to build in TLS support
Jan Schmidt [Mon, 16 Nov 2015 14:12:28 +0000 (01:12 +1100)]
test-record-auth: Add the option to build in TLS support

9 years agotest-auth: Use an 'anonymous' user for unauthenticated default
Jan Schmidt [Mon, 16 Nov 2015 14:12:28 +0000 (01:12 +1100)]
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.

9 years agoAdd test-record-auth example
Jan Schmidt [Mon, 16 Nov 2015 14:12:28 +0000 (01:12 +1100)]
Add test-record-auth example

9 years agortsp-client: Report RECORD and ANNOUNCE as supported in the OPTIONS
Jan Schmidt [Mon, 16 Nov 2015 14:12:28 +0000 (01:12 +1100)]
rtsp-client: Report RECORD and ANNOUNCE as supported in the OPTIONS

9 years agortsp-server: Change the logic so we don't pop a NULL context
Marcus Prebble [Wed, 11 Nov 2015 13:58:33 +0000 (14:58 +0100)]
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

9 years agortspserver: Add udp-mcast transport SETUP test
David Svensson Fors [Thu, 22 Oct 2015 12:32:30 +0000 (14:32 +0200)]
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

9 years agortsp-stream: Always unref return value of gst_object_get_parent()
David Svensson Fors [Thu, 22 Oct 2015 07:15:21 +0000 (09:15 +0200)]
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

9 years agoAutomatic update of common submodule
Tim-Philipp Müller [Wed, 21 Oct 2015 13:37:19 +0000 (14:37 +0100)]
Automatic update of common submodule

From b99800a to b319909

9 years agoUse new GST_ENABLE_EXTRA_CHECKS #define
Sebastian Dröge [Tue, 20 Oct 2015 14:29:42 +0000 (17:29 +0300)]
Use new GST_ENABLE_EXTRA_CHECKS #define

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

9 years agoAutomatic update of common submodule
Sebastian Dröge [Wed, 21 Oct 2015 11:28:47 +0000 (14:28 +0300)]
Automatic update of common submodule

From 6babecd to b99800a

9 years agoUpdate GLib dependency to 2.40.0
Sebastian Dröge [Fri, 2 Oct 2015 19:25:47 +0000 (22:25 +0300)]
Update GLib dependency to 2.40.0

9 years agostream: listen to sender ssrc signals
Hyunjun Ko [Fri, 2 Oct 2015 07:11:05 +0000 (16:11 +0900)]
stream: listen to sender ssrc signals

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

9 years agocommon: update for new suppression
Tim-Philipp Müller [Tue, 29 Sep 2015 12:00:51 +0000 (13:00 +0100)]
common: update for new suppression

Makes check-valgrind pass with glib 2.46

9 years agortsp-media: Take reference to media that will be prepared
Sebastian Rasmussen [Mon, 28 Sep 2015 15:40:59 +0000 (17:40 +0200)]
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

9 years agortsp-server: Fix memory leaks when context parse fails
Vineeth TM [Thu, 20 Aug 2015 08:01:24 +0000 (17:01 +0900)]
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

9 years agoBack to development
Sebastian Dröge [Fri, 25 Sep 2015 21:51:17 +0000 (23:51 +0200)]
Back to development

9 years agoRelease 1.6.0
Sebastian Dröge [Fri, 25 Sep 2015 21:32:52 +0000 (23:32 +0200)]
Release 1.6.0

9 years agoRelease 1.5.91
Sebastian Dröge [Fri, 18 Sep 2015 18:12:06 +0000 (20:12 +0200)]
Release 1.5.91

9 years agostream: fix docs for recently-added get/set_buffer_size API
Tim-Philipp Müller [Thu, 17 Sep 2015 19:07:34 +0000 (20:07 +0100)]
stream: fix docs for recently-added get/set_buffer_size API

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

9 years agortsp-media: Don't crash on encrypted RTX SDP
Jan Schmidt [Fri, 4 Sep 2015 01:23:43 +0000 (11:23 +1000)]
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

9 years agotest-mp4: Support filenames with spaces in them. Error out on too few arguments
Jan Schmidt [Sat, 22 Aug 2015 10:59:40 +0000 (20:59 +1000)]
test-mp4: Support filenames with spaces in them. Error out on too few arguments

9 years agotest-record: Check parameter count and print out help
Jan Schmidt [Sun, 16 Aug 2015 16:36:31 +0000 (02:36 +1000)]
test-record: Check parameter count and print out help

If no launch pipeline was supplied, print out some help

9 years agortsp-stream: Implement UDP buffer size setting.
Jan Schmidt [Mon, 31 Aug 2015 12:48:34 +0000 (22:48 +1000)]
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

9 years agortsp-media: Fix small typo causing gtk-doc to complain
Jan Schmidt [Mon, 31 Aug 2015 12:47:45 +0000 (22:47 +1000)]
rtsp-media: Fix small typo causing gtk-doc to complain

9 years agoRelease 1.5.90
Sebastian Dröge [Wed, 19 Aug 2015 11:15:23 +0000 (14:15 +0300)]
Release 1.5.90

9 years agomedia-factory: get port number through gst_rtsp_url_get_port
Hyunjun Ko [Wed, 12 Aug 2015 05:33:44 +0000 (14:33 +0900)]
media-factory: get port number through gst_rtsp_url_get_port

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

9 years agomedia-test: Removing unnecessary assertion
Francisco Velazquez [Thu, 13 Aug 2015 09:24:10 +0000 (11:24 +0200)]
media-test: Removing unnecessary assertion

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

9 years agoDocument that source keeps a ref on server until it's destroyed
Xavier Claessens [Thu, 23 Jul 2015 18:50:30 +0000 (14:50 -0400)]
Document that source keeps a ref on server until it's destroyed

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