platform/upstream/gstreamer.git
9 years agortsp-media: assertion error due to wrong condition check
Vineeth TM [Thu, 30 Jul 2015 06:32:43 +0000 (15:32 +0900)]
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

9 years agortsp-media: Strip keys from the fmtp that we use internally in our caps
Sebastian Dröge [Wed, 29 Jul 2015 10:27:05 +0000 (11:27 +0100)]
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

9 years agothreadpool: Fix possible warning in gst_rtsp_thread_pool_cleanup()
Xavier Claessens [Mon, 20 Jul 2015 20:37:44 +0000 (16:37 -0400)]
threadpool: Fix possible warning in gst_rtsp_thread_pool_cleanup()

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

9 years agoAutomatic update of common submodule
Stefan Sauer [Fri, 3 Jul 2015 20:00:00 +0000 (22:00 +0200)]
Automatic update of common submodule

From f74b2df to 9aed1d7

9 years agoBack to development
Sebastian Dröge [Wed, 24 Jun 2015 22:04:28 +0000 (00:04 +0200)]
Back to development

9 years agoRelease 1.5.2
Sebastian Dröge [Wed, 24 Jun 2015 21:44:37 +0000 (23:44 +0200)]
Release 1.5.2

9 years agortsp-client: allow application to decide what requirements are supported
Ognyan Tonchev [Thu, 18 Jun 2015 11:12:04 +0000 (13:12 +0200)]
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

9 years agoAutomatic update of common submodule
Nicolas Dufresne [Tue, 16 Jun 2015 21:50:26 +0000 (17:50 -0400)]
Automatic update of common submodule

From 6015d26 to f74b2df

9 years agortsp-media: Always use real payloader when creating streams
Ognyan Tonchev [Thu, 11 Jun 2015 15:39:00 +0000 (17:39 +0200)]
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

9 years agotest-netclock: Use gst_pipeline_set_latency() to set a high-enough, equal latency...
Sebastian Dröge [Sat, 13 Jun 2015 15:14:43 +0000 (17:14 +0200)]
test-netclock: Use gst_pipeline_set_latency() to set a high-enough, equal latency for all receivers

9 years agotest-netclock: Use new ntp-time-source property on rtpbin
Sebastian Dröge [Fri, 12 Jun 2015 21:35:32 +0000 (23:35 +0200)]
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.

9 years agotest-netclock: Setting the same base time on sender and receiver is not necessary
Sebastian Dröge [Thu, 11 Jun 2015 18:41:31 +0000 (20:41 +0200)]
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

9 years agortsp-stream: add description for gst_rtsp_stream_request_aux_sender
Hyunjun Ko [Thu, 11 Jun 2015 08:38:52 +0000 (17:38 +0900)]
rtsp-stream: add description for gst_rtsp_stream_request_aux_sender

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

9 years agodocs: add missing types
Hyunjun Ko [Thu, 11 Jun 2015 09:10:12 +0000 (18:10 +0900)]
docs: add missing types

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

9 years agodocs: add missing apis
Hyunjun Ko [Thu, 11 Jun 2015 08:37:25 +0000 (17:37 +0900)]
docs: add missing apis

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

9 years agotest-netclock-client: Use ntp-sync=TRUE and buffer-mode=SYNC for proper synchronization
Sebastian Dröge [Wed, 10 Jun 2015 15:14:18 +0000 (17:14 +0200)]
test-netclock-client: Use ntp-sync=TRUE and buffer-mode=SYNC for proper synchronization

9 years agoGstRTSPAuth: Add client certificate authentication support
Xavier Claessens [Sat, 6 Jun 2015 02:35:39 +0000 (22:35 -0400)]
GstRTSPAuth: Add client certificate authentication support

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

9 years agotest-netclock-client: Use new GstClock API to wait for clock synchronization
Sebastian Dröge [Tue, 9 Jun 2015 11:53:47 +0000 (13:53 +0200)]
test-netclock-client: Use new GstClock API to wait for clock synchronization

9 years agotest-netclock-client: Use a GMainLoop and playbin's source-setup signal
Sebastian Dröge [Tue, 9 Jun 2015 11:51:02 +0000 (13:51 +0200)]
test-netclock-client: Use a GMainLoop and playbin's source-setup signal

A mainloop is needed to get glimagesink to display something on OSX, and
the source-setup signal just makes things a little bit easier.

9 years agoAutomatic update of common submodule
Edward Hervey [Tue, 9 Jun 2015 09:30:54 +0000 (11:30 +0200)]
Automatic update of common submodule

From d9a3353 to 6015d26

9 years agoAutomatic update of common submodule
Stefan Sauer [Mon, 8 Jun 2015 21:08:34 +0000 (23:08 +0200)]
Automatic update of common submodule

From d37af32 to d9a3353

9 years agoAutomatic update of common submodule
Stefan Sauer [Sun, 7 Jun 2015 21:07:31 +0000 (23:07 +0200)]
Automatic update of common submodule

From 21ba2e5 to d37af32

9 years agoAutomatic update of common submodule
Stefan Sauer [Sun, 7 Jun 2015 15:32:29 +0000 (17:32 +0200)]
Automatic update of common submodule

From c408583 to 21ba2e5

9 years agodocs: remove variables that we define in the snippet from common
Stefan Sauer [Sun, 7 Jun 2015 15:06:40 +0000 (17:06 +0200)]
docs: remove variables that we define in the snippet from common

This is syncing our Makefile.am with upstream gtkdoc.

9 years agoAutomatic update of common submodule
Stefan Sauer [Sun, 7 Jun 2015 15:16:47 +0000 (17:16 +0200)]
Automatic update of common submodule

From 44a3517 to c408583

9 years agoBack to development
Sebastian Dröge [Sun, 7 Jun 2015 14:44:55 +0000 (16:44 +0200)]
Back to development

9 years agoRelease 1.5.1
Sebastian Dröge [Sun, 7 Jun 2015 09:20:01 +0000 (11:20 +0200)]
Release 1.5.1

9 years agortsp-client: No flush during Teardown.
Göran Jönsson [Mon, 25 May 2015 14:36:18 +0000 (16:36 +0200)]
rtsp-client: No flush during Teardown.

When calling gst_rtsp_watch_write_data in gstrtspconnection.c and
backlog is empty it can happen that just a part of a message will be
sent and rest is in backlog queue. If then flush during teardown
just a part of message will be sent.This can lead to client miss
teardown response since it expect to get the last part of message.

The flushing during teardown was introduced to fix a deadlock that now
is fixed more generally in handle_request by temporary  setting backlog
size to unlimited.

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

9 years agotests: Use AM_TESTS_ENVIRONMENT
Tim-Philipp Müller [Wed, 27 May 2015 16:04:41 +0000 (17:04 +0100)]
tests: Use AM_TESTS_ENVIRONMENT

Needed by the new automake test runner and the
current version of the common submodule.

9 years agortsp-server: Use single-include rtsp header to make sure we get all definitions
Sebastian Dröge [Wed, 20 May 2015 14:05:47 +0000 (17:05 +0300)]
rtsp-server: Use single-include rtsp header to make sure we get all definitions

9 years agortsp-media: Mark some more functions static
Sebastian Dröge [Tue, 5 May 2015 14:46:57 +0000 (16:46 +0200)]
rtsp-media: Mark some more functions static

9 years agortsp-media: Only unblock the media in suspend() when actually changing the state
Sebastian Dröge [Tue, 5 May 2015 14:46:19 +0000 (16:46 +0200)]
rtsp-media: Only unblock the media in suspend() when actually changing the state

Otherwise we're going to lose a few packets for live streams during DESCRIBE.

9 years agoexamples: Use AVPF profile for the RTX example
Sebastian Dröge [Mon, 4 May 2015 14:33:08 +0000 (16:33 +0200)]
examples: Use AVPF profile for the RTX example

9 years agortsp-sdp: Only add RTX to the SDP when using a feedback profile
Sebastian Dröge [Mon, 4 May 2015 14:31:20 +0000 (16:31 +0200)]
rtsp-sdp: Only add RTX to the SDP when using a feedback profile

9 years agortsp-stream: get valid clock-rate from last-sample
Hyunjun Ko [Mon, 27 Apr 2015 10:35:53 +0000 (19:35 +0900)]
rtsp-stream: get valid clock-rate from last-sample

clock-rate in last-sample's caps is integer, not unsigned.
To get this value properly, variable needs to be type-casted to int.

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

9 years agoautogen.sh: only run autopoint if gettext requested in configure.ac
Tim-Philipp Müller [Sun, 26 Apr 2015 14:00:05 +0000 (15:00 +0100)]
autogen.sh: only run autopoint if gettext requested in configure.ac

Not just because there happens to be a po directory.

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

9 years agoRevert "configure.ac: uncomment gettext version setup"
Tim-Philipp Müller [Sun, 26 Apr 2015 13:58:49 +0000 (14:58 +0100)]
Revert "configure.ac: uncomment gettext version setup"

This reverts commit 1545d8fef7065081079172ec264a0061039ac075.

We don't need a gettext setup here and there's no po
directory either, so no reason why autopoint would be
run in the first place.

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

9 years agoFix timeout function signatures across tests and examples
Alistair Buxton [Thu, 23 Apr 2015 17:53:08 +0000 (18:53 +0100)]
Fix timeout function signatures across tests and examples

9 years agotests: define GST_CHECK_TEST_ENVIRONMENT_BEACON
Tim-Philipp Müller [Thu, 23 Apr 2015 16:27:40 +0000 (17:27 +0100)]
tests: define GST_CHECK_TEST_ENVIRONMENT_BEACON

Make sure the test environment is set up.

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

9 years agoconfigure: bump automake requirement to 1.14 and autoconf to 2.69
Tim-Philipp Müller [Thu, 23 Apr 2015 16:22:59 +0000 (17:22 +0100)]
configure: bump automake requirement to 1.14 and autoconf to 2.69

This is only required for builds from git, people can still
build tarballs if they only have older autotools.

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

9 years agoconfigure.ac: uncomment gettext version setup
Vincent Penquerc'h [Mon, 20 Apr 2015 07:49:57 +0000 (08:49 +0100)]
configure.ac: uncomment gettext version setup

Fixes autogen.sh. It would run autopoint, which would complain
that it could not find the gettext version in configure.ac.

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

9 years agotest-video-rtx: set exact payload type to PCMA payloader
Hyunjun Ko [Wed, 15 Apr 2015 01:06:30 +0000 (10:06 +0900)]
test-video-rtx: set exact payload type to PCMA payloader

Setting wrong payload type causes failure to do retransmission through audio stream

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

9 years agortsp-stream: fix to get valid each stream data for request-aux-sender signal
Hyunjun Ko [Wed, 15 Apr 2015 00:45:23 +0000 (09:45 +0900)]
rtsp-stream: fix to get valid each stream data for request-aux-sender signal

Because of duplicated g_signal_connect for request-aux-sender signal,
wrong stream pointer is passed to the signal handler.
Instead of passing each stream, pass stream array and get the relevant stream.

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

9 years agoUpdate autogen.sh to latest version from common
Tim-Philipp Müller [Mon, 6 Apr 2015 09:32:52 +0000 (10:32 +0100)]
Update autogen.sh to latest version from common

Fixes build after aclocal_check etc. helpers have been removed.

9 years agoAutomatic update of common submodule
Tim-Philipp Müller [Fri, 3 Apr 2015 17:58:26 +0000 (18:58 +0100)]
Automatic update of common submodule

From bc76a8b to c8fb372

9 years agortsp-stream: Limit the queues to 1 buffer
Sebastian Dröge [Mon, 23 Mar 2015 20:03:20 +0000 (21:03 +0100)]
rtsp-stream: Limit the queues to 1 buffer

We only need them to be able to pre-roll, queueing up more data here
is only going to harm latency and memory usage.

9 years agortsp-stream: Update comment and ASCII art to the latest code
Sebastian Dröge [Mon, 23 Mar 2015 19:59:52 +0000 (20:59 +0100)]
rtsp-stream: Update comment and ASCII art to the latest code

We have a queue in front of the udpsink too to prevent the pipeline from
locking up.

9 years agortsp-media: Properly return first rtptime
Nicolas Dufresne [Sat, 21 Mar 2015 15:04:05 +0000 (11:04 -0400)]
rtsp-media: Properly return first rtptime

Instead we where returning first GstBuffer timestamp. This would result
in clock skew and unwanted behaviour in RTSP playback.

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

9 years agortsp-stream: Don't leave buffer mapped
Nicolas Dufresne [Wed, 18 Mar 2015 20:44:19 +0000 (16:44 -0400)]
rtsp-stream: Don't leave buffer mapped

If the seq is NULL, the RTP buffer was left mapped. We should always
unmap the buffer.

9 years agoFix typo in README
Sebastian Dröge [Sun, 15 Mar 2015 12:27:39 +0000 (12:27 +0000)]
Fix typo in README

9 years agoFix double semicolons
Tim-Philipp Müller [Tue, 10 Mar 2015 09:39:22 +0000 (09:39 +0000)]
Fix double semicolons

9 years agortsp-stream: Get the seqnum-base and other information from the last buffer in the...
Sebastian Dröge [Mon, 9 Mar 2015 15:00:07 +0000 (16:00 +0100)]
rtsp-stream: Get the seqnum-base and other information from the last buffer in the sink

This gives more accurate values than asking the payloader. There might be
queueing happening between the payloader and the sink.

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

9 years agortsp-media: Don't seek for PLAY if the position will not change
Sebastian Dröge [Mon, 9 Mar 2015 12:00:25 +0000 (13:00 +0100)]
rtsp-media: Don't seek for PLAY if the position will not change

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

9 years agortsp-media: Don't include payload type in the caps for framesize
Sebastian Dröge [Mon, 9 Mar 2015 09:21:49 +0000 (10:21 +0100)]
rtsp-media: Don't include payload type in the caps for framesize

When the sdp media attribute framesize are converted to caps
the <payload> should not be included.

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

Based on the patch for rtspsrc by Linus Svensson <linussn@axis.com>

9 years agortsp-sdp: add payload type to the sdp framesize attribute
Linus Svensson [Wed, 26 Feb 2014 21:34:06 +0000 (22:34 +0100)]
rtsp-sdp: add payload type to the sdp framesize attribute

The sdp framesize attribute is desribed in RFC6064. It is specified
for payloading of H263 and has the following form
a=framesize:<payload type> <width>-<height>. The <width>-<height> part
should be added to the caps in a payloader and the <payload type> should
be added by the rtsp-server.

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

9 years agoexamples: test-uri: fix tainted variable
Luis de Bethencourt [Tue, 3 Mar 2015 13:51:01 +0000 (13:51 +0000)]
examples: test-uri: fix tainted variable

Insignificant but this keeps Coverity happy.

CID #1268404

9 years agoexamples: Add a simple example of network synch for live streams.
Jan Schmidt [Mon, 2 Mar 2015 14:49:42 +0000 (01:49 +1100)]
examples: Add a simple example of network synch for live streams.

An example server and client that works for synchronising live streams
only - as it can't support pause/play.

9 years agortsp-media-factory: Add functions to set/get the media gtype
Jan Schmidt [Mon, 2 Mar 2015 14:49:42 +0000 (01:49 +1100)]
rtsp-media-factory: Add functions to set/get the media gtype

Allow specifying the GType of a GstRtspMedia subclass to create
as a simpler way to get the factory to create a custom
GstRtspMedia sub-class, without subclassing GstRtspMediaFactory.

9 years agortsp-media: fix double unlock in _get_buffer_size()
Gregor Boirie [Fri, 27 Feb 2015 16:45:42 +0000 (17:45 +0100)]
rtsp-media: fix double unlock in _get_buffer_size()

Fixes an abort when calling gst_rtsp_media_get_buffer_size()
because of double g_mutex_unlock () usage.

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

9 years agortsp-session: Use monotonic time for RTSP session timeout
Kent-Inge Ingesson [Thu, 19 Feb 2015 08:43:16 +0000 (10:43 +0200)]
rtsp-session: Use monotonic time for RTSP session timeout

Changed RTSP session timeout handling to monotonic time
and deprecating the API for current system time.

This fixes timeouts when the system time changes.

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

9 years agortsp-client: Only error out in PLAY if seeking actually failed
Sebastian Dröge [Fri, 13 Feb 2015 10:21:16 +0000 (12:21 +0200)]
rtsp-client: Only error out in PLAY if seeking actually failed

If the media was just not seekable, we continue from whatever position we are
and let the client decide if that is what is wanted or not.

Only if the actual seek failed, we can't really recover and should error out.

9 years agortsp-stream: Add necessary queues between tee and multiudpsink
Andreas Frisch [Thu, 12 Feb 2015 09:46:28 +0000 (10:46 +0100)]
rtsp-stream: Add necessary queues between tee and multiudpsink

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

9 years agortsp-media: If seeking fails, don't wait forever for the media to preroll again
Sebastian Dröge [Thu, 12 Feb 2015 14:48:46 +0000 (16:48 +0200)]
rtsp-media: If seeking fails, don't wait forever for the media to preroll again

Instead error out properly the same way as if the SEEKING query already
failed.

9 years agortsp-stream: minor code formatting fix
Tim-Philipp Müller [Wed, 11 Feb 2015 17:24:38 +0000 (17:24 +0000)]
rtsp-stream: minor code formatting fix

9 years agortsp-media: fix logic for collect_streams
Luis de Bethencourt [Tue, 10 Feb 2015 16:39:58 +0000 (16:39 +0000)]
rtsp-media: fix logic for collect_streams

Fix the logic of gst_rtsp_media_collect_streams() so after looping collecting
all streams it knows if it got any, and can check if the transport mode is OK.

CID #1268400

9 years agortsp-media: Don't set the transport mode based on what elements we find
Sebastian Dröge [Mon, 9 Feb 2015 09:21:50 +0000 (10:21 +0100)]
rtsp-media: Don't set the transport mode based on what elements we find

Just print a warning if the one that was set before disagrees with what
elements we found. It must already be set to something before as this
function is called after we received the SDP from ANNOUNCE in RECORD mode,
and we would reject ANNOUNCE if the RECORD flag was not set.

9 years agotests: rtspserver: rename shadowed variable
Tim-Philipp Müller [Sun, 8 Feb 2015 18:05:50 +0000 (18:05 +0000)]
tests: rtspserver: rename shadowed variable

We have two different 'sink' variables here,
rename one of them for clarity.

9 years agortsp-client: fix awkward if clause
Tim-Philipp Müller [Sun, 8 Feb 2015 12:08:36 +0000 (12:08 +0000)]
rtsp-client: fix awkward if clause

9 years agoexamples: test-uri: improve uri argument handling and accept file names
Tim-Philipp Müller [Fri, 6 Feb 2015 19:34:17 +0000 (19:34 +0000)]
examples: test-uri: improve uri argument handling and accept file names

Print an error if the argument passed is not a URI and can't
be converted into one, or no arguments have been provided.

9 years agoexamples: test-uri: don't remove mount point after 10 seconds
Tim-Philipp Müller [Fri, 6 Feb 2015 19:15:40 +0000 (19:15 +0000)]
examples: test-uri: don't remove mount point after 10 seconds

It's very irritating when trying to test stuff repeatedly
and serves no real purpose other than showing that it can
be done.

9 years agoexamples: add new test-record to .gitignore
Tim-Philipp Müller [Wed, 21 Jan 2015 17:32:21 +0000 (17:32 +0000)]
examples: add new test-record to .gitignore

9 years agortsp-media: Use flags to distinguish between PLAY and RECORD media
Sebastian Dröge [Wed, 28 Jan 2015 17:54:01 +0000 (18:54 +0100)]
rtsp-media: Use flags to distinguish between PLAY and RECORD media

9 years agotest-record: Set latency for playback-style example to 2s instead of 200ms
Sebastian Dröge [Wed, 28 Jan 2015 16:49:16 +0000 (17:49 +0100)]
test-record: Set latency for playback-style example to 2s instead of 200ms

9 years agotests: add some unit tests for ANNOUNCE and RECORD
Tim-Philipp Müller [Wed, 21 Jan 2015 17:27:56 +0000 (17:27 +0000)]
tests: add some unit tests for ANNOUNCE and RECORD

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

9 years agortsp-client: fix a couple of leaks in handle_announce
Tim-Philipp Müller [Wed, 21 Jan 2015 16:32:44 +0000 (16:32 +0000)]
rtsp-client: fix a couple of leaks in handle_announce

9 years agortsp-media: Expose latency setting for setting the rtpbin latency
Sebastian Dröge [Mon, 19 Jan 2015 12:20:39 +0000 (13:20 +0100)]
rtsp-media: Expose latency setting for setting the rtpbin latency

9 years agotest-record: Use GOptionContext to parse the server port and take the pipeline from...
Sebastian Dröge [Sat, 17 Jan 2015 09:28:13 +0000 (10:28 +0100)]
test-record: Use GOptionContext to parse the server port and take the pipeline from the commandline

9 years agortsp-stream: Put the timestamp of receival of the initial packet over TCP on the...
Sebastian Dröge [Fri, 16 Jan 2015 19:48:42 +0000 (20:48 +0100)]
rtsp-stream: Put the timestamp of receival of the initial packet over TCP on the first buffer

9 years agoAdd initial support for RECORD
Sebastian Dröge [Fri, 9 Jan 2015 11:40:47 +0000 (12:40 +0100)]
Add initial support for RECORD

We currently only support media that is RECORD or PLAY only, not both at once.

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

9 years agortsp-stream: RTCP and RTP transport cache cookies seperated
Anila Balavan [Fri, 30 Jan 2015 11:50:20 +0000 (12:50 +0100)]
rtsp-stream: RTCP and RTP transport cache cookies seperated

RTCP packets were not sent because the same tr_cache_cookie was used for
both RTP and RTCP. So only one of the tr_cache lists were populated
depending on which one was sent first. If the tr_cache list is not
populated then no packets can be sent. Most often this happened to be
RTCP. Now seperate RTCP and RTP transport cache cookies are added which
resulted in both the tr_cache_lists to be populated regardless of which
one was sent first.

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

9 years agortsp-stream: fix false compiler warning
Tim-Philipp Müller [Wed, 21 Jan 2015 14:57:03 +0000 (14:57 +0000)]
rtsp-stream: fix false compiler warning

rtsp-stream.c:3034: error: ‘visited’ may be used uninitialized in this function

9 years agortsp-client: log interleaved data received
Tim-Philipp Müller [Mon, 19 Jan 2015 20:35:15 +0000 (20:35 +0000)]
rtsp-client: log interleaved data received

9 years agortsp-client: fix unintentional fallthrough to debug warning when receiving interleave...
Tim-Philipp Müller [Mon, 19 Jan 2015 20:18:20 +0000 (20:18 +0000)]
rtsp-client: fix unintentional fallthrough to debug warning when receiving interleaved data

9 years agortsp-client: If we have a single-stream media and SETUP contains no control, use...
Sebastian Dröge [Mon, 19 Jan 2015 12:09:20 +0000 (13:09 +0100)]
rtsp-client: If we have a single-stream media and SETUP contains no control, use the one and only stream

9 years agortsp-client: Use a random session ID in the SDP
Sebastian Dröge [Sun, 18 Jan 2015 18:08:36 +0000 (19:08 +0100)]
rtsp-client: Use a random session ID in the SDP

RFC4566 Section 5.2 says that it should make the username, session id,
nettype, addrtype and unicast address tuple globally unique. Always using
1188340656180883 is not going to guarantee that: https://xkcd.com/221/

Instead let's create a 64 bit random number, which at least brings us
closer to the goal of global uniqueness.

https://tools.ietf.org/html/rfc4566#section-5.2

9 years agoexamples: Don't call gst_init() and gst_get_option_group()
Sebastian Dröge [Sat, 17 Jan 2015 09:29:36 +0000 (10:29 +0100)]
examples: Don't call gst_init() and gst_get_option_group()

The latter calls the former at the appropriate time.

9 years agortsp-client: Drop trailing \0 of RTSP DATA messages
Sebastian Dröge [Fri, 16 Jan 2015 19:04:01 +0000 (20:04 +0100)]
rtsp-client: Drop trailing \0 of RTSP DATA messages

We add a trailing \0 in GstRTSPConnection to make parsing of
string message bodies easier (e.g. the SDP from DESCRIBE) but
for actual data this means we have to drop it or otherwise
create invalid data.

9 years agortsp-stream: Have one copy of the transports cache for RTP and RTCP each
Göran Jönsson [Fri, 16 Jan 2015 10:10:20 +0000 (11:10 +0100)]
rtsp-stream: Have one copy of the transports cache for RTP and RTCP each

Fixes crash when two threads access handle_new_sample() at the same
time, one for RTP, one for RTCP.

Otherwise, when iterating over the transports cache, it might be modified by
another thread at the same time if the transports cookie has changed.

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

9 years agortsp-stream: Set format=TIME on our app sources for TCP
Sebastian Dröge [Thu, 15 Jan 2015 18:34:20 +0000 (19:34 +0100)]
rtsp-stream: Set format=TIME on our app sources for TCP

9 years agoRevert "rtsp-session-pool: Make sure session IDs are properly URI-escaped"
Sebastian Rasmussen [Tue, 13 Jan 2015 14:29:29 +0000 (15:29 +0100)]
Revert "rtsp-session-pool: Make sure session IDs are properly URI-escaped"

This reverts commit 935e8f852d050b4939f1d0f44b38e9b55a2fbe36.

RFC 2326 states that session IDs may consist of alphanumeric as well as
the safe characters $-_.+ -- N.B. the percent character is not allowed.

Previously the session ID was URI-escaped, this meant that any character
which was not alphanumeric or any of the characters +-._~ would be
percent encoded. While the RFC (surprisingly) mentions that linear white
space in session IDs should be URI-escaped, it does not say anything
about other characters. Moreover no white space is allowed in the
session ID. Finally the percent character which is the result of
URI-escaping is not allowed in a session ID.

So there is no reason to do any URI-escaping, and now it is removed.

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

9 years agoAutomatic update of common submodule
Stefan Sauer [Mon, 12 Jan 2015 15:14:12 +0000 (16:14 +0100)]
Automatic update of common submodule

From f2c6b95 to bc76a8b

9 years agoFix 'make check' from top-level directory
Tim-Philipp Müller [Wed, 31 Dec 2014 13:04:57 +0000 (13:04 +0000)]
Fix 'make check' from top-level directory

9 years agoexamples: Add command-line parsing and take a 'port' argument
Nirbheek Chauhan [Tue, 30 Dec 2014 12:43:49 +0000 (18:13 +0530)]
examples: Add command-line parsing and take a 'port' argument

This allows users to run multiple servers on different ports for testing.

Only done for examples that actually take arguments and hence are capable of
outputting different streams for each instance on each port.

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

9 years agortsp-client: Add a send_message default signal handler
Sebastian Dröge [Mon, 29 Dec 2014 11:06:50 +0000 (12:06 +0100)]
rtsp-client: Add a send_message default signal handler

This allows subclasses to easily hook into the response sending
mechanism without doing everything from a signal, which seems
awkward from subclasses.

9 years agoAutomatic update of common submodule
Sebastian Dröge [Thu, 18 Dec 2014 09:56:44 +0000 (10:56 +0100)]
Automatic update of common submodule

From ef1ffdc to f2c6b95

9 years agoconfigure: add --disable-examples switch
Sebastian Rasmussen [Wed, 17 Dec 2014 19:02:05 +0000 (20:02 +0100)]
configure: add --disable-examples switch

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

9 years agoexamples: add a retransmisison example implementing RFC4588
Matthew Waters [Mon, 1 Dec 2014 12:42:34 +0000 (23:42 +1100)]
examples: add a retransmisison example implementing RFC4588

Currently only SSRC-multiplexed rtx streams are supported

9 years agortsp-stream: Fix some minor memory leaks
Sebastian Dröge [Tue, 16 Dec 2014 15:46:15 +0000 (16:46 +0100)]
rtsp-stream: Fix some minor memory leaks

9 years agortsp-media: Some minor cleanup
Sebastian Dröge [Tue, 16 Dec 2014 15:46:06 +0000 (16:46 +0100)]
rtsp-media: Some minor cleanup

9 years agortsp-stream: Fix compiler warnings
Sebastian Dröge [Tue, 16 Dec 2014 15:42:13 +0000 (16:42 +0100)]
rtsp-stream: Fix compiler warnings

rtsp-stream.c:1351:3: error: non-void function 'gst_rtsp_stream_get_retransmission_time' should return a value [-Wreturn-type]
  g_return_if_fail (GST_IS_RTSP_STREAM (stream));
  ^

rtsp-stream.c:1384:3: error: non-void function 'gst_rtsp_stream_get_retransmission_pt' should return a value [-Wreturn-type]
  g_return_if_fail (GST_IS_RTSP_STREAM (stream));
  ^