summaryrefslogtreecommitdiff
path: root/gst
AgeCommit message (Collapse)AuthorFilesLines
2015-04-15rtsp-stream: fix to get valid each stream data for request-aux-sender signalHyunjun Ko3-8/+30
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
2015-03-23rtsp-stream: Limit the queues to 1 bufferSebastian Dröge1-0/+4
We only need them to be able to pre-roll, queueing up more data here is only going to harm latency and memory usage.
2015-03-23rtsp-stream: Update comment and ASCII art to the latest codeSebastian Dröge1-7/+7
We have a queue in front of the udpsink too to prevent the pipeline from locking up.
2015-03-21rtsp-media: Properly return first rtptimeNicolas Dufresne1-3/+3
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
2015-03-18rtsp-stream: Don't leave buffer mappedNicolas Dufresne1-1/+2
If the seq is NULL, the RTP buffer was left mapped. We should always unmap the buffer.
2015-03-10Fix double semicolonsTim-Philipp Müller1-2/+2
2015-03-09rtsp-stream: Get the seqnum-base and other information from the last buffer ↵Sebastian Dröge1-0/+58
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
2015-03-09rtsp-media: Don't seek for PLAY if the position will not changeSebastian Dröge1-27/+33
https://bugzilla.gnome.org/show_bug.cgi?id=745704
2015-03-09rtsp-media: Don't include payload type in the caps for framesizeSebastian Dröge1-0/+17
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>
2015-03-09rtsp-sdp: add payload type to the sdp framesize attributeLinus Svensson1-0/+10
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
2015-03-03rtsp-media-factory: Add functions to set/get the media gtypeJan Schmidt2-1/+61
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.
2015-03-02rtsp-media: fix double unlock in _get_buffer_size()Gregor Boirie1-1/+1
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
2015-02-19rtsp-session: Use monotonic time for RTSP session timeoutKent-Inge Ingesson3-14/+106
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
2015-02-13rtsp-client: Only error out in PLAY if seeking actually failedSebastian Dröge2-4/+8
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.
2015-02-13rtsp-stream: Add necessary queues between tee and multiudpsinkAndreas Frisch1-2/+19
https://bugzilla.gnome.org/show_bug.cgi?id=744379
2015-02-12rtsp-media: If seeking fails, don't wait forever for the media to preroll againSebastian Dröge2-1/+19
Instead error out properly the same way as if the SEEKING query already failed.
2015-02-11rtsp-stream: minor code formatting fixTim-Philipp Müller1-1/+2
2015-02-10rtsp-media: fix logic for collect_streamsLuis de Bethencourt1-3/+7
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
2015-02-09rtsp-media: Don't set the transport mode based on what elements we findSebastian Dröge1-1/+0
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.
2015-02-08rtsp-client: fix awkward if clauseTim-Philipp Müller1-1/+1
2015-02-06rtsp-media: Use flags to distinguish between PLAY and RECORD mediaSebastian Dröge5-84/+143
2015-02-06rtsp-client: fix a couple of leaks in handle_announceTim-Philipp Müller1-6/+7
2015-02-06rtsp-media: Expose latency setting for setting the rtpbin latencySebastian Dröge4-0/+140
2015-02-06rtsp-stream: Put the timestamp of receival of the initial packet over TCP on ↵Sebastian Dröge1-0/+52
the first buffer
2015-02-06Add initial support for RECORDSebastian Dröge9-85/+1399
We currently only support media that is RECORD or PLAY only, not both at once. https://bugzilla.gnome.org/show_bug.cgi?id=743175
2015-01-30rtsp-stream: RTCP and RTP transport cache cookies seperatedAnila Balavan1-8/+17
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
2015-01-21rtsp-stream: fix false compiler warningTim-Philipp Müller1-1/+1
rtsp-stream.c:3034: error: ‘visited’ may be used uninitialized in this function
2015-01-19rtsp-client: log interleaved data receivedTim-Philipp Müller1-2/+7
2015-01-19rtsp-client: fix unintentional fallthrough to debug warning when receiving ↵Tim-Philipp Müller1-0/+4
interleaved data
2015-01-19rtsp-client: If we have a single-stream media and SETUP contains no control, ↵Sebastian Dröge1-10/+17
use the one and only stream
2015-01-18rtsp-client: Use a random session ID in the SDPSebastian Dröge1-1/+7
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
2015-01-16rtsp-client: Drop trailing \0 of RTSP DATA messagesSebastian Dröge1-1/+11
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.
2015-01-16rtsp-stream: Have one copy of the transports cache for RTP and RTCP eachGöran Jönsson1-13/+29
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
2015-01-15rtsp-stream: Set format=TIME on our app sources for TCPSebastian Dröge1-0/+1
2015-01-14Revert "rtsp-session-pool: Make sure session IDs are properly URI-escaped"Sebastian Rasmussen1-3/+2
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
2014-12-29rtsp-client: Add a send_message default signal handlerSebastian Dröge2-2/+5
This allows subclasses to easily hook into the response sending mechanism without doing everything from a signal, which seems awkward from subclasses.
2014-12-16rtsp-stream: Fix some minor memory leaksSebastian Dröge1-0/+3
2014-12-16rtsp-media: Some minor cleanupSebastian Dröge1-4/+4
2014-12-16rtsp-stream: Fix compiler warningsSebastian Dröge1-2/+2
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)); ^
2014-12-16media: implement ssrc-multiplexed retransmission supportMatthew Waters7-1/+343
based off RFC 4588 and the server-rtpaux example in -good
2014-12-02rtsp: Ref transports in hash table.Göran Jönsson3-2/+13
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
2014-11-07client: refactor cleanup of cached mediaWim Taymans1-20/+20
2014-11-07client: Configure transport after creating session mediaLinus Svensson1-4/+4
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
2014-11-07client: Stop caching media in client when doing setupLinus Svensson2-0/+10
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
2014-11-01rtsp-stream: unref srtp decoder when leaving binAleix Conchillo Flaqué1-0/+2
https://bugzilla.gnome.org/show_bug.cgi?id=739481
2014-10-30rtsp-client: mikey memory leaksAleix Conchillo Flaqué1-0/+3
https://bugzilla.gnome.org/show_bug.cgi?id=739383
2014-10-21rtsp-media: deactivate media when shutting down from pausedVincent Penquerc'h1-2/+9
This was only done when going directly from playing. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=737829
2014-10-21rtsp-client: add stream transport to contextAleix Conchillo Flaqué2-15/+19
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
2014-10-21stream: release lock even not all transports have been removedAleix Conchillo Flaqué1-1/+8
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
2014-10-10rtsp-sdp: Rename clock-base and seqnum-base to timestamp-offset and ↵Olivier Crête1-2/+2
seqnum-offset These were renamed in GstRTPBasePayload in 1.0