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
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
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
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
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.
Tim-Philipp Müller [Fri, 3 Apr 2015 17:58:26 +0000 (18:58 +0100)]
Automatic update of common submodule
From bc76a8b to c8fb372
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.
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.
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
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.
Sebastian Dröge [Sun, 15 Mar 2015 12:27:39 +0000 (12:27 +0000)]
Fix typo in README
Tim-Philipp Müller [Tue, 10 Mar 2015 09:39:22 +0000 (09:39 +0000)]
Fix double semicolons
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
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
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>
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
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
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.
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.
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
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
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.
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
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.
Tim-Philipp Müller [Wed, 11 Feb 2015 17:24:38 +0000 (17:24 +0000)]
rtsp-stream: minor code formatting fix
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
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.
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.
Tim-Philipp Müller [Sun, 8 Feb 2015 12:08:36 +0000 (12:08 +0000)]
rtsp-client: fix awkward if clause
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.
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.
Tim-Philipp Müller [Wed, 21 Jan 2015 17:32:21 +0000 (17:32 +0000)]
examples: add new test-record to .gitignore
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
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
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
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
Sebastian Dröge [Mon, 19 Jan 2015 12:20:39 +0000 (13:20 +0100)]
rtsp-media: Expose latency setting for setting the rtpbin latency
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
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
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
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
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
Tim-Philipp Müller [Mon, 19 Jan 2015 20:35:15 +0000 (20:35 +0000)]
rtsp-client: log interleaved data received
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
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
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
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.
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.
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
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
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
Stefan Sauer [Mon, 12 Jan 2015 15:14:12 +0000 (16:14 +0100)]
Automatic update of common submodule
From f2c6b95 to bc76a8b
Tim-Philipp Müller [Wed, 31 Dec 2014 13:04:57 +0000 (13:04 +0000)]
Fix 'make check' from top-level directory
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
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.
Sebastian Dröge [Thu, 18 Dec 2014 09:56:44 +0000 (10:56 +0100)]
Automatic update of common submodule
From ef1ffdc to f2c6b95
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
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
Sebastian Dröge [Tue, 16 Dec 2014 15:46:15 +0000 (16:46 +0100)]
rtsp-stream: Fix some minor memory leaks
Sebastian Dröge [Tue, 16 Dec 2014 15:46:06 +0000 (16:46 +0100)]
rtsp-media: Some minor cleanup
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));
^
Matthew Waters [Wed, 26 Nov 2014 14:12:36 +0000 (01:12 +1100)]
media: implement ssrc-multiplexed retransmission support
based off RFC 4588 and the server-rtpaux example in -good
Göran Jönsson [Fri, 28 Nov 2014 11:45:14 +0000 (12:45 +0100)]
rtsp: Ref transports in hash table.
Also ref streams for transports.
This solves a crash when reciving a rtcp after teardown but before
client finalize.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=740845
Edward Hervey [Thu, 27 Nov 2014 16:13:05 +0000 (17:13 +0100)]
Automatic update of common submodule
From 7bb2bce to ef1ffdc
Wim Taymans [Fri, 7 Nov 2014 11:48:53 +0000 (12:48 +0100)]
client: refactor cleanup of cached media
Linus Svensson [Thu, 23 Oct 2014 11:39:10 +0000 (13:39 +0200)]
tests: Remove FIXME
The session leak is now fixed, lets remove those FIXME comments.
Linus Svensson [Thu, 23 Oct 2014 15:54:37 +0000 (17:54 +0200)]
tests: Test to setup two sessions on one connection
https://bugzilla.gnome.org/show_bug.cgi?id=739112
Linus Svensson [Fri, 24 Oct 2014 10:05:27 +0000 (12:05 +0200)]
tests: Test setup with tcp transport
https://bugzilla.gnome.org/show_bug.cgi?id=739112
Linus Svensson [Fri, 24 Oct 2014 10:04:54 +0000 (12:04 +0200)]
client: Configure transport after creating session media
The default implementation of configure_client_transport() in
rtsp-client uses the session media when it chooses channels for
interleaved traffic.
https://bugzilla.gnome.org/show_bug.cgi?id=739112
Linus Svensson [Thu, 23 Oct 2014 10:54:03 +0000 (12:54 +0200)]
client: Stop caching media in client when doing setup
If the media has been managed by a session media, it should not be
cached in the client any longer. The GstRTSPSessionMedia object is now
responsible for unpreparing the GstRTSPMedia object using
gst_rtsp_media_unprepare(). Unprepare the media when finalizing the
session media.
https://bugzilla.gnome.org/show_bug.cgi?id=739112
Aleix Conchillo Flaqué [Sat, 1 Nov 2014 06:01:53 +0000 (23:01 -0700)]
rtsp-stream: unref srtp decoder when leaving bin
https://bugzilla.gnome.org/show_bug.cgi?id=739481
Aleix Conchillo Flaqué [Thu, 30 Oct 2014 04:01:39 +0000 (21:01 -0700)]
rtsp-client: mikey memory leaks
https://bugzilla.gnome.org/show_bug.cgi?id=739383
Sebastian Dröge [Mon, 27 Oct 2014 17:01:35 +0000 (18:01 +0100)]
Automatic update of common submodule
From 84d06cd to 7bb2bce
Tim-Philipp Müller [Fri, 24 Oct 2014 16:48:04 +0000 (17:48 +0100)]
Parallelise 'make check-valgrind'
Tim-Philipp Müller [Tue, 21 Oct 2014 12:04:14 +0000 (13:04 +0100)]
Automatic update of common submodule
From a8c8939 to 84d06cd
Stefan Sauer [Tue, 21 Oct 2014 11:00:49 +0000 (13:00 +0200)]
Automatic update of common submodule
From 36388a1 to a8c8939
Vincent Penquerc'h [Wed, 1 Oct 2014 11:12:30 +0000 (07:12 -0400)]
rtsp-media: deactivate media when shutting down from paused
This was only done when going directly from playing.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=737829
Aleix Conchillo Flaqué [Mon, 20 Oct 2014 22:40:59 +0000 (15:40 -0700)]
rtsp-client: add stream transport to context
We add the stream transport to the context so we can get the configured
client stream transport in the setup request signal.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=738905
Aleix Conchillo Flaqué [Thu, 2 Oct 2014 19:02:48 +0000 (12:02 -0700)]
stream: release lock even not all transports have been removed
We don't want to keep the lock even we return FALSE because not all the
transports have been removed. This could lead into a deadlock.
https://bugzilla.gnome.org/show_bug.cgi?id=737797
Olivier Crête [Fri, 10 Oct 2014 22:43:00 +0000 (18:43 -0400)]
rtsp-sdp: Rename clock-base and seqnum-base to timestamp-offset and seqnum-offset
These were renamed in GstRTPBasePayload in 1.0
Aleix Conchillo Flaqué [Tue, 30 Sep 2014 23:36:51 +0000 (16:36 -0700)]
client: set session media to NULL without the lock
We need to set session medias to NULL without the client lock otherwise
we can end up in a deadlock if another thread is waiting for the lock
and media unprepare is also waiting for that thread to end.
https://bugzilla.gnome.org/show_bug.cgi?id=737690
Sebastian Dröge [Tue, 30 Sep 2014 20:22:45 +0000 (23:22 +0300)]
rtsp-media: Set state to UNPREPARING in all cases
Ognyan Tonchev [Tue, 30 Sep 2014 17:17:04 +0000 (19:17 +0200)]
media: set state to unpreparing when unprepare is initiated
https://bugzilla.gnome.org/show_bug.cgi?id=737675
Sebastian Rasmussen [Mon, 29 Sep 2014 23:35:02 +0000 (01:35 +0200)]
rtsp-client: Remove backlog limit while processings requests
If the backlog limit is kept two cases of deadlocks may be
encountered when streaming over TCP. Without the backlog
limit this deadlocks can not happen, at the expence of
memory usage.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=737631
Ognyan Tonchev [Mon, 22 Sep 2014 11:32:06 +0000 (13:32 +0200)]
rtsp-client: do not free main context before rtsp watch
https://bugzilla.gnome.org/show_bug.cgi?id=737110
Branko Subasic [Fri, 19 Sep 2014 16:29:00 +0000 (18:29 +0200)]
tests: Extend unit test timeout to accomodate for valgrind
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=736647
Branko Subasic [Fri, 19 Sep 2014 16:28:50 +0000 (18:28 +0200)]
rtsp-*: Treat sending packets to clients as keepalive
As long as gst-rtsp-server can successfully send RTP/RTCP data to
clients then the client must be reading. This change makes the server
timeout the connection if the client stops reading.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=736647
Branko Subasic [Fri, 19 Sep 2014 16:28:30 +0000 (18:28 +0200)]
rtsp-client: Allow backlog to grow while expiring session
Allow the send backlog in the RTSP watch to grow to unlimited size while
attempting to bring the media pipeline to NULL due to a session
expiring. Without this change the appsink element cannot change state
because it is blocked while rendering data in the new_sample callback.
This callback will block until it has successfully put the data into the
send backlog. There is a chance that the send backlog is full at this
point which means that the callback may block for a long time, possibly
forever. Therefore the media pipeline may also be prevented from
changing state for a long time.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=736647
Edward Hervey [Mon, 22 Sep 2014 07:30:39 +0000 (09:30 +0200)]
rtsp-client: Make old compilers happy
rtsp-client.c:2553:50: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast]
Just in case that guint8 doesn't fit in a pointer. Just in case ...
Göran Jönsson [Tue, 16 Sep 2014 09:41:52 +0000 (11:41 +0200)]
client: raise the backlog limits before pausing
We need to raise the backlog limits before pausing the pipeline or else
the appsink might be blocking in the render method in wait_backlog() and
we would deadlock waiting for paused.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=736322
Göran Jönsson [Tue, 16 Sep 2014 09:29:38 +0000 (11:29 +0200)]
client: make define for the WATCH_BACKLOG
See https://bugzilla.gnome.org/show_bug.cgi?id=736322
Wim Taymans [Tue, 9 Sep 2014 16:11:39 +0000 (18:11 +0200)]
client: simplify session transport handling
link/unlink of the transport in a session was done to keep track of all
TCP transports and to send RTP/RTCP data to the streams. We can simplify
that by putting all the TCP transports in a hashtable indexed with the
channel number.
We also don't need to link/unlink the transports when we pause/resume
the streams. The same effect is already achieved when we pause/play the
media. Indeed, when we pause the media, the transport is removed from
the media and the callbacks will not be called anymore.
See https://bugzilla.gnome.org/show_bug.cgi?id=736041
Wim Taymans [Tue, 9 Sep 2014 16:10:12 +0000 (18:10 +0200)]
stream-transport: make method to handle received data
Make a method to handle the data received on a channel. It sends the
data to the stream of the transport on the RTP or RTCP pads based on
the channel number.
Wim Taymans [Mon, 15 Sep 2014 14:54:05 +0000 (16:54 +0200)]
test: add example of dumping RTCP reports
Srimanta Panda [Mon, 8 Sep 2014 07:26:23 +0000 (09:26 +0200)]
rtsp-media: Make sure that sequence numbers are monotonic after pause
The sequence number is not monotonic for RTP packets after pause. The
reason is basepayloader generates a randon sequence number when the
pipeline goes from ready to pause. With this fix generation of sequence
number will be monotonic when going from pause to play request.
https://bugzilla.gnome.org/show_bug.cgi?id=736017
Göran Jönsson [Thu, 28 Aug 2014 11:35:15 +0000 (13:35 +0200)]
rtsp-client: Protect saved clients watch with a mutex
Fixes a crash when close() is called while merging clients
in handle_tunnel(). In that case close() would destroy the
watch while it is still being used in handle_tunnel().
https://bugzilla.gnome.org/show_bug.cgi?id=735570
Sebastian Dröge [Wed, 13 Aug 2014 14:22:16 +0000 (17:22 +0300)]
rtsp-stream: Remove the multicast group udp sources when removing from the bin
Sebastian Dröge [Tue, 5 Aug 2014 14:12:19 +0000 (16:12 +0200)]
rtsp-media: Query position and stop time only on the RTP parts of the pipeline
The RTCP parts, in specific the RTCP udpsinks, are not flushed when
seeking and will always continue counting the time. This leads to
the NPT after a backwards seek to be something completely different
to the actual seek position.
https://bugzilla.gnome.org/show_bug.cgi?id=732644
Tim-Philipp Müller [Sat, 9 Aug 2014 13:41:35 +0000 (14:41 +0100)]
examples: fix another reference leak
gst_rtsp_media_get_element() returns a new ref.
Sebastian Rasmussen [Wed, 16 Jul 2014 23:34:17 +0000 (01:34 +0200)]
examples: unref element after usage
gst_bin_get_by_name_recurse_up() returns an element
reference that must be unreffed after usage.
https://bugzilla.gnome.org/show_bug.cgi?id=734546