summaryrefslogtreecommitdiff
path: root/gst
AgeCommit message (Collapse)AuthorFilesLines
2014-09-16client: raise the backlog limits before pausingHEADmasterGöran Jönsson1-0/+9
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
2014-09-16client: make define for the WATCH_BACKLOGGöran Jönsson1-3/+5
See https://bugzilla.gnome.org/show_bug.cgi?id=736322
2014-09-16client: simplify session transport handlingWim Taymans1-131/+23
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
2014-09-16stream-transport: make method to handle received dataWim Taymans2-0/+35
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.
2014-09-12rtsp-media: Make sure that sequence numbers are monotonic after pauseSrimanta Panda3-0/+59
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
2014-09-04rtsp-client: Protect saved clients watch with a mutexGöran Jönsson1-0/+8
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
2014-08-25rtsp-stream: Remove the multicast group udp sources when removing from the binSebastian Dröge1-0/+21
2014-08-12rtsp-media: Query position and stop time only on the RTP parts of the pipelineSebastian Dröge3-14/+144
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
2014-08-04signals: Fix copy-pasto in target-state signal offsetArun Raghavan1-2/+2
2014-07-22rtsp-stream: Listen on the multicast group for RTP/RTCP packetsSebastian Dröge1-1/+89
When a UDP multicast transport is used it is expected that the server listens for RTP and RTCP packets on the multicast group with the corresponding port. Without this we will never get RTCP packets from clients in multicast mode. https://bugzilla.gnome.org/show_bug.cgi?id=732238
2014-07-16media: correct misspelled words in descriptionHyunjun Ko1-2/+2
https://bugzilla.gnome.org/show_bug.cgi?id=733244
2014-07-10server: implement client REMOVE filterWim Taymans1-1/+6
2014-07-10client: expose _close() methodWim Taymans2-3/+12
Expose a previously internal close method to close the client connection.
2014-07-10session-pool: signal session-removed outside of the lockWim Taymans1-10/+40
Release the lock before emiting the session-removed signal.
2014-07-10filter: Release lock in filter functionsWim Taymans5-61/+194
Release the object lock before calling the filter functions. We need to keep a cookie to detect when the list changed during the filter callback. We also keep a hashtable to make sure we only call the filter function once for each object in case of concurrent modification. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732950
2014-07-09client: check if watch is set in handle_teardown()Ognyan Tonchev1-2/+4
The unit tests run without a watch
2014-07-09client: keep ref to client for the session removed handlerOgnyan Tonchev1-7/+28
This extra ref will be dropped when all client sessions have been removed. A session is removed when a client sends teardown, closes its endpoint of the TCP connection or the sessions expires. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732226
2014-07-08client: manage media in session as a last stepWim Taymans2-12/+18
Once we manage a media in a session, we can't unmanage it anymore without destroying it. Therefore, first check everything before we manage the media, otherwise if something is wrong we have no way to unmanage the media. If we created a new session and something went wrong, remove the session again. Fixes a leak in the unit test.
2014-07-02rtsp: fix for MIKEY api changeWim Taymans2-3/+3
2014-07-01client: free watch context only onceworkWim Taymans1-3/+1
The watch context is freed when the source is destroyed. Avoids a CRITICAL when we try to unref the context twice.
2014-07-01client: fix buildWim Taymans1-1/+1
2014-07-01client: protect sessions with lockWim Taymans1-6/+15
Protect the list of sessions with the lock. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=732226
2014-07-01Client: keep a ref to the sessionWim Taymans1-76/+60
Don't just keep a weak ref to the session objects but use a hard ref. We will be notified when a session is removed from the pool (expired) with the new session-removed signal. Don't automatically close the RTSP connection when all the sessions of a client are removed, a client can continue to operate and it can create a new session if it wants. If you want to remove the client from the server, you have to use gst_rtsp_server_client_filter() now. Based on patch from Ognyan Tonchev <ognyan.tonchev at axis.com> See https://bugzilla.gnome.org/show_bug.cgi?id=732226
2014-06-30session-pool: add session-removed signalWim Taymans2-8/+59
Add a signal to be notified when a session is removed from the pool.
2014-06-30Make rtsp-server.h a single-include header, use it for G-IEvan Nemerson2-3/+17
https://bugzilla.gnome.org/show_bug.cgi?id=732411
2014-06-27stream: crypto can be NULLWim Taymans1-1/+1
2014-06-26introspection: add missing allow-none annotationsEvan Nemerson3-4/+6
https://bugzilla.gnome.org/show_bug.cgi?id=730952
2014-06-26introspection: add (nullable) annotations to return valuesEvan Nemerson7-23/+27
https://bugzilla.gnome.org/show_bug.cgi?id=730952
2014-06-24gi: improve annotationsEvan Nemerson2-3/+8
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=730953
2014-06-24signals: use generic marshal functionWim Taymans4-29/+29
Use the generic C marshal function. Use more explicit type instead of G_TYPE_POINTER
2014-06-24context: add type macroWim Taymans1-0/+2
2014-06-24sdp: hide key length definesWim Taymans3-6/+12
They don't have a namespace.
2014-06-19mikey: add different key length parametersAleix Conchillo Flaqué3-0/+64
Add encryption and authentication key length parameters to MIKEY. For the encoders, the key lengths are obtained from the cipher and auth algorithms set in the caps. For the decoders, they are obtained while parsing the key management from the client. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=730472
2014-06-18client: ref the context until rtsp watch is aliveOgnyan Tonchev1-0/+11
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=731569
2014-06-18client: Destroy the rtsp watch after connection closeOgnyan Tonchev1-0/+9
2014-06-13media: fix confusing commentWim Taymans1-1/+1
2014-06-05rtsp-session: Timeout in header.Göran Jönsson1-2/+19
Adding the possbilty to always have timout in header. This is configurabe with setting "timeout-always-visible". Fixes https://bugzilla.gnome.org/show_bug.cgi?id=728264
2014-05-20client: store TCP ports in transportWim Taymans1-0/+29
Store the TCP ports in the transport when we are doing RTSP over TCP. This way, we can easily get to the ports from the transport. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=729776
2014-05-16stream: add signals for new RTP/RTCP encodersAleix Conchillo Flaqué1-2/+31
New signals to allow the user to configure the dynamically created encoders. https://bugzilla.gnome.org/show_bug.cgi?id=730228
2014-05-15media: Make suspend()/unsuspend() virtualOgnyan Tonchev2-43/+104
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=730109
2014-05-10client: fix send-message signal marshallerAleix Conchillo Flaqué1-1/+1
Use generic marshalling for the send-message signal. It has two POINTER arguments, not just one. https://bugzilla.gnome.org/show_bug.cgi?id=729900
2014-05-09rtsp-client: handle Require headers and respond with OPTION_NOT_SUPPORTEDTim-Philipp Müller1-0/+81
Servers must handle Require headers and must report a failure if they don't handle any of the Required options, see RFC 2326, section 12.32: https://tools.ietf.org/html/rfc2326#page-54 https://bugzilla.gnome.org/show_bug.cgi?id=729426
2014-05-01client: emit a signal before sending a messageWim Taymans1-0/+9
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=728970
2014-05-01client: pass context to send_messageWim Taymans1-13/+34
Pass the current context to send_message, we will need it later.
2014-05-01client: fix typo in commentWim Taymans1-1/+1
2014-04-21media: Do not stop thread twice if default_prepare() failsOgnyan Tonchev1-6/+0
2014-04-15client: set the watch to flushing before going to NULLWim Taymans1-0/+7
First set the watch to flushing so that we unblock any current and future attempt to send data on the watch, Then set the pipeline to NULL. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=728153
2014-04-12rtsp-session-pool: Fixes annotationLinus Svensson1-1/+1
Fixes annotation for gst_rtsp_session_pool_create() and memory leaks in the sessionpool test. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=728060
2014-04-12media: make media_prepare virtualOgnyan Tonchev2-59/+98
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=728029
2014-04-12media: stop the thread in more error casesOgnyan Tonchev1-0/+12