X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=ChangeLog;h=0cbc6ee9bb3c32750b12d9f903535688027ab2fd;hb=e16867b1618460452d0a637b2ba64e6d88e0c7c9;hp=ebf0e05f3debdc72f0f3f36234ac8003506746ec;hpb=c55ffc387921780f2e99951d68ea5274de33a5b8;p=platform%2Fupstream%2Fgstreamer.git diff --git a/ChangeLog b/ChangeLog index ebf0e05..0cbc6ee 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,9 +1,2902 @@ +=== release 1.16.0 === + +2019-04-19 00:34:54 +0100 Tim-Philipp Müller + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gst-rtsp-server.doap: + * meson.build: + Release 1.16.0 + +2019-04-15 20:33:01 +0300 Sebastian Dröge + + * gst/rtsp-sink/gstrtspclientsink.c: + rtspclientsink: Notify the stream transport about each written message + Otherwise it will never try to send us the next one: it tries to keep + exactly one message in-flight all the time. + In gst-rtsp-server this is done asynchronously via the GstRTSPWatch but + in the client sink we always write data out synchronously. + +2019-04-02 08:05:03 +0200 Göran Jönsson + + * gst/rtsp-server/rtsp-stream.c: + rtsp_server: Free thread pool before clean transport cache + If not waiting for free thread pool before clean transport caches, there + can be a crash if a thread is executing in transport list loop in + function send_tcp_message. + Also add a check if priv->send_pool in on_message_sent to avoid that a + new thread is pushed during wait of free thread pool. This is possible + since when waiting for free thread pool mutex have to be unlocked. + +=== release 1.15.90 === + +2019-04-11 00:35:55 +0100 Tim-Philipp Müller + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gst-rtsp-server.doap: + * meson.build: + Release 1.15.90 + +2019-04-10 10:32:53 +0200 Ulf Olsson + + * gst/rtsp-server/rtsp-stream.c: + rtsp-stream: Add support for GCM (RFC 7714) + Follow-up to !198 + +2019-03-28 00:27:37 +0100 Erlend Eriksen + + * gst/rtsp-server/rtsp-session-pool.c: + session pool: fix missing klass-> in klass->create_session + +2019-03-23 19:16:17 +0000 Tim-Philipp Müller + + * meson.build: + g-i: pass --quiet to g-ir-scanner + This suppresses the annoying 'g-ir-scanner: link: cc ..' output + that we get even if everything works just fine. + We still get g-ir-scanner warnings and compiler warnings if + we pass this option. + +2019-03-23 19:15:48 +0000 Tim-Philipp Müller + + * meson.build: + g-i: silence 'nested extern' compiler warnings when building scanner binary + We need a nested extern in our init section for the scanner binary + so we can call gst_init to make sure GStreamer types are initialised + (they are not all lazy init via get_type functions, but some are in + exported variables). There doesn't seem to be any other mechanism to + achieve this, so just remove that warning, it's not important at all. + +2019-03-21 11:49:10 +0000 Tim-Philipp Müller + + * meson.build: + meson: pass -Wno-unused to compiler if gstreamer debug system is disabled + +2019-03-14 07:37:26 +0100 Göran Jönsson + + * gst/rtsp-server/rtsp-media.c: + * tests/check/gst/media.c: + rtsp-media: Handle set state when preparing. + Handle the situation when a call to gst_rtsp_media_set_state is done + when media status is preparing. + Also add unit test for this scenario. + The unit test simulate on a media level when two clients share a (live) + media. + Both clients have done SETUP and got responses. Now client 1 is doing + play and client 2 is just closing the connection. + Then without patch there are a problem when + client1 is calling gst_rtsp_media_unsuspend in handle_play_request. + And client2 is doing closing connection we can end up in a call + to gst_rtsp_media_set_state when + priv->status == GST_RTSP_MEDIA_STATUS_PREPARING and all the logic for + shut down media is jumped over . + With this patch and this scenario we wait until + priv->status == GST_RTSP_MEDIA_STATUS_PREPARED and then continue to + execute after that and now we will execute the logic for + shut down media. + +2019-03-04 09:13:30 +0000 Tim-Philipp Müller + + * NEWS: + * RELEASE: + * configure.ac: + * meson.build: + Back to development + +=== release 1.15.2 === + +2019-02-26 11:58:53 +0000 Tim-Philipp Müller + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gst-rtsp-server.doap: + * meson.build: + Release 1.15.2 + +2019-02-19 09:45:08 +0100 Göran Jönsson + + * gst/rtsp-server/rtsp-media.c: + * tests/check/gst/client.c: + rtsp-media: Fix multicast use case with common media + Use case + client 1: SETUP + client 1: PLAY + client 2: SETUP + client 1: TEARDOWN + client 2: PLAY + client 2: TEARDOWN + +2019-01-16 12:59:11 +0100 Göran Jönsson + + * gst/rtsp-server/rtsp-client.c: + * gst/rtsp-server/rtsp-stream.c: + * gst/rtsp-server/rtsp-stream.h: + rtsp-server: remove recursive behavior + Introduce a threadpool to send rtp and rtcp to avoid recursive behavior. + +2019-01-25 14:22:42 +0200 Sebastian Dröge + + * gst/rtsp-server/rtsp-client.c: + rtsp-client: Only allow to set either a send_func or send_messages_func but not both + And route all messages through the send_func if no send_messages_func + was provided. + We otherwise break backwards compatibility. + +2018-09-17 22:18:46 +0300 Sebastian Dröge + + * docs/libs/gst-rtsp-server-sections.txt: + * gst/rtsp-server/rtsp-client.c: + * gst/rtsp-server/rtsp-client.h: + * gst/rtsp-server/rtsp-stream.c: + rtsp-client: Add support for sending buffer lists directly + Fixes https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/issues/29 + +2018-06-27 12:17:07 +0200 Sebastian Dröge + + * docs/libs/gst-rtsp-server-sections.txt: + * gst/rtsp-server/rtsp-client.c: + * gst/rtsp-server/rtsp-media.c: + * gst/rtsp-server/rtsp-stream-transport.c: + * gst/rtsp-server/rtsp-stream-transport.h: + * gst/rtsp-server/rtsp-stream.c: + * gst/rtsp-sink/gstrtspclientsink.c: + rtsp-server: Add support for buffer lists + This adds new functions for passing buffer lists through the different + layers without breaking API/ABI, and enables the appsink to actually + provide buffer lists. + This should already reduce CPU usage and potentially context switches a + bit by passing a whole buffer list from the appsink instead of + individual buffers. As a next step it would be necessary to + a) Add support for a vector of data for the GstRTSPMessage body + b) Add support for sending multiple messages at once to the + GstRTSPWatch and let it be handled internally + c) Adding API to GOutputStream that works like writev() + Fixes https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/issues/29 + +2018-12-04 14:12:04 +0100 Benjamin Berg + + * gst/rtsp-server/rtsp-client.c: + client: Fix crash in close handler + The close handler could trigger a crash because it invalidated the + watch_context while still leaving a source attached to it which would be + cleaned up at a later point. + +2019-01-29 14:42:35 +0100 Edward Hervey + + * gst/rtsp-server/rtsp-stream.c: + rtsp-stream: Use cached address when allocating sockets + If an address/port was previously decided upon (ex: multicast in the + SDP), then use that instead of re-creating another one + Fixes https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/issues/57 + +2018-12-27 11:28:17 +0100 Lars Wiréen + + * gst/rtsp-server/rtsp-media.c: + rtsp-media: Fix race codition in finish_unprepare + The previous fix for race condition around finish_unprepare where the + function could be called twice assumed that the status wouldn't change + during execution of the function. This assumption is incorrect as the + state may change, for example if an error message arrives from the + pipeline bus. + Instead a flag keeping track on whether the finish_unprepare function + is currently executing is introduced and checked. + Fixes https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/issues/59 + +=== release 1.15.1 === + +2019-01-17 02:26:48 +0000 Tim-Philipp Müller + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gst-rtsp-server.doap: + * meson.build: + Release 1.15.1 + +2018-12-05 15:07:25 +0100 Patricia Muscalu + + * gst/rtsp-server/rtsp-stream.c: + Add source elements to the pipeline before activation + In plug_src we changed the element state before adding it to + the owner container. This prevented the pipeline from intercepting + a GST_STREAM_STATUS_TYPE_CREATE message from the pad in order + to assign a custom task pool. + Fixes https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/issues/53 + +2018-12-05 17:24:59 -0300 Thibault Saunier + + * common: + Automatic update of common submodule + From ed78bee to 59cb678 + +2018-11-20 19:12:09 +0100 Ingo Randolf + + * examples/test-appsrc.c: + examples: test-appsrc: fix coding style error + +2018-11-20 11:07:48 +0100 Ingo Randolf + + * examples/test-appsrc.c: + examples: test-appsrc: fix buffer leak + +2018-11-17 19:19:54 +0100 Patricia Muscalu + + * gst/rtsp-server/rtsp-media.c: + rtsp-media: Update priv->blocked when linked streams are unblocked. + Media is considered to be blocked when all streams that belong to + that media are blocked. + This patch solves the problem of inconsistent updates of + priv->blocked that are not synchronized with the media state. + +2018-11-17 18:18:27 +0100 Patricia Muscalu + + * gst/rtsp-server/rtsp-media.c: + rtsp-media: Don't block streams before seeking + Before the seek operation is performed on media, it's required that + its pipeline is prepared <=> the pipeline is in the PAUSED state. + At this stage, all transport parts (transport sinks) have been successfully + added to the pipeline and there is no need for blocking the streams. + +2018-11-17 16:11:53 +0100 Patricia Muscalu + + * tests/check/gst/rtspserver.c: + tests: rtspserver: Add shared media test case for TCP + +2018-11-06 18:21:54 +0100 Linus Svensson + + * gst/rtsp-server/rtsp-stream.c: + rtsp-stream: Use seqnum-offset for rtpinfo + The sequence number in the rtpinfo is supposed to be the first RTP + sequence number. The "seqnum" property on a payloader is supposed to be + the number from the last processed RTP packet. The sequence number for + payloaders that inherit gstrtpbasepayload will not be correct in case of + buffer lists. In order to fix the seqnum property on the payloaders + gst-rtsp-server must get the sequence number for rtpinfo elsewhere and + "seqnum-offset" from the "stats" property contains the value of the + very first RTP packet in a stream. The server will, however, try to look + at the last simple in the sink element and only use properties on the + payloader in case there no sink elements yet, and by looking at the last + sample of the sink gives the server full control of which RTP packet it + looks at. If the payloader does not have the "stats" property, "seqnum" + is still used since "seqnum-offset" is only present in as part of + "stats" and this is still an issue not solved with this patch. + Needed for gst-plugins-base!17 + +2018-11-06 18:10:56 +0100 Linus Svensson + + * gst/rtsp-server/rtsp-stream.c: + rtsp-stream: Plug memory leak + Attaching a GSource to a context will increase the refcount. The idle + source will never be free'd since the initial reference is never + dropped. + +2018-11-12 16:06:39 +0200 Jordan Petridis + + * .gitlab-ci.yml: + Add Gitlab CI configuration + This commit adds a .gitlab-ci.yml file, which uses a feature + to fetch the config from a centralized repository. The intent is + to have all the gstreamer modules use the same configuration. + The configuration is currently hosted at the gst-ci repository + under the gitlab/ci_template.yml path. + Part of https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/29 + +2018-11-05 05:56:35 +0000 Matthew Waters + + * .gitmodules: + * gst-rtsp-server.doap: + Update git locations to gitlab + +2018-11-01 14:20:16 +0100 Mathieu Duponchelle + + * gst/rtsp-server/meson.build: + meson: add new onvif types + +2018-11-01 12:49:51 +0200 Sebastian Dröge + + * gst/rtsp-server/meson.build: + Add ONVIF subclass headers to the installed headers in meson.build too + +2018-11-01 11:29:01 +0200 Sebastian Dröge + + * gst/rtsp-server/rtsp-server-object.h: + * gst/rtsp-server/rtsp-server.h: + rtsp-server: Declare GstRTSPServer struct before anything else + It's needed by all kinds of other headers, including the ones that are + required for defining the GstRTSPServer struct itself and its API. + +2018-11-01 10:23:02 +0200 Sebastian Dröge + + * gst/rtsp-server/rtsp-onvif-client.h: + * gst/rtsp-server/rtsp-onvif-media-factory.h: + * gst/rtsp-server/rtsp-onvif-media.h: + * gst/rtsp-server/rtsp-onvif-server.h: + Mark all ONVIF-specific subclasses as Since 1.14 + +2018-11-01 10:18:22 +0200 Sebastian Dröge + + * gst/rtsp-server/Makefile.am: + * gst/rtsp-server/meson.build: + * gst/rtsp-server/rtsp-context.h: + * gst/rtsp-server/rtsp-onvif-server.c: + * gst/rtsp-server/rtsp-onvif-server.h: + * gst/rtsp-server/rtsp-server-object.h: + * gst/rtsp-server/rtsp-server-prelude.h: + * gst/rtsp-server/rtsp-server.c: + * gst/rtsp-server/rtsp-server.h: + * gst/rtsp-server/rtsp-session.h: + Include ONVIF types from single-include rtsp-server.h + ... by actually making it a single-include header and moving everything + related to the GstRTSPServer type to rtsp-server-object.h instead. + Otherwise there are too many circular includes. + https://bugzilla.gnome.org/show_bug.cgi?id=797361 + +2018-10-18 07:25:05 +0200 Göran Jönsson + + * gst/rtsp-server/rtsp-client.c: + * gst/rtsp-server/rtsp-latency-bin.c: + * gst/rtsp-server/rtsp-stream.c: + * gst/rtsp-server/rtsp-stream.h: + rtsp-stream: use idle source in on_message_sent + When the underlying layers are running on_message_sent, this sometimes + causes the underlying layer to send more data, which will cause the + underlying layer to run callback on_message_sent again. This can go on + and on. + To break this chain, we introduce an idle source that takes care of + sending data if there are more to send when running callback + https://bugzilla.gnome.org/show_bug.cgi?id=797289 + +2018-10-20 16:14:53 +0200 Edward Hervey + + * gst/rtsp-server/rtsp-client.c: + rtsp-client: Remove timeout GSource on cleanup + Avoids ending up with races where a timeout would still be around + *after* a client was gone. This could happen rather easily in + RTSP-over-HTTP mode on a local connection, where each RTSP message + would be sent as a different HTTP connection with the same tunnelid. + If not properly removed, that timeout would then try to free again + a client (and its contents). + +2018-10-04 14:31:59 +0100 Tim-Philipp Müller + + * gst/rtsp-server/Makefile.am: + autotools: fix distcheck + +2018-09-12 11:55:15 +0200 Ognyan Tonchev + + * gst/rtsp-server/Makefile.am: + * gst/rtsp-server/meson.build: + * gst/rtsp-server/rtsp-latency-bin.c: + * gst/rtsp-server/rtsp-latency-bin.h: + * gst/rtsp-server/rtsp-onvif-media.c: + onvif: encapsulate onvif part into a bin + ...and thus do not let onvif affect pipelines latency + https://bugzilla.gnome.org/show_bug.cgi?id=797174 + +2018-09-27 19:57:13 +0200 Patricia Muscalu + + * tests/check/gst/client.c: + tests: client: Avoid bind() failures in tests + https://bugzilla.gnome.org/show_bug.cgi?id=797059 + +2018-09-06 16:17:33 +0200 Patricia Muscalu + + * gst/rtsp-server/rtsp-media-factory.c: + * gst/rtsp-server/rtsp-media-factory.h: + * gst/rtsp-server/rtsp-media.c: + * gst/rtsp-server/rtsp-media.h: + * gst/rtsp-server/rtsp-stream.c: + * gst/rtsp-server/rtsp-stream.h: + * tests/check/gst/client.c: + * tests/check/gst/mediafactory.c: + New property for socket binding to mcast addresses + By default the multicast sockets are bound to INADDR_ANY, + as it's not allowed to bind sockets to multicast addresses + in Windows. This default behaviour can be changed by setting + bind-mcast-address property on the media-factory object. + https://bugzilla.gnome.org/show_bug.cgi?id=797059 + +2018-09-24 09:36:21 +0100 Tim-Philipp Müller + + * configure.ac: + * gst/rtsp-server/Makefile.am: + * gst/rtsp-server/meson.build: + * gst/rtsp-server/rtsp-address-pool.c: + * gst/rtsp-server/rtsp-auth.c: + * gst/rtsp-server/rtsp-client.c: + * gst/rtsp-server/rtsp-context.c: + * gst/rtsp-server/rtsp-media-factory-uri.c: + * gst/rtsp-server/rtsp-media-factory.c: + * gst/rtsp-server/rtsp-media.c: + * gst/rtsp-server/rtsp-mount-points.c: + * gst/rtsp-server/rtsp-params.c: + * gst/rtsp-server/rtsp-permissions.c: + * gst/rtsp-server/rtsp-sdp.c: + * gst/rtsp-server/rtsp-server-prelude.h: + * gst/rtsp-server/rtsp-server.c: + * gst/rtsp-server/rtsp-session-media.c: + * gst/rtsp-server/rtsp-session-pool.c: + * gst/rtsp-server/rtsp-session.c: + * gst/rtsp-server/rtsp-stream-transport.c: + * gst/rtsp-server/rtsp-stream.c: + * gst/rtsp-server/rtsp-thread-pool.c: + * gst/rtsp-server/rtsp-token.c: + * meson.build: + libs: fix API export/import and 'inconsistent linkage' on MSVC + Export rtsp-server library API in headers when we're building the + library itself, otherwise import the API from the headers. + This fixes linker warnings on Windows when building with MSVC. + Fix up some missing config.h includes when building the lib which + is needed to get the export api define from config.h + https://bugzilla.gnome.org/show_bug.cgi?id=797185 + +2018-09-19 14:31:56 +0200 Edward Hervey + + * gst/rtsp-server/rtsp-media-factory.c: + rtsp-media-factory: Add missing break statements + This resulted in warnings/assertions whenever one accessed the + max-mcast-ttl property. + CID #1439515 + CID #1439523 + +2018-09-19 12:21:30 +0100 Tim-Philipp Müller + + * meson.build: + * meson_options.txt: + meson: add gobject-cast-checks, glib-asserts, glib-checks options + +2018-09-19 12:17:57 +0100 Tim-Philipp Müller + + * gst/meson.build: + * meson_options.txt: + * tests/check/meson.build: + meson: add option to disable build of rtspclientsink plugin + +2018-09-19 12:10:14 +0100 Tim-Philipp Müller + + * meson_options.txt: + meson: re-arrange options + +2018-09-01 11:21:15 +0530 Nirbheek Chauhan + + * meson.build: + * meson_options.txt: + * tests/check/meson.build: + * tests/meson.build: + meson: Use feature option for tests option + This was somehow missed the last time around. + +2018-08-31 14:42:15 +0530 Nirbheek Chauhan + + * gst/rtsp-server/meson.build: + * meson.build: + meson: Maintain macOS ABI through dylib versioning + Requires Meson 0.48, but the feature will be ignored on older versions + so it's safe to add it without bumping the requirement. + Documentation: + https://github.com/mesonbuild/meson/blob/master/docs/markdown/Reference-manual.md#shared_library + +2018-08-31 17:20:47 +1000 Matthew Waters + + * gst/rtsp-sink/meson.build: + * meson.build: + meson: add pkg-config file for the rtspclientsink plugin + +2018-08-17 09:54:27 +0200 David Svensson Fors + + * gst/rtsp-server/rtsp-client.c: + * tests/check/gst/client.c: + rtsp-client: Avoid reuse of channel numbers for interleaved + If a (strange) client would reuse interleaved channel numbers in + multiple SETUP requests, we should not accept them. The channel + numbers are used for looking up stream transports in the + priv->transports hash table, and transports disappear from the table + if channel numbers are reused. + RFC 7826 (RTSP 2.0), Section 18.54, clarifies that it is OK for the + server to change the channel numbers suggested by the client. + https://bugzilla.gnome.org/show_bug.cgi?id=796988 + +2018-08-17 09:54:27 +0200 David Svensson Fors + + * tests/check/gst/client.c: + rtsp-client: Add unit test of SETUP for RTSP/RTP/TCP + Allow regex for matching transport header against expected pattern. + https://bugzilla.gnome.org/show_bug.cgi?id=796988 + +2018-08-15 18:57:27 +0530 Nirbheek Chauhan + + * tests/check/meson.build: + meson: There is no gstreamer-plugins-good-1.0.pc + There is no installed version of that, only an uninstalled version. + +2018-08-14 14:31:55 +0300 Sebastian Dröge + + * gst/rtsp-server/rtsp-client.c: + * tests/check/gst/stream.c: + Fix indentation again + +2018-07-26 12:01:16 +0200 Patricia Muscalu + + * gst/rtsp-server/rtsp-client.c: + * gst/rtsp-server/rtsp-stream.c: + * gst/rtsp-server/rtsp-stream.h: + * tests/check/gst/client.c: + * tests/check/gst/stream.c: + stream: Added a list of multicast client addresses + When media is shared, the same media stream can be sent + to multiple multicast groups. Currently, there is no API + to retrieve multicast addresses from the stream. + When calling gst_rtsp_stream_get_multicast_address() function, + only the first multicast address is returned. + With this patch, each multicast destination requested in SETUP + will be stored in an internal list (call to + gst_rtsp_stream_add_multicast_client_address()). + The list of multicast groups requested by the clients can be + retrieved by calling gst_rtsp_stream_get_multicast_client_addresses(). + There still exist some problems with the current implementation + in the multicast case: + 1) The receiving part is currently only configured with + regard to the first multicast client (see + https://bugzilla.gnome.org/show_bug.cgi?id=796917). + 2) Secondly, of security reasons, some constraints should be + put on the requested multicast destinations (see + https://bugzilla.gnome.org/show_bug.cgi?id=796916). + Change-Id: I6b060746e472a0734cc2fd828ffe4ea2956733ea + https://bugzilla.gnome.org/show_bug.cgi?id=793441 + +2018-07-25 15:33:18 +0200 Patricia Muscalu + + * gst/rtsp-server/rtsp-client.c: + * gst/rtsp-server/rtsp-stream.c: + * gst/rtsp-server/rtsp-stream.h: + * tests/check/gst/client.c: + stream: Choose the maximum ttl value provided by multicast clients + The maximum ttl value provided so far by the multicast clients + will be chosen and reported in the response to the current + client request. + Change-Id: I5408646e3b5a0a224d907ae215bdea60c4f1905f + https://bugzilla.gnome.org/show_bug.cgi?id=793441 + +2018-02-23 14:34:32 +0100 Patricia Muscalu + + * gst/rtsp-server/rtsp-stream.c: + * tests/check/gst/client.c: + rtsp-stream: Don't require address pool in the transport specific case + If "transport.client-settings" parameter is set to true, the client is + allowed to specify destination, ports and ttl. + There is no need for pre-configured address pool. + Change-Id: I6ae578fb5164d78e8ec1e2ee82dc4eaacd0912d1 + https://bugzilla.gnome.org/show_bug.cgi?id=793441 + +2018-07-24 14:02:40 +0200 Patricia Muscalu + + * gst/rtsp-server/rtsp-client.c: + * tests/check/gst/client.c: + client: Don't reserve multicast address in the client setting case + When two multicast clients request specific transport + configurations, and "transport.client-settings" parameter is + set to true, it's wrong to actually require that these two + clients request the same multicast group. + Removed test_client_multicast_invalid_transport_specific test + cases as they wrongly require that the requested destination + address is supposed to be present in the address pool, also in + the case when "transport.client-settings" parameter is set to true. + Change-Id: I4580182ef35996caf644686d6139f72ec599c9fa + https://bugzilla.gnome.org/show_bug.cgi?id=793441 + +2018-07-24 09:35:46 +0200 Patricia Muscalu + + * gst/rtsp-server/rtsp-media-factory.c: + * gst/rtsp-server/rtsp-media-factory.h: + * gst/rtsp-server/rtsp-media.c: + * gst/rtsp-server/rtsp-media.h: + * gst/rtsp-server/rtsp-stream.c: + * gst/rtsp-server/rtsp-stream.h: + * tests/check/gst/mediafactory.c: + Add new API for setting/getting maximum multicast ttl value + Change-Id: I5ef4758188c14785e17fb8fbf42a3dc0cb054233 + https://bugzilla.gnome.org/show_bug.cgi?id=793441 + +2018-07-31 21:17:41 +0200 Mathieu Duponchelle + + * gst/rtsp-server/rtsp-stream.c: + rtsp-stream: avoid duplicating the first multicast client + In dcb4533fedae3ac62bc25a916eb95927b7d69aec , we made it so + clients were dynamically added and removed to the multicast + udp sinks, as such we should no longer add a first client in + set_multicast_socket_for_udpsink + https://bugzilla.gnome.org/show_bug.cgi?id=793441 + +2018-08-14 14:25:53 +0300 Sebastian Dröge + + * gst/rtsp-server/rtsp-stream.c: + Revert "rtsp-stream: avoid duplicating the first multicast client" + This reverts commit 33570944401747f44d8ebfec535350651413fb92. + Commits where accidentially squashed together + +2018-08-14 14:25:42 +0300 Sebastian Dröge + + * gst/rtsp-server/rtsp-client.c: + * gst/rtsp-server/rtsp-media-factory.c: + * gst/rtsp-server/rtsp-media-factory.h: + * gst/rtsp-server/rtsp-media.c: + * gst/rtsp-server/rtsp-media.h: + * gst/rtsp-server/rtsp-stream.c: + * gst/rtsp-server/rtsp-stream.h: + * tests/check/gst/client.c: + * tests/check/gst/mediafactory.c: + Revert "Add new API for setting/getting maximum multicast ttl value" + This reverts commit 7f0ae77e400fb8a0462a76a5dd2e63e12c4a2e52. + Commits where accidentially squashed together + +2018-08-14 14:25:37 +0300 Sebastian Dröge + + * gst/rtsp-server/rtsp-stream.c: + * tests/check/gst/client.c: + Revert "rtsp-stream: Don't require address pool in the transport specific case" + This reverts commit a9db3e7f092cfeb5475e9aa24b1e91906c141d52. + Commits where accidentially squashed together + +2018-08-14 14:25:14 +0300 Sebastian Dröge + + * gst/rtsp-server/rtsp-client.c: + * gst/rtsp-server/rtsp-stream.c: + * gst/rtsp-server/rtsp-stream.h: + * tests/check/gst/client.c: + * tests/check/gst/stream.c: + Revert "stream: Choose the maximum ttl value provided by multicast clients" + This reverts commit 499e437e501215849d24cdaa157e0edf4de097d0. + Commits where accidentially squashed together + +2018-08-14 14:10:56 +0300 Sebastian Dröge + + * examples/test-auth-digest.c: + examples: Fix indentation + +2018-07-25 15:33:18 +0200 Patricia Muscalu + + * gst/rtsp-server/rtsp-client.c: + * gst/rtsp-server/rtsp-stream.c: + * gst/rtsp-server/rtsp-stream.h: + * tests/check/gst/client.c: + * tests/check/gst/stream.c: + stream: Choose the maximum ttl value provided by multicast clients + The maximum ttl value provided so far by the multicast clients + will be chosen and reported in the response to the current + client request. + https://bugzilla.gnome.org/show_bug.cgi?id=793441 + +2018-02-23 14:34:32 +0100 Patricia Muscalu + + * gst/rtsp-server/rtsp-stream.c: + * tests/check/gst/client.c: + rtsp-stream: Don't require address pool in the transport specific case + If "transport.client-settings" parameter is set to true, the client is + allowed to specify destination, ports and ttl. + There is no need for pre-configured address pool. + https://bugzilla.gnome.org/show_bug.cgi?id=793441 + +2018-07-24 09:35:46 +0200 Patricia Muscalu + + * gst/rtsp-server/rtsp-client.c: + * gst/rtsp-server/rtsp-media-factory.c: + * gst/rtsp-server/rtsp-media-factory.h: + * gst/rtsp-server/rtsp-media.c: + * gst/rtsp-server/rtsp-media.h: + * gst/rtsp-server/rtsp-stream.c: + * gst/rtsp-server/rtsp-stream.h: + * tests/check/gst/client.c: + * tests/check/gst/mediafactory.c: + Add new API for setting/getting maximum multicast ttl value + https://bugzilla.gnome.org/show_bug.cgi?id=793441 + +2018-07-31 21:17:41 +0200 Mathieu Duponchelle + + * gst/rtsp-server/rtsp-stream.c: + rtsp-stream: avoid duplicating the first multicast client + In dcb4533fedae3ac62bc25a916eb95927b7d69aec , we made it so + clients were dynamically added and removed to the multicast + udp sinks, as such we should no longer add a first client in + set_multicast_socket_for_udpsink + https://bugzilla.gnome.org/show_bug.cgi?id=793441 + +2018-08-06 15:33:04 -0400 Thibault Saunier + + * gst/rtsp-server/Makefile.am: + rtsp-server: Add gstreamer-base gir dir in autotools + +2018-07-25 19:54:55 +0200 Mathieu Duponchelle + + * gst/rtsp-server/rtsp-client.c: + * gst/rtsp-server/rtsp-stream.c: + rtsp-client: always allocate both IPV4 and IPV6 sockets + multiudpsink does not support setting the socket* properties + after it has started, which meant that rtsp-server could no + longer serve on both IPV4 and IPV6 sockets since the patches + from https://bugzilla.gnome.org/show_bug.cgi?id=757488 were + merged. + When first connecting an IPV6 client then an IPV4 client, + multiudpsink fell back to using the IPV6 socket. + When first connecting an IPV4 client, then an IPV6 client, + multiudpsink errored out, released the IPV4 socket, then + crashed when trying to send a message on NULL nevertheless, + that is however a separate issue. + This could probably be fixed by handling the setting of + sockets in multiudpsink after it has started, that will + however be a much more significant effort. + For now, this commit simply partially reverts the behaviour + of rtsp-stream: it will continue to only create the udpsinks + when needed, as was the case since the patches were merged, + it will however when creating them, always allocate both + sockets and set them on the sink before it starts, as was + the case prior to the patches. + Transport configuration will only error out if the allocation + of UDP sockets fails for the actual client's family, this + also downgrades the GST_ERRORs in alloc_ports_one_family + to GST_WARNINGs, as failing to allocate is no longer + necessarily fatal. + https://bugzilla.gnome.org/show_bug.cgi?id=796875 + +2018-07-25 17:22:20 +0530 Nirbheek Chauhan + + * meson.build: + * meson_options.txt: + meson: Convert common options to feature options + These are necessary for gst-build to set options correctly. The + remaining automagic option is cgroup support in examples. + https://bugzilla.gnome.org/show_bug.cgi?id=795107 + +2018-07-23 18:03:51 +0300 Sebastian Dröge + + * gst/rtsp-server/rtsp-stream.c: + rtsp-stream: Slightly simplify locking + +2018-06-28 11:22:21 +0200 David Svensson Fors + + * gst/rtsp-server/rtsp-client.c: + * gst/rtsp-server/rtsp-stream-transport.c: + * gst/rtsp-server/rtsp-stream-transport.h: + * gst/rtsp-server/rtsp-stream.c: + Limit queued TCP data messages to one per stream + Before, the watch backlog size in GstRTSPClient was changed + dynamically between unlimited and a fixed size, trying to avoid both + unlimited memory usage and deadlocks while waiting for place in the + queue. (Some of the deadlocks were described in a long comment in + handle_request().) + In the previous commit, we changed to a fixed backlog size of 100. + This is possible, because we now handle RTP/RTCP data messages differently + from RTSP request/response messages. + The data messages are messages tunneled over TCP. We allow at most one + queued data message per stream in GstRTSPClient at a time, and + successfully sent data messages are acked by sending a "message-sent" + callback from the GstStreamTransport. Until that ack comes, the + GstRTSPStream does not call pull_sample() on its appsink, and + therefore the streaming thread in the pipeline will not be blocked + inside GstRTSPClient, waiting for a place in the queue. + pull_sample() is called when we have both an ack and a "new-sample" + signal from the appsink. Then, we know there is a buffer to write. + RTSP request/response messages are not acked in the same way as data + messages. The rest of the 100 places in the queue are used for + them. If the queue becomes full of request/response messages, we + return an error and close the connection to the client. + Change-Id: I275310bc90a219ceb2473c098261acc78be84c97 + +2018-06-28 11:22:13 +0200 David Svensson Fors + + * gst/rtsp-server/rtsp-client.c: + rtsp-client: Use fixed backlog size + Change to using a fixed backlog size WATCH_BACKLOG_SIZE. + Preparation for the next commit, which changes to a different way of + avoiding both deadlocks and unlimited memory usage with the watch + backlog. + +2018-07-16 21:57:08 +0200 Carlos Rafael Giani + + * gst/rtsp-server/rtsp-media.c: + rtsp-media: unref clock (if set) when finalizing + https://bugzilla.gnome.org/show_bug.cgi?id=796814 + +2018-07-16 21:56:44 +0200 Carlos Rafael Giani + + * docs/libs/gst-rtsp-server-sections.txt: + rtsp-media: add gst_rtsp_media_*_set_clock to docs + https://bugzilla.gnome.org/show_bug.cgi?id=796814 + +2018-07-12 19:01:54 +0100 Tim-Philipp Müller + + * gst/rtsp-server/rtsp-media-factory.c: + media-factory: unref old clock when setting new clock + https://bugzilla.gnome.org/show_bug.cgi?id=796724 + +2018-06-29 15:20:57 -0700 Brendan Shanks + + * gst/rtsp-server/rtsp-media-factory.c: + media-factory: unref clock in finalize + https://bugzilla.gnome.org/show_bug.cgi?id=796724 + +2018-07-12 18:57:21 +0100 Tim-Philipp Müller + + * gst/rtsp-server/rtsp-onvif-media.c: + rtsp-onvif-media: fix g-ir-scanner warnings + +2018-07-10 23:56:23 +0100 Tim-Philipp Müller + + * .gitignore: + .gitignore: add another example binary + +2018-07-10 23:55:20 +0100 Tim-Philipp Müller + + * examples/meson.build: + meson: add new test-appsrc2 example to meson build + +2018-07-10 23:53:41 +0100 Tim-Philipp Müller + + * examples/Makefile.am: + examples: fix build of new test-appsrc2 example + Need to link against libgstapp-1.0. + +2018-07-11 01:25:51 +1000 Jan Schmidt + + * examples/.gitignore: + * examples/Makefile.am: + * examples/test-appsrc2.c: + examples: Add test-appsrc2 + Add an example of feeding both audio and video into an RTSP + pipeline via appsrc. + +2016-01-08 18:12:14 -0500 Louis-Francis Ratté-Boulianne + + * gst/rtsp-server/rtsp-client.c: + client: Strip transport parts as whitespaces could be around commas + https://bugzilla.gnome.org/show_bug.cgi?id=758428 + +2018-06-27 08:30:42 +0200 Göran Jönsson + + * gst/rtsp-server/rtsp-stream.c: + rtsp-stream: avoid pushing data on unlinked udpsrc pad during setup + Fix race when setting up source elements. + Since we set the source element(s) to PLAYING state before hooking + them up to the downstream funnel, it's possible for the source element + to receive packets before we actually get to linking it to the funnel, + in which case buffers would be pushed out on an unlinked pad, causing + it to error out and stop receiving more data. + We fix this by blocking the source's srcpad until we have linked it. + https://bugzilla.gnome.org/show_bug.cgi?id=796160 + +2018-03-21 10:56:51 +0100 Ognyan Tonchev + + * gst/rtsp-server/rtsp-stream.c: + rtsp-stream: Fix mismatch between allowed and configured protocols + https://bugzilla.gnome.org/show_bug.cgi?id=796679 + +2017-02-01 09:44:50 +0100 Ulf Olsson + + * gst/rtsp-server/rtsp-stream.c: + rtsp-stream: Emit a signal when the SRTP decoder is created + https://bugzilla.gnome.org/show_bug.cgi?id=778080 + +2018-03-13 11:10:35 +0100 Patricia Muscalu + + * gst/rtsp-server/rtsp-stream.c: + rtsp-stream: Don't require presence of sinks in _get_*_socket() + Transport specific sink elements are added to the pipeline + in PLAY request and sockets are already created in SETUP so + it's actually wrong to require the presence of sinks in + _get_*_socket() functions. + https://bugzilla.gnome.org/show_bug.cgi?id=793441 + +2018-02-14 10:41:02 +0100 Patricia Muscalu + + * gst/rtsp-server/rtsp-stream.c: + rtsp-stream: Update transport for multicast clients as well + If a multicast client requests different transport settings + than the existing one make sure that this new transport + configuruation is propagated to the multicast udp sink. + https://bugzilla.gnome.org/show_bug.cgi?id=793441 + +2018-02-13 11:04:36 +0100 Patricia Muscalu + + * gst/rtsp-server/rtsp-stream.c: + rtsp-stream: Set the multicast TTL parameter on multicast udp sinks + And not on unicast udp sinks + https://bugzilla.gnome.org/show_bug.cgi?id=793441 + +2018-06-24 12:44:26 +0200 Tim-Philipp Müller + + * gst/rtsp-server/rtsp-address-pool.c: + * gst/rtsp-server/rtsp-auth.c: + * gst/rtsp-server/rtsp-client.c: + * gst/rtsp-server/rtsp-media-factory-uri.c: + * gst/rtsp-server/rtsp-media-factory.c: + * gst/rtsp-server/rtsp-media.c: + * gst/rtsp-server/rtsp-mount-points.c: + * gst/rtsp-server/rtsp-server.c: + * gst/rtsp-server/rtsp-session-media.c: + * gst/rtsp-server/rtsp-session-pool.c: + * gst/rtsp-server/rtsp-session.c: + * gst/rtsp-server/rtsp-stream-transport.c: + * gst/rtsp-server/rtsp-stream.c: + * gst/rtsp-server/rtsp-thread-pool.c: + Update for g_type_class_add_private() deprecation in recent GLib + +2018-06-24 12:45:49 +0200 Tim-Philipp Müller + + * gst/rtsp-server/rtsp-auth.c: + * gst/rtsp-server/rtsp-media.c: + * gst/rtsp-server/rtsp-sdp.c: + * gst/rtsp-server/rtsp-stream.c: + Fix indentation + +2018-06-22 23:17:08 +1000 Jan Schmidt + + * examples/Makefile.am: + * examples/test-video-disconnect.c: + examples: Add test-video-disconnect example + Simple example which cuts off all clients 10 seconds + after the first one connects. + +2018-06-20 04:37:11 +0200 Mathieu Duponchelle + + * docs/libs/gst-rtsp-server-sections.txt: + * examples/test-auth-digest.c: + * gst/rtsp-server/rtsp-auth.c: + * gst/rtsp-server/rtsp-auth.h: + rtsp-auth: Add support for parsing .htdigest files + Passwords are usually not stored in clear text, but instead + stored already hashed in a .htdigest file. + Add support for parsing such files, add API to allow setting + a custom realm in RTSPAuth, and update the digest example. + https://bugzilla.gnome.org/show_bug.cgi?id=796637 + +2018-06-19 14:53:02 +1000 Matthew Waters + + * gst/rtsp-sink/gstrtspclientsink.c: + * gst/rtsp-sink/gstrtspclientsink.h: + rtspclientsink: fix waiting for multiple streams + We were previously only ever waiting for a single stream to notify it's + blocked status through GstRTSPStreamBlocking. Actually count streams to + wait for. + Fixes rtspclientsink sending SDP's without out some of the input + streams. + https://bugzilla.gnome.org/show_bug.cgi?id=796624 + +2018-06-20 04:30:04 +0200 Mathieu Duponchelle + + * docs/libs/gst-rtsp-server-sections.txt: + docs: add missing auth methods + +2018-06-20 00:10:18 +0200 Mathieu Duponchelle + + * gst/rtsp-server/rtsp-stream.c: + rtsp-stream: only create funnel if it didn't exist already. + This precented using multiple protocols for the same stream. + https://bugzilla.gnome.org/show_bug.cgi?id=796634 + +2018-06-20 01:35:47 +0200 Mathieu Duponchelle + + * examples/meson.build: + meson: build auth-digest example + +2018-06-05 08:44:44 +0200 Patricia Muscalu + + * gst/rtsp-server/rtsp-client.c: + * gst/rtsp-server/rtsp-media.c: + * gst/rtsp-server/rtsp-sdp.c: + * gst/rtsp-server/rtsp-session-media.c: + * gst/rtsp-server/rtsp-stream-transport.c: + Get payloader stats only for the sending streams + Get/set payloader properties only for streams that actually + contain a payloader element. + https://bugzilla.gnome.org/show_bug.cgi?id=796523 + +2018-05-18 14:53:49 +0200 Edward Hervey + + * gst/rtsp-server/Makefile.am: + Makefile: Don't hardcode libtool for g-i build + Similar to the other commits in core/base/bad + +2018-05-08 14:13:31 +0200 Johan Bjäreholt + + * gst/rtsp-server/rtsp-onvif-media-factory.h: + rtsp-onvif-media-factory: export gst_rtsp_onvif_media_factory_requires_backchannel + https://bugzilla.gnome.org/show_bug.cgi?id=796229 + +2018-05-09 04:09:02 +1000 Jan Schmidt + + * gst/rtsp-sink/gstrtspclientsink.c: + rtspclientsink: Don't deadlock in preroll on early close + If the connection is closed very early, the flushing + marker might not get set and rtspclientsink can get + deadlocked waiting for preroll forever. + https://bugzilla.gnome.org/show_bug.cgi?id=786961 + +2018-05-05 19:51:52 +0530 Nirbheek Chauhan + + * meson.build: + * meson_options.txt: + meson: Update option names to omit disable_ and with- prefixes + Also yield common options to the outer project (gst-build in our case) + so that they don't have to be set manually. + +2018-04-25 11:00:32 +0100 Tim-Philipp Müller + + * meson.build: + meson: use -Wl,-Bsymbolic-functions where supported + Just like the autotools build. + +2018-04-22 20:09:01 +0100 Tim-Philipp Müller + + * configure.ac: + * tests/check/Makefile.am: + configure: check for -good and -bad plugins only in uninstalled setup + Avoids confusing configure messages looking or a -good .pc file + that doesn't exist. + Also use plugindir variables that common macros set while at it. + https://bugzilla.gnome.org/show_bug.cgi?id=795466 + +2018-04-17 11:03:11 +0200 Joakim Johansson + + * gst/rtsp-server/rtsp-client.c: + rtsp-client: Fix session timeout + When streaming data over TCP then is not the keep-alive + functionality working. + The reason is that the function do_send_data have changed + to boolean but the code is still checking the received result + from send_func with GST_RTSP_OK. + The result is that a successful send_func will always lead to + that do_send_data is returning false and the keep-alive will + not be updated. + https://bugzilla.gnome.org/show_bug.cgi?id=795321 + +2018-04-02 22:49:35 +0200 Mathieu Duponchelle + + * docs/libs/gst-rtsp-server-sections.txt: + * gst/rtsp-server/rtsp-media.c: + * gst/rtsp-server/rtsp-sdp.c: + * gst/rtsp-server/rtsp-stream.c: + * gst/rtsp-server/rtsp-stream.h: + * gst/rtsp-sink/gstrtspclientsink.c: + * gst/rtsp-sink/gstrtspclientsink.h: + Implement support for ULP Forward Error Correction + In this initial commit, interface is only exposed for RECORD, + further work will be needed in rtspsrc to support this for + PLAY. + https://bugzilla.gnome.org/show_bug.cgi?id=794911 + +2018-04-17 17:47:30 +0300 Sebastian Dröge + + * gst/rtsp-server/rtsp-onvif-media.c: + Revert "rtsp-server: Switch around sendonly/recvonly attributes" + This reverts commit 3d275b1345b76151418e3f56ed014d9089ac1a57. + While RFC 3264 (SDP) says that sendonly/recvonly are from the point of view of + the requester, the actual RTSP RFCs (RFC 2326 / 7826) disagree and say + the opposite, just like the ONVIF standard. + Let's follow those RFCs as we're doing RTSP here, and add a property at + a later time if needed to switch to the SDP RFC behaviour. + https://bugzilla.gnome.org/show_bug.cgi?id=793964 + +2018-04-16 10:53:52 +0100 Tim-Philipp Müller + + * common: + Automatic update of common submodule + From 3fa2c9e to ed78bee + +2018-04-04 10:06:06 +0300 Sebastian Dröge + + * gst/rtsp-server/rtsp-client.c: + * gst/rtsp-server/rtsp-media-factory.c: + * gst/rtsp-server/rtsp-media.c: + * gst/rtsp-server/rtsp-stream.c: + * tests/check/gst/rtspclientsink.c: + gst: Run everything through gst-indent again + +2018-04-03 08:57:47 +0200 Branko Subasic + + * gst/rtsp-server/rtsp-media.c: + * tests/check/gst/media.c: + rtsp-media: query the position on active streams if media is complete + If the media is complete, i.e. one or more streams have been configured + with sinks, then we want to query the position on those streams only. + A query on an incomplete stream may return a position that originates from + an earlier preroll. + https://bugzilla.gnome.org/show_bug.cgi?id=794964 + +2018-04-02 12:35:04 +0100 Tim-Philipp Müller + + * gst/rtsp-sink/gstrtspclientsink.c: + rtspclientsink: make sure not to use freed string + Set transport string to NULL after freeing it, so that + at worst we get a NULL pointer if constructing a new + transport string fails (which shouldn't really fail here). + Also check return value of that, just in case. + CID 1433768. + +2018-03-30 23:34:01 +0200 Mathieu Duponchelle + + * gst/rtsp-server/rtsp-client.c: + rtsp-client: do not free string passed to take_header + +2018-03-30 23:10:10 +0200 Mathieu Duponchelle + + * gst/rtsp-server/rtsp-stream.c: + rtsp-stream: do not take lock in request_aux_receiver + Added it right before pushing the previous commit, it is + incorrect and deadlocks because this function gets called + from the join_bin thread, which already holds the lock, + that's the reason why request_aux_sender didn't take the + lock either. + +2018-03-29 22:49:26 +0200 Mathieu Duponchelle + + * docs/libs/gst-rtsp-server-sections.txt: + * gst/rtsp-server/rtsp-media-factory.c: + * gst/rtsp-server/rtsp-media-factory.h: + * gst/rtsp-server/rtsp-media.c: + * gst/rtsp-server/rtsp-media.h: + * gst/rtsp-server/rtsp-stream.c: + * gst/rtsp-server/rtsp-stream.h: + rtsp-server: add API to enable retransmission requests + "do-retransmission" was previously set when rtx-time != 0, + which made no sense as do-retransmission is used to enable + the sending of retransmission requests, where as rtx-time + is used by the peer to enable storing of buffers in order + to respond to retransmission requests. + rtsp-media now also provides a callback for the + request-aux-receiver signal. + https://bugzilla.gnome.org/show_bug.cgi?id=794822 + +2018-03-29 16:18:42 +0200 Mathieu Duponchelle + + * gst/rtsp-sink/gstrtspclientsink.c: + rtspclientsink: add rtx ssrc to mikey's crypto sessions + https://bugzilla.gnome.org/show_bug.cgi?id=794813 + +2018-03-29 16:15:45 +0200 Mathieu Duponchelle + + * gst/rtsp-sink/gstrtspclientsink.c: + rtspclientsink: Handle the KeyMgmt header in ANNOUNCE response + This in order to be able to decrypt the RTCP backchannel + https://bugzilla.gnome.org/show_bug.cgi?id=794813 + +2018-03-29 16:12:26 +0200 Mathieu Duponchelle + + * gst/rtsp-server/rtsp-client.c: + rtsp-client: Send KeyMgmt header in ANNOUNCE response + When sending back an encrypted RTCP back channel, it is useful + for the client to know the encryption key. + https://bugzilla.gnome.org/show_bug.cgi?id=794813 + +2018-03-29 16:06:31 +0200 Mathieu Duponchelle + + * gst/rtsp-server/rtsp-client.c: + * gst/rtsp-server/rtsp-stream.c: + * gst/rtsp-server/rtsp-stream.h: + rtsp-stream: extract handle_keymgmt from rtsp-client + rtspclientsink will also need to parse KeyMgmt headers + sent by the server to decrypt the RTCP backchannel stream + https://bugzilla.gnome.org/show_bug.cgi?id=794813 + +2018-03-29 02:51:02 +0200 Mathieu Duponchelle + + * gst/rtsp-sink/gstrtspclientsink.c: + * tests/check/gst/rtspclientsink.c: + rtspclientsink: Fix client ports for the RTCP backchannel + This was broken since the work for delayed transport creation + was merged: the creation of the transports string depends on + calling stream_get_server_port, which only starts returning + something meaningful after a call to stream_allocate_udp_sockets + has been made, this function expects a transport that we parse + from the transport string ... + Significant refactoring is in order, but does not look entirely + trivial, for now we put a band aid on and create a second transport + string after the stream has been completed, to pass it in + the request headers instead of the previous, incomplete one. + https://bugzilla.gnome.org/show_bug.cgi?id=794789 + +2018-02-15 13:26:16 +0100 Göran Jönsson + + * gst/rtsp-server/rtsp-client.c: + rtsp-client:Error handling when equal http session cookie + There are some clients that are sending same session cookie on random + basis. + https://bugzilla.gnome.org/show_bug.cgi?id=753616 + +2018-03-20 16:21:37 +0200 Sebastian Dröge + + * gst/rtsp-server/rtsp-media-factory-uri.c: + rtsp-media-factory-uri: Fix compilation with latest GLib + rtsp-media-factory-uri.c: In function ‘rtsp_media_factory_uri_create_element’: + rtsp-media-factory-uri.c:621:17: error: assignment from incompatible pointer type [-Werror=incompatible-pointer-types] + data->factory = g_object_ref (factory); + ^ + +2018-03-20 10:21:36 +0000 Tim-Philipp Müller + + * NEWS: + * RELEASE: + * configure.ac: + * meson.build: + Back to development + +=== release 1.14.0 === + +2018-03-19 20:27:04 +0000 Tim-Philipp Müller + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gst-rtsp-server.doap: + * meson.build: + Release 1.14.0 + +=== release 1.13.91 === + +2018-03-13 19:28:33 +0000 Tim-Philipp Müller + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gst-rtsp-server.doap: + * meson.build: + Release 1.13.91 + +2018-03-13 13:30:41 +0000 Tim-Philipp Müller + + * gst/rtsp-server/Makefile.am: + * gst/rtsp-server/meson.build: + * gst/rtsp-server/rtsp-address-pool.h: + * gst/rtsp-server/rtsp-auth.h: + * gst/rtsp-server/rtsp-client.h: + * gst/rtsp-server/rtsp-context.h: + * gst/rtsp-server/rtsp-media-factory-uri.h: + * gst/rtsp-server/rtsp-media-factory.h: + * gst/rtsp-server/rtsp-media.h: + * gst/rtsp-server/rtsp-mount-points.h: + * gst/rtsp-server/rtsp-onvif-client.h: + * gst/rtsp-server/rtsp-onvif-media-factory.h: + * gst/rtsp-server/rtsp-onvif-media.h: + * gst/rtsp-server/rtsp-onvif-server.h: + * gst/rtsp-server/rtsp-params.h: + * gst/rtsp-server/rtsp-permissions.h: + * gst/rtsp-server/rtsp-sdp.h: + * gst/rtsp-server/rtsp-server-prelude.h: + * gst/rtsp-server/rtsp-server.h: + * gst/rtsp-server/rtsp-session-media.h: + * gst/rtsp-server/rtsp-session-pool.h: + * gst/rtsp-server/rtsp-session.h: + * gst/rtsp-server/rtsp-stream-transport.h: + * gst/rtsp-server/rtsp-stream.h: + * gst/rtsp-server/rtsp-thread-pool.h: + * gst/rtsp-server/rtsp-token.h: + rtsp-server: GST_EXPORT -> GST_RTSP_SERVER_API + We need different export decorators for the different libs. + For now no actual change though, just rename before the release, + and add prelude headers to define the new decorator to GST_EXPORT. + +2018-03-07 12:20:05 +0200 Sebastian Dröge + + * gst/rtsp-server/rtsp-onvif-media-factory.c: + rtsp-onvif-media-factory: Document that backchannel pipelines must end with async=false sinks + https://bugzilla.gnome.org/show_bug.cgi?id=794143 + +=== release 1.13.90 === + +2018-03-03 22:49:34 +0000 Tim-Philipp Müller + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gst-rtsp-server.doap: + * meson.build: + Release 1.13.90 + +2018-03-02 16:24:23 +0100 Mathieu Duponchelle + + * gst/rtsp-server/rtsp-media-factory.c: + * gst/rtsp-server/rtsp-permissions.c: + permissions: add Since tags and example for new API + +2018-03-02 01:36:23 +0100 Mathieu Duponchelle + + * docs/libs/gst-rtsp-server-sections.txt: + * gst/rtsp-server/rtsp-media-factory.c: + * gst/rtsp-server/rtsp-media-factory.h: + * gst/rtsp-server/rtsp-permissions.c: + * gst/rtsp-server/rtsp-permissions.h: + * tests/check/gst/permissions.c: + permissions: more bindings-friendly API + https://bugzilla.gnome.org/show_bug.cgi?id=793975 + +2018-03-01 19:28:16 +0100 Mathieu Duponchelle + + * meson.build: + meson: enable more warnings + +2018-02-28 21:12:43 +0200 Sebastian Dröge + + * gst/rtsp-server/rtsp-client.c: + rtsp-client: Place netaddress meta on packets received via TCP + This allows us to later map signals from rtpbin/rtpsource back to the + corresponding stream transport, and allows to do keep-alive based on + RTCP packets in case of TCP media transport. + https://bugzilla.gnome.org/show_bug.cgi?id=789646 + +2018-02-27 20:34:49 +0100 Mathieu Duponchelle + + * gst/rtsp-sink/gstrtspclientsink.c: + rtspclientsink: if OPEN failed, unqueue next command + As READY_TO_PAUSED can no longer return async, the RECORD + command will be queued before the OPEN command fails + (for example in case the server could not be connected), + and record then waits for ever. + https://bugzilla.gnome.org/show_bug.cgi?id=793896 + +2018-02-26 22:59:17 +0100 Mathieu Duponchelle + + * gst/rtsp-sink/gstrtspclientsink.c: + rtspclientsink: fix retrieval of custom payloader caps + If a bin is passed as the custom payloader, the caps of + its factory will be empty, the correct way to obtain the caps + is to query its sinkpad. + +2018-02-26 22:59:00 +0100 Mathieu Duponchelle + + * gst/rtsp-sink/gstrtspclientsink.c: + rtspclientsink: fix extra unref of custom payloader + +2018-02-26 22:57:39 +0100 Mathieu Duponchelle + + * gst/rtsp-sink/gstrtspclientsink.c: + rspclientsink: fix recent code indentation + +2018-02-26 20:27:57 +0100 Mathieu Duponchelle + + * gst/rtsp-sink/gstrtspclientsink.c: + rtspclientsink: add missing get_type prototype + +2018-02-24 03:52:15 +0100 Mathieu Duponchelle + + * gst/rtsp-sink/gstrtspclientsink.c: + rtspclientsink: allow setting payloader as pad property + This was a FIXME item, and can be quite useful, also + allowing to specify payloader properties from the command + line, which is always nice. + https://bugzilla.gnome.org/show_bug.cgi?id=793776 + +2018-02-26 14:16:54 +0100 Carlos Rafael Giani + + * gst/rtsp-server/rtsp-media.c: + rtsp-media: Replace g_print() log line + https://bugzilla.gnome.org/show_bug.cgi?id=793838 + +2018-02-22 20:17:33 +0100 Mathieu Duponchelle + + * gst/rtsp-server/rtsp-media.c: + * tests/check/gst/rtspclientsink.c: + rtsp-media: fix RECORD getting stuck + The test_record case was working because async=false had + been added in https://bugzilla.gnome.org/show_bug.cgi?id=757488 + but that was incorrect, as it should not be needed. + Removing async=false made the test fail as expected, this is + fixed by not trying to preroll when preparing the media for + RECORD, as start_prepare is called upon receiving ANNOUNCE, + and our peer will not start sending media until it has received + a response to that request, and sent and received a response + to RECORD as well, thus obviously preventing preroll. + https://bugzilla.gnome.org/show_bug.cgi?id=793738 + +2018-02-23 03:26:21 +0100 Mathieu Duponchelle + + * gst/rtsp-server/rtsp-auth.c: + rtsp-auth: fix set_tls_authentication_mode annotation + +2018-02-19 11:57:29 +0100 Víctor Manuel Jáquez Leal + + * gst/rtsp-server/rtsp-onvif-media.c: + rtp-server: remove redefined variable + res is a boolean variable which is defined in the function scope and + redefined, with no reason, in the loop scope. This patch removes the + redefinition. + https://bugzilla.gnome.org/show_bug.cgi?id=793592 + +2018-02-05 11:49:07 +0100 Ognyan Tonchev + + * gst/rtsp-server/rtsp-media.c: + * gst/rtsp-server/rtsp-stream.c: + * gst/rtsp-server/rtsp-stream.h: + stream: Add functions for checking if stream is receiver or sender + ...and replace all checks for RECORD in GstRTSPMedia which are really + for "sender-only". This way the code becomes more generic and introducing + support for onvif-backchannel later on will require no changes in + GstRTSPMedia. + +2017-10-21 14:06:30 +0200 Ognyan Tonchev + + * gst/rtsp-server/rtsp-onvif-media-factory.c: + * gst/rtsp-server/rtsp-onvif-media-factory.h: + onvif: Make requires_backchannel() public + ...in order to let subclasses building the onvif part of the pipeline + check whether backchannel shall be included or not. + +2018-01-22 12:46:34 +0200 Sebastian Dröge + + * gst/rtsp-server/rtsp-onvif-media.c: + rtsp-server: Switch around sendonly/recvonly attributes + They are wrong in the ONVIF streaming spec. The backchannel should be + recvonly and the normal media should be sendonly: direction is always + from the point of view of the SDP offerer (the server) according to + RFC 3264. + +2017-09-25 19:41:05 +0300 Sebastian Dröge + + * docs/libs/gst-rtsp-server-docs.sgml: + * docs/libs/gst-rtsp-server-sections.txt: + * examples/.gitignore: + * examples/Makefile.am: + * examples/test-onvif-backchannel.c: + * gst/rtsp-server/Makefile.am: + * gst/rtsp-server/rtsp-media.h: + * gst/rtsp-server/rtsp-onvif-client.c: + * gst/rtsp-server/rtsp-onvif-client.h: + * gst/rtsp-server/rtsp-onvif-media-factory.c: + * gst/rtsp-server/rtsp-onvif-media-factory.h: + * gst/rtsp-server/rtsp-onvif-media.c: + * gst/rtsp-server/rtsp-onvif-media.h: + * gst/rtsp-server/rtsp-onvif-server.c: + * gst/rtsp-server/rtsp-onvif-server.h: + * gst/rtsp-server/rtsp-sdp.c: + * gst/rtsp-server/rtsp-sdp.h: + rtsp: Add support for ONVIF backchannel + This adds a new RTSP server, client, media-factory and media subclass + for handling the specifics of the backchannel. Ideally this later can be + extended with other ONVIF specific features. + +2017-10-12 21:00:16 +0300 Sebastian Dröge + + * gst/rtsp-server/rtsp-media.c: + rtsp-media: Add support for sending+receiving medias + We need to add an appsrc/appsink in that case because otherwise the + media bin will be a sink and a source for rtpbin, causing a pipeline + loop. + https://bugzilla.gnome.org/show_bug.cgi?id=788950 + +2018-02-15 19:44:28 +0000 Tim-Philipp Müller + + * configure.ac: + * meson.build: + Back to development + +=== release 1.13.1 === + +2018-02-15 17:15:40 +0000 Tim-Philipp Müller + + * NEWS: + * configure.ac: + * gst-rtsp-server.doap: + * meson.build: + Release 1.13.1 + +2018-02-14 17:11:19 +0100 Mathieu Duponchelle + + * gst/rtsp-server/rtsp-session-pool.c: + session-pool: remove nullable return annotation + create_watch can only return NULL from the API guards, no + need for nullable. + +2018-02-13 18:59:16 +0100 Mathieu Duponchelle + + * gst/rtsp-server/rtsp-media-factory.c: + * gst/rtsp-server/rtsp-media.c: + set_clock functions: Add nullable annotations + +2018-02-10 00:07:25 +0100 Mathieu Duponchelle + + * gst/rtsp-server/rtsp-auth.c: + * gst/rtsp-server/rtsp-client.c: + * gst/rtsp-server/rtsp-media-factory.c: + * gst/rtsp-server/rtsp-media.c: + * gst/rtsp-server/rtsp-mount-points.c: + * gst/rtsp-server/rtsp-server.c: + * gst/rtsp-server/rtsp-session-media.c: + * gst/rtsp-server/rtsp-session-pool.c: + * gst/rtsp-server/rtsp-session.c: + * gst/rtsp-server/rtsp-stream-transport.c: + * gst/rtsp-server/rtsp-stream.c: + * gst/rtsp-server/rtsp-thread-pool.c: + All around: add annotations and API guards + +2018-02-12 19:12:35 +0100 Mathieu Duponchelle + + * tests/test-cleanup.c: + test-cleanup: bind any port + The meson test suite runs tests in parallel, trying to bind + a single port made the test fail. + +2018-02-08 19:15:10 +0000 Tim-Philipp Müller + + * meson.build: + meson: make version numbers ints and fix int/string comparison + WARNING: Trying to compare values of different types (str, int). + The result of this is undefined and will become a hard error + in a future Meson release. + +2018-02-06 18:00:33 +0100 Mathieu Duponchelle + + * gst/rtsp-server/rtsp-context.c: + gst_rtsp_context_get_current: add (skip) annotation + The return value type is defined with G_DEFINE_POINTER_TYPE, + and gi emits the following warning: + Invalid non-constant return of bare structure or union; register as + boxed type or (skip) + +2018-02-06 17:58:49 +0100 Mathieu Duponchelle + + * gst/rtsp-server/rtsp-client.c: + rtsp-client: add type annotations + gi doesn't seem to be able to figure out the type of the + signal parameters when defined with G_DEFINE_POINTER_TYPE + +2018-02-04 12:24:09 +0100 Tim-Philipp Müller + + * configure.ac: + autotools: use -fno-strict-aliasing where supported + https://bugzilla.gnome.org/show_bug.cgi?id=769183 + +2018-01-30 20:35:21 +0000 Tim-Philipp Müller + + * meson.build: + meson: use -fno-strict-aliasing where supported + https://bugzilla.gnome.org/show_bug.cgi?id=769183 + +2018-01-25 12:09:03 +0000 Tim-Philipp Müller + + * gst/rtsp-server/rtsp-mount-points.c: + mount-points: bail out of loop again when matching mount points + Previous patch led to us iterating the entire sequence. Bail out + of the loop again if we have a match but are moving away from it. + https://bugzilla.gnome.org/show_bug.cgi?id=771555 + +2018-01-25 12:06:57 +0000 Tim-Philipp Müller + + * tests/check/gst/mountpoints.c: + tests: mountpoints: add more checks for mount point path matching + https://bugzilla.gnome.org/show_bug.cgi?id=771555 + +2016-09-16 20:41:19 +0000 Andrew Bott + + * gst/rtsp-server/rtsp-mount-points.c: + mount-points: fix matching of paths where there's also an entry with a common prefix + e.g. with the following mount points + /raw + /raw/snapshot + /raw/video + _match() would not match /raw/video and /raw/snapshot correctly. + https://bugzilla.gnome.org/show_bug.cgi?id=771555 + +2018-01-18 23:53:20 +0000 Tim-Philipp Müller + + * docs/libs/gst-rtsp-server-sections.txt: + * gst/rtsp-server/rtsp-permissions.c: + * gst/rtsp-server/rtsp-permissions.h: + * tests/check/gst/permissions.c: + permissions: add some new API to make this usable from bindings + https://bugzilla.gnome.org/show_bug.cgi?id=787073 + +2018-01-18 11:32:32 +0000 Tim-Philipp Müller + + * gst/rtsp-server/rtsp-token.c: + rtsp-token: annotate constructors for bindings + This maps _new_empty() to _new(), which also makes RTSPToken() + work properly now. Since this API wasn't usable from bindings + before, this should hopefully be fine. + https://bugzilla.gnome.org/show_bug.cgi?id=787073 + +2018-01-18 11:07:45 +0000 Tim-Philipp Müller + + * docs/libs/gst-rtsp-server-sections.txt: + * gst/rtsp-server/rtsp-token.c: + * gst/rtsp-server/rtsp-token.h: + * tests/check/gst/token.c: + rtsp-token: add some API to set fields from bindings + The existing functions are all vararg-based and as such + not usable from bindings. + https://bugzilla.gnome.org/show_bug.cgi?id=787073 + +2018-01-13 15:02:28 +0000 Tim-Philipp Müller + + * tests/check/gst/rtspclientsink.c: + * tests/check/gst/rtspserver.c: + * tests/check/gst/sessionpool.c: + * tests/check/gst/stream.c: + tests: fix indentation + Fix and "fix". + +2018-01-13 14:58:55 +0000 Tim-Philipp Müller + + * tests/check/gst/rtspserver.c: + tests: rtspserver: fix another ref leak + Even if this didn't show up in valgrind. + +2018-01-13 14:58:00 +0000 Tim-Philipp Müller + + * tests/check/gst/rtspclientsink.c: + tests: rtspclientsink: fix leak + +2018-01-02 14:19:31 +0100 Branko Subasic + + * tests/check/gst/rtspserver.c: + test: rtspserver: plug memory leak in test_no_session_timeout + In test_no_session_timeout, unref the rtsp session object when the + test is done. + https://bugzilla.gnome.org/show_bug.cgi?id=792127 + +2017-12-20 14:17:02 +0100 Edward Hervey + + * gst/rtsp-sink/gstrtspclientsink.c: + rtpsclientsink: Initialize and clear newly added mutex and cond + While it *did* work, glib would automatically create new mutex and cond + ... which never got freed + +2017-12-19 11:34:37 +0200 Sebastian Dröge + + * gst/rtsp-server/rtsp-stream.c: + rtsp-stream: Set multicast TTL on the multicast sockets + And not if we do unicast UDP. + https://bugzilla.gnome.org/show_bug.cgi?id=791743 + +2017-12-19 11:14:48 +0200 Sebastian Dröge + + * gst/rtsp-server/rtsp-stream.c: + rtsp-stream: Decide based on the sockets, not the addresses if we already allocated a socket + In the multicast case (as in test-multicast, not test-multicast2), the + address could be allocated/reserved (and thus set) already without + allocating the actual socket. We need to allocate the socket here still + instead of just claiming that it was already allocated. + See https://bugzilla.gnome.org/show_bug.cgi?id=791743#c2 + +2017-12-16 21:46:53 +0100 Patricia Muscalu + + * gst/rtsp-sink/gstrtspclientsink.c: + * gst/rtsp-sink/gstrtspclientsink.h: + rtspclientsink: Use the new rtsp-stream API + https://bugzilla.gnome.org/show_bug.cgi?id=790412 + +2017-12-16 21:01:43 +0100 Patricia Muscalu + + * gst/rtsp-sink/gstrtspclientsink.c: + * gst/rtsp-sink/gstrtspclientsink.h: + rtspclientsink: Wait until OPEN has been scheduled + Make sure that the sink thread has started opening connection + to the server before continuing. + https://bugzilla.gnome.org/show_bug.cgi?id=790412 + +2017-12-14 14:53:35 +1100 Matthew Waters + + * common: + Automatic update of common submodule + From e8c7a71 to 3fa2c9e + +2017-12-07 16:08:29 +0100 Edward Hervey + + * gst/rtsp-server/rtsp-media.c: + * gst/rtsp-server/rtsp-session-media.c: + * gst/rtsp-server/rtsp-stream.c: + rtsp-server: Minor doc fixes + Mostly for g-i + +2017-12-06 20:47:22 +0000 Tim-Philipp Müller + + * Makefile.am: + * tests/Makefile.am: + tests: disable all tests when --disable-tests is used + Move conditional subdir include into top level. + Based on patch by: Joel Holdsworth + https://bugzilla.gnome.org/show_bug.cgi?id=757703 + +2017-12-06 20:42:39 +0000 Tim-Philipp Müller + + * meson.build: + * meson_options.txt: + * tests/meson.build: + meson: build more tests and add options to disable tests and examples + +2017-11-26 13:26:39 -0300 Thibault Saunier + + * gst/rtsp-server/rtsp-session.c: + Fix build when -Werror=deprecated-declarations is on + As gst_rtsp_session_next_timeout is deprecated. + ``` + ../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-session.c:760:3: error: ‘gst_rtsp_session_next_timeout’ is deprecated: Use 'gst_rtsp_session_next_timeout_usec' instead [-Werror=deprecated-declarations] + res = (gst_rtsp_session_next_timeout (session, now) == 0); + ^~~ + ../subprojects/gst-rtsp-server/gst/rtsp-server/rtsp-session.c:685:1: note: declared here + gst_rtsp_session_next_timeout (GstRTSPSession * session, GTimeVal * now) + ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + ``` + +2017-11-27 20:18:24 +1100 Matthew Waters + + * common: + Automatic update of common submodule + From 3f4aa96 to e8c7a71 + +2017-11-25 20:34:16 +0100 Patricia Muscalu + + * tests/check/gst/media.c: + check/media: Add seekability test case: not all streams are active + Media contains two streams but only one is complete and prepared + for playing. + https://bugzilla.gnome.org/show_bug.cgi?id=790674 + +2017-11-25 20:32:02 +0100 Patricia Muscalu + + * gst/rtsp-server/rtsp-stream.c: + rtsp-stream: Do not reset 'blocking' if stream is already blocked + https://bugzilla.gnome.org/show_bug.cgi?id=790674 + +2017-11-25 20:45:44 +0100 Patricia Muscalu + + * gst/rtsp-server/rtsp-media.c: + rtsp-media: Fix missing lock in gst_rtsp_media_seekable() + https://bugzilla.gnome.org/show_bug.cgi?id=790674 + +2017-11-26 16:29:49 +0000 Tim-Philipp Müller + + * meson.build: + meson: remove vs_module_defs_dir variable which is no longer needed + +2017-11-26 14:46:05 +0000 Tim-Philipp Müller + + * gst/rtsp-server/rtsp-session.h: + rtsp: fix distcheck + +2017-11-26 12:53:42 +0000 Tim-Philipp Müller + + * Makefile.am: + * gst/rtsp-server/meson.build: + * win32/MANIFEST: + * win32/common/libgstrtspserver.def: + win32: remove .def file with exports + They're no longer needed, symbol exporting is now explicit + via GST_EXPORT in all cases (autotools, meson, incl. MSVC). + +2017-11-26 12:28:40 +0000 Tim-Philipp Müller + + * configure.ac: + autotools: stop controlling symbol visibility with -export-symbols-regex + Instead, use -fvisibility=hidden and explicit exports via GST_EXPORT. + This should result in consistent behaviour for the autotools and + Meson builds. + +2017-11-26 12:47:08 +0000 Tim-Philipp Müller + + * gst/rtsp-server/rtsp-media.h: + * gst/rtsp-server/rtsp-server.h: + * gst/rtsp-server/rtsp-session.c: + * gst/rtsp-server/rtsp-session.h: + rtsp-server: add missing GST_EXPORT and export deprecated funcs + +2017-11-25 07:53:30 +0100 Edward Hervey + + * tests/check/gst/media.c: + check: Add seekability testing on medias + Make sure that once GstRTSPMedia are prepared they returned + the expected seekability results + https://bugzilla.gnome.org/show_bug.cgi?id=790674 + +2017-11-24 17:34:31 +0100 Edward Hervey + + * docs/libs/gst-rtsp-server-sections.txt: + * gst/rtsp-server/rtsp-media.c: + * gst/rtsp-server/rtsp-stream.c: + * gst/rtsp-server/rtsp-stream.h: + * win32/common/libgstrtspserver.def: + rtsp-media: Enable seeking query before pipeline is complete + SDP are now provided *before* the pipeline is fully complete. In order + to know whether a media is seekable or not therefore requires asking + the invididual streams. + API: gst_rtsp_stream_seekable + https://bugzilla.gnome.org/show_bug.cgi?id=790674 + +2017-11-23 20:34:03 +0100 Patricia Muscalu + + * gst/rtsp-server/rtsp-media.c: + rtsp-media: Fix handling in default_unsuspend() + Handle the case when streams are not blocked and media + is suspended from PAUSED. + Change-Id: I2f3d222ea7b9b20a0732ea5dc81a32d17ab75040 + https://bugzilla.gnome.org/show_bug.cgi?id=790674 + +2017-11-23 18:51:21 +0100 Patricia Muscalu + + * tests/check/gst/media.c: + check/media: Fix thread pool leak. + Change-Id: I0f92b1caca0ee518ae64a7dacfbd28a214c3eea1 + https://bugzilla.gnome.org/show_bug.cgi?id=790674 + +2017-11-23 18:39:44 +0100 Patricia Muscalu + + * gst/rtsp-server/rtsp-media.c: + rtsp-media: Removed fakesink elements + There is not need of adding fakesink elements to the media + pipeline in the dynamic-payloader case. + The media pipeline itself is dynamically updated with + the receiver and sender parts that are based on the client + transport information known after SETUP has been received. + Change-Id: I4e88c9b500c04030669822f0d03b1842913f6cb9 + https://bugzilla.gnome.org/show_bug.cgi?id=790674 + +2017-11-23 09:10:54 +0100 Patricia Muscalu + + * gst/rtsp-server/rtsp-media.c: + rtsp-media: Corrected ASYNC_DONE handling + Media is complete when all the transport based parts are + added to the media pipeline. At this point ASYNC_DONE is + posted by the media pipeline and media is ready to enter + the PREPARED state. + Change-Id: I50fb8dfed88ebaf057d9a35fca2d7f0a70e9d1fa + https://bugzilla.gnome.org/show_bug.cgi?id=790674 + +2017-11-22 12:24:38 +0100 Edward Hervey + + * tests/check/gst/media.c: + check/media: Check that prepared media can provide a SDP + Whenever a RTSPMedia is prepared, it should be able to provide a SDP + +2017-11-21 09:53:19 +0100 Edward Hervey + + * gst/rtsp-server/rtsp-client.c: + rtsp-client: Don't leak addr + CID #1422260 + +2017-11-21 09:53:08 +0100 Edward Hervey + + * gst/rtsp-server/rtsp-client.c: + * gst/rtsp-server/rtsp-session-media.c: + * gst/rtsp-server/rtsp-stream.c: + Run gst-indent + +2017-11-20 18:30:19 +0100 Edward Hervey + + * gst/rtsp-server/rtsp-media.c: + rtsp-media: Don't unblock with remaining dynamic payloaders + If we still have some dynamic paylaoders which haven't posted + no-more-pads yet, don't go to PREPARED if one of the streams + blocked. + The risk was that we would end up not exposing/using all specified + streams. + The downside is that if you have _multiple_ _live_ _dynamic_ payloaders + then it will take a bit more time to start. But only if those 3 + conditions are present. + https://bugzilla.gnome.org/show_bug.cgi?id=769521 + +2017-11-20 16:49:29 +0100 Edward Hervey + + * gst/rtsp-server/rtsp-media.c: + rtsp-media: Fix doc + +2017-11-20 16:48:55 +0100 Edward Hervey + + * gst/rtsp-server/rtsp-media.c: + rtsp-media: Don't set float on a gint64 variable + Just use 0. Fixes 'undefined' behaviour from clang + +2017-11-20 18:29:02 +0100 Edward Hervey + + * gst/rtsp-server/rtsp-media.c: + rtsp-media: Fix previous commit + We only want to count dynamic payloaders + +2017-11-20 09:32:07 +0100 Edward Hervey + + * gst/rtsp-server/rtsp-media.c: + * tests/check/gst/media.c: + rtsp-media: Handle multiple dynamic elements + If we have more than one dynamic payloader in the pipeline, we need + to wait until the *last* one emits 'no-more-pads' before switching + to PREPARED. + Failure to do so would result in a race where some of the streams + wouldn't properly be prepared + https://bugzilla.gnome.org/show_bug.cgi?id=769521 + +2017-11-16 12:18:20 +0200 Sebastian Dröge + + * win32/common/libgstrtspserver.def: + win32: Fix exported symbols list + +2017-11-15 19:52:29 +0200 Sebastian Dröge + + * gst/rtsp-server/rtsp-stream.c: + rtsp-stream: Only update the RTP udpsink if it actually exists + For send-only streams it does not exist, but the RTCP udpsink might. + +2017-11-15 18:15:53 +0200 Sebastian Dröge + + * win32/common/libgstrtspserver.def: + win32: Update exports + +2017-10-23 09:49:09 +0200 Patricia Muscalu + + * gst/rtsp-server/rtsp-media.c: + * gst/rtsp-server/rtsp-stream.c: + * gst/rtsp-server/rtsp-stream.h: + rtsp-media: seek on media pipelines that are complete + Make sure that a seek is performed on pipelines that + contain at least one sink element. + Change-Id: Icf398e10add3191d104b1289de612412da326819 + https://bugzilla.gnome.org/show_bug.cgi?id=788340 + +2017-10-17 10:44:33 +0200 Patricia Muscalu + + * gst/rtsp-server/rtsp-client.c: + * gst/rtsp-server/rtsp-media.c: + * gst/rtsp-server/rtsp-media.h: + * gst/rtsp-server/rtsp-stream.c: + * gst/rtsp-server/rtsp-stream.h: + * tests/check/gst/client.c: + * tests/check/gst/media.c: + * tests/check/gst/rtspserver.c: + * tests/check/gst/stream.c: + Dynamically reconfigure pipeline in PLAY based on transports + The initial pipeline does not contain specific transport + elements. The receiver and the sender parts are added + after PLAY. + If the media is shared, the streams are dynamically + reconfigured after each PLAY. + https://bugzilla.gnome.org/show_bug.cgi?id=788340 + +2017-10-16 12:40:57 +0200 Patricia Muscalu + + * gst/rtsp-server/rtsp-stream.c: + rtsp-stream: obtain stream position from pad + If no sinks have been added yet, obtain the current and + the stop position of the stream from the send_src pad. + Change-Id: Iacd4ab4bdc69f6b49370d06012880ce48a7d595a + https://bugzilla.gnome.org/show_bug.cgi?id=788340 + +2017-10-16 11:35:10 +0200 Patricia Muscalu + + * gst/rtsp-server/rtsp-session-media.c: + * gst/rtsp-server/rtsp-session-media.h: + rtsp-session-media: add function to get a list of transports + Change-Id: I817e10624da0f3200f24d1b232cff481099278e3 + https://bugzilla.gnome.org/show_bug.cgi?id=788340 + +2017-10-16 11:15:55 +0200 Patricia Muscalu + + * gst/rtsp-server/rtsp-stream.c: + * gst/rtsp-server/rtsp-stream.h: + rtsp-stream: add functions to get rtp and rtcp multicast sockets + Change-Id: Iddfe6e0bd250cb0159096d5eba9e4202d22b56db + https://bugzilla.gnome.org/show_bug.cgi?id=788340 + +2017-10-20 12:21:48 +0200 Patricia Muscalu + + * gst/rtsp-server/rtsp-stream.c: + stream: set async=sync=false only for RTCP appsink + Change-Id: I929a218a9adf4759f61322b6f2063aacc5595f90 + https://bugzilla.gnome.org/show_bug.cgi?id=788340 + +2017-10-16 10:10:17 +0200 Patricia Muscalu + + * gst/rtsp-server/rtsp-media.c: + rtsp-media: return minimum value in query position case + The minimum position should be returned as we are interested + in the whole interval. + Change-Id: I30e297fc040c995ae40c25dee8ff56321612fe2b + https://bugzilla.gnome.org/show_bug.cgi?id=788340 + +2017-08-09 11:52:38 +0200 Jonathan Karlsson + + * gst/rtsp-server/rtsp-session.c: + * tests/check/gst/rtspserver.c: + rtsp-session: Handle the case when timeout=0 + According to the documentation, a timeout of value 0 means + that the session never timeouts. This adds handling of that. + If timeout=0 we just return with a -1 from + gst_rtsp_session_next_timeout_usec (). + https://bugzilla.gnome.org/show_bug.cgi?id=785058 + +2017-07-17 17:15:22 +0300 Sebastian Dröge + + * gst/rtsp-sink/gstrtspclientsink.c: + rtspclientsink: Add "accept-certificate" signal for manually checking a TLS certificate for validity + https://bugzilla.gnome.org/show_bug.cgi?id=785024 + +2017-10-26 14:43:19 +0200 Mathieu Duponchelle + + * docs/libs/gst-rtsp-server-sections.txt: + * gst/rtsp-server/rtsp-media-factory.c: + docs: add media factory transport mode accessors + and fix the documentation for the return value of the getter + +2017-10-09 12:43:01 +0200 Branko Subasic + + * gst/rtsp-server/rtsp-client.c: + rtsp-client: unref 'pipelined_requests' in finalize + The hash table priv->pipelined_requests is not unref:ed in the + finalize funktion. Make sure it is. + https://bugzilla.gnome.org/show_bug.cgi?id=788704 + +2017-10-09 14:44:40 +0200 Thibault Saunier + + * gst/rtsp-server/rtsp-media.c: + rtsp-media: Initialize scalar variable + CID 1418985 + +2017-10-06 10:27:34 +0200 Edward Hervey + + * win32/common/libgstrtspserver.def: + win32: Update export file + +2017-04-22 09:26:07 -0300 Thibault Saunier + + * gst/rtsp-server/rtsp-client.c: + * gst/rtsp-server/rtsp-media.c: + * gst/rtsp-server/rtsp-media.h: + Start support for RTSP 2.0 + This adds basic support for new 2.0 features, though the protocol is + subposdely backward incompatible, most semantics are the sames. + This commit adds: + - features: + * version negotiation + * pipelined requests support + * Media-Properties support + * Accept-Ranges support + - APIs: + * gst_rtsp_media_seekable + The RTSP methods that have been removed when using 2.0 now return + BAD_REQUEST. + https://bugzilla.gnome.org/show_bug.cgi?id=781446 + +2017-06-02 15:37:54 -0400 Thibault Saunier + + * gst/rtsp-server/rtsp-stream.c: + stream: Use stream duration as stream-stop if segment was not configured with a stop + Allowing client to know stream duration when no seeking happened. + https://bugzilla.gnome.org/show_bug.cgi?id=783435 + +2017-09-25 19:40:17 +0300 Sebastian Dröge + + * gst/rtsp-server/rtsp-media-factory.c: + rtsp-media-factory: Don't cache any media if NULL was returned as key + The docs already mentioned this, but we actually stored it in the hash + table with key==NULL and leaked its reference forever. + +2017-09-18 19:31:31 +0200 Mathieu Duponchelle + + * gst/rtsp-sink/gstrtspclientsink.c: + * gst/rtsp-sink/gstrtspclientsink.h: + rtspclientsink: Use a mutex for protecting against concurrent send/receives + This is a simple port of: + * a722f6e8329032c6eda4865d6a07f4ba5981d7ea + * c438545dc9e2f14f657bc0ef261fff726449867b + * cd17c71dcea5c9310d21f1347c7520983e5869ac + in gst-plugins-good. + +2017-08-31 13:24:15 +0530 Satya Prakash Gupta + + * gst/rtsp-server/rtsp-sdp.c: + sdp: fix Memory leak in error case + https://bugzilla.gnome.org/show_bug.cgi?id=787059 + +2017-08-18 17:37:01 +0100 Tim-Philipp Müller + + * pkgconfig/meson.build: + meson: don't install -uninstalled.pc file + https://bugzilla.gnome.org/show_bug.cgi?id=786457 + +2017-08-17 12:26:17 +0100 Tim-Philipp Müller + + * common: + Automatic update of common submodule + From 48a5d85 to 3f4aa96 + +2017-08-14 21:04:23 +0300 Sebastian Dröge + + * gst/rtsp-server/rtsp-client.c: + rtsp-client: Fix typo in debug message + +2017-08-11 14:14:32 +0100 Tim-Philipp Müller + + * meson.build: + meson: hide symbols by default unless explicitly exported + +2017-08-10 14:20:12 +0100 Tim-Philipp Müller + + * pkgconfig/gstreamer-rtsp-server-uninstalled.pc.in: + pkgconfig: remove -I@srcdir@/.. which duplicates abs_top_srcdir + Fixes meson warning about undefined @srcdir@. + +2017-07-21 13:36:00 +0100 Tim-Philipp Müller + + * tests/meson.build: + meson: skip tests on windows for now + As we do in the other modules. As libgstcheck is currently not + built on windows. Fixes "Fallback variable 'gst_check_dep' in + the subproject 'gstreamer' does not exist"" Meson error. + +2017-06-22 07:25:07 -0700 Julien Isorce + + * gst/rtsp-server/rtsp-stream.c: + rtsp-stream: fix connection delay due to wrong assumption on last-sample + Commit 852cc09f542af5cadd79ffd7fe79d6475cf57e14 assumed that + multiudpsink's last-sample always comes from the payloader. Which + is wrong if auxiliary streams are multiplexed in the same stream. + So check the buffer's ssrc against the caps'ssrc before to use its + seqnum. If not the same ssrc just use the payloader as done prior + the commit above or when there is no last-sample yet. + https://bugzilla.gnome.org/show_bug.cgi?id=784094 + +2017-06-23 16:19:04 -0400 Thibault Saunier + + * meson.build: + meson: Allow using glib as a subproject + +2017-06-26 09:55:49 +0100 Tim-Philipp Müller + + * meson.build: + meson: fix with-package-name option + https://bugzilla.gnome.org/show_bug.cgi?id=784082 + +2017-06-09 20:16:28 -0400 Nicolas Dufresne + + * Makefile.am: + Distribute meson_options.txt + +2017-06-09 20:11:47 -0400 Nicolas Dufresne + + * Makefile.am: + And config.h.meson is no longer dist either + +2017-06-09 21:27:09 +0100 Tim-Philipp Müller + + * config.h.meson: + * meson.build: + meson: config.h.meson is no longer needed + +2017-06-07 13:04:41 -0400 Thibault Saunier + + * tests/check/meson.build: + * tests/meson.build: + meson: Fix building tests and activate them again + +2017-06-07 12:55:41 -0400 Thibault Saunier + + * tests/check/meson.build: + meson: Do not use path separator in test names + Avoiding warnings like: + WARNING: Target "elements/audioamplify" has a path separator in its name. + +2017-05-20 15:07:31 +0100 Tim-Philipp Müller + + * meson.build: + * meson_options.txt: + meson: add options to set package name and origin + https://bugzilla.gnome.org/show_bug.cgi?id=782172 + +2017-05-18 10:35:18 +0100 Tim-Philipp Müller + + * gst/rtsp-server/rtsp-address-pool.h: + * gst/rtsp-server/rtsp-auth.h: + * gst/rtsp-server/rtsp-client.h: + * gst/rtsp-server/rtsp-context.h: + * gst/rtsp-server/rtsp-media-factory-uri.h: + * gst/rtsp-server/rtsp-media-factory.h: + * gst/rtsp-server/rtsp-media.h: + * gst/rtsp-server/rtsp-mount-points.h: + * gst/rtsp-server/rtsp-params.h: + * gst/rtsp-server/rtsp-permissions.h: + * gst/rtsp-server/rtsp-sdp.h: + * gst/rtsp-server/rtsp-server.h: + * gst/rtsp-server/rtsp-session-media.h: + * gst/rtsp-server/rtsp-session-pool.h: + * gst/rtsp-server/rtsp-session.h: + * gst/rtsp-server/rtsp-stream-transport.h: + * gst/rtsp-server/rtsp-stream.h: + * gst/rtsp-server/rtsp-thread-pool.h: + * gst/rtsp-server/rtsp-token.h: + Mark symbols explicitly for export with GST_EXPORT + +2017-05-16 14:44:43 -0400 Nicolas Dufresne + + * configure.ac: + * gst/rtsp-sink/Makefile.am: + Remove plugin specific static build option + Static and dynamic plugins now have the same interface. The standard + --enable-static/--enable-shared toggle are sufficient. + +2017-05-04 18:59:14 +0300 Sebastian Dröge + + * configure.ac: + * meson.build: + Back to development + +=== release 1.12.0 === + +2017-05-04 15:40:46 +0300 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gst-rtsp-server.doap: + * meson.build: + Release 1.12.0 + +=== release 1.11.91 === + +2017-04-27 17:42:02 +0300 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gst-rtsp-server.doap: + * meson.build: + Release 1.11.91 + +2017-04-24 20:30:37 +0100 Tim-Philipp Müller + + * common: + Automatic update of common submodule + From 60aeef6 to 48a5d85 + +2017-04-13 14:20:10 -0300 Thibault Saunier + + * gst/rtsp-server/rtsp-media-factory.c: + * gst/rtsp-server/rtsp-media.c: + * gst/rtsp-server/rtsp-session.c: + * gst/rtsp-server/rtsp-stream.c: + gi: Fix some annotations and docstrings + +2017-04-13 13:52:26 -0300 Thibault Saunier + + * gst/rtsp-server/meson.build: + * meson.build: + * meson_options.txt: + meson: Build gir + +2017-04-10 23:51:12 +0100 Tim-Philipp Müller + + * autogen.sh: + * common: + Automatic update of common submodule + From 39ac2f5 to 60aeef6 + +=== release 1.11.90 === + +2017-04-07 16:35:03 +0300 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gst-rtsp-server.doap: + * meson.build: + Release 1.11.90 + +2017-03-27 18:19:33 +0100 Tim-Philipp Müller + + * examples/test-launch.c: + examples: make test-launch pipeline shared by default as well + +2017-02-27 19:10:44 +0200 Sebastian Dröge + + * pkgconfig/gstreamer-rtsp-server-uninstalled.pc.in: + gstreamer-rtsp-server: Add both srcdir and builddir to the include path + Just the build dir is not going to work for srcdir!=builddir. + +2017-02-24 15:59:54 +0200 Sebastian Dröge + + * meson.build: + meson: Update version + +2017-02-24 15:37:49 +0200 Sebastian Dröge + + * configure.ac: + Back to development + +=== release 1.11.2 === + +2017-02-24 15:10:07 +0200 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gst-rtsp-server.doap: + Release 1.11.2 + +2017-02-14 20:40:26 +0000 Tim-Philipp Müller + + * Makefile.am: + meson: dist meson build files + Ship meson build files in tarballs, so people who use tarballs + in their builds can start playing with meson already. + +2017-02-07 23:39:37 +1100 Jan Schmidt + + * examples/test-record.c: + examples/test-record: Add extra line to initial printout + Add an example line of how to deliver a stream to the + RTSP RECORD example + +2017-01-19 14:57:19 +0200 Sebastian Dröge + + * gst/rtsp-server/rtsp-client.c: + rtsp-client: Also handle the (S|G)ET_PARAMETER case of size==0 || !data as keep-alive + If there is no Content-Length header, no body would be allocated and the + '\0' would also not be appended to the body. + +2017-01-19 14:24:07 +0200 Sebastian Dröge + + * gst/rtsp-server/rtsp-client.c: + rtsp-client: Fix handling of keep-alive GET_PARAMETER/SET_PARAMETER + While they logically have 0 bytes length, GstRTSPConnection is appending + a '\0' to everything making the size be 1 instead. + +2017-01-13 12:39:36 +0000 Tim-Philipp Müller + + * meson.build: + meson: bump version + +2017-01-12 19:04:23 +0200 Sebastian Dröge + + * gst/rtsp-server/rtsp-session.c: + rtsp-session: Only remove deprecated API if requested to do so, not just when disabling + gst_rtsp_session_is_expired() and gst_rtsp_session_next_timeout() were + affected. + +2017-01-12 16:32:59 +0200 Sebastian Dröge + + * configure.ac: + Back to development + +=== release 1.11.1 === + +2017-01-12 16:14:46 +0200 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gst-rtsp-server.doap: + * win32/common/libgstrtspserver.def: + Release 1.11.1 + +2017-01-10 08:34:50 +0100 Patricia Muscalu + + * gst/rtsp-server/rtsp-stream.c: + rtsp-stream: corrected if-statement in _get_server_port() + This bug was accidentally introduced while fixing a segfault + in _get_server_port() function. + https://bugzilla.gnome.org/show_bug.cgi?id=776345 + +2017-01-09 14:12:05 +0100 Patricia Muscalu + + * gst/rtsp-server/rtsp-stream.c: + * tests/check/gst/stream.c: + rtsp-stream: fixed segmenation fault in _get_server_port() + Calling function gst_rtsp_stream_get_server_port() results in + segmenation fault in the RTP/RTSP/TCP case. + Port that the server will use to receive RTCP makes only + sense in the UDP case, however the function should handle + the TCP case in a nicer way. + https://bugzilla.gnome.org/show_bug.cgi?id=776345 + +2017-01-09 12:22:40 +0300 Aleksandr Slobodeniuk + + * gst/rtsp-server/rtsp-media-factory.c: + dosc: Fix a little typo + https://bugzilla.gnome.org/show_bug.cgi?id=777037 + +2017-01-04 16:20:54 +0100 Guillaume Desmottes + + * pkgconfig/Makefile.am: + * pkgconfig/gstreamer-rtsp-server-uninstalled.pc.in: + * pkgconfig/meson.build: + meson: generate pkg-config -uninstalled pc files + Generating those files is useful for users building the GStreamer stack + using meson and having to link it to another project which is still + using the autotools. + https://bugzilla.gnome.org/show_bug.cgi?id=776810 + +2017-01-04 16:11:08 +0100 Guillaume Desmottes + + * pkgconfig/gstreamer-rtsp-server-uninstalled.pc.in: + pkgconfig: fix -uninstalled pc file + pcfiledir was never defined so the paths were wrong. + https://bugzilla.gnome.org/show_bug.cgi?id=776867 + +2016-12-21 13:41:50 +0100 Patricia Muscalu + + * gst/rtsp-server/rtsp-stream.c: + * tests/check/gst/rtspserver.c: + rtsp-stream: Fixed TCP transport case + Make sure that the appsink element is actually added to + the bin before trying to link it with the elements in it. + https://bugzilla.gnome.org/show_bug.cgi?id=776343 + +2016-12-16 17:26:04 +0000 Tim-Philipp Müller + + * .gitignore: + * Makefile.am: + * configure.ac: + * gst-rtsp.spec.in: + Remove generated .spec file + Likely extremely bitrotten, and we should not ship this anyway. + +2016-12-03 08:21:02 +0100 Edward Hervey + + * common: + Automatic update of common submodule + From f980fd9 to 39ac2f5 + +2016-12-02 15:40:09 +0100 Edward Hervey + + * gst/rtsp-server/rtsp-media.c: + media: Fix pt map caps + Since decryption is handled within rtpbin, all outcoming stream + caps will be application/x-rtp (i.e. regular rtp) + Fixes RECORD with SRTP streams + +2016-12-02 15:38:04 +0100 Edward Hervey + + * gst/rtsp-server/rtsp-media-factory.c: + media-factory: Create media objects with the proper transport mode + The function called immediately afterwards (collect_streams()) will + need it to work properly + +2016-12-02 14:36:50 +0200 Sebastian Dröge + + * gst/rtsp-server/rtsp-auth.c: + rtsp-auth: Don't remove digest-auth nonces that already/still have a client connected + +2016-12-01 18:04:34 +0200 Sebastian Dröge + + * gst/rtsp-server/rtsp-media-factory.c: + rtsp-media-factory: Don't create a pipeline for the media pipeline string + We're going to put a pipeline into a pipeline otherwise, which is not + exactly ideal. + +2016-10-25 15:41:28 +0300 Kseniia Vasilchuk + + * gst/rtsp-server/rtsp-media.c: + media: Fix race condition around finish_unprepare() if called multiple time + https://bugzilla.gnome.org/show_bug.cgi?id=755329 + +2016-11-30 14:06:36 +1100 Jan Schmidt + + * gst/rtsp-sink/gstrtspclientsink.c: + rtspclientsink: Don't leave stale pointer after unref + Fix a warning on shutdown - don't keep a pointer to an + alread-unreffed object. + +2016-11-26 11:24:50 +0000 Tim-Philipp Müller + + * .gitmodules: + common: use https protocol for common submodule + https://bugzilla.gnome.org/show_bug.cgi?id=775110 + +2016-11-21 23:29:56 +1100 Matthew Waters + + * gst/rtsp-server/rtsp-stream.c: + stream: block the output of rtpbin instead of the source pipeline + 85c52e194bcb81928b96614be0ae47d59eccb1ce introduced a more correct + detection of the srtp rollover counter to add to the SDP. + Unfortunately, it was incomplete for live pipelines where the logic + blocks the source bin before creating the SDP and thus would never have + the necessary informaiton to create a correct SDP with srtp encryption. + Move the pad blocks to rtpbin's output pads instead so that the + necessary information can be created before we need the information for + the SDP. + https://bugzilla.gnome.org/show_bug.cgi?id=770239 + +2016-11-21 16:02:39 +0100 Dag Gullberg + + * gst/rtsp-server/rtsp-client.c: + rtsp-client: add IDLE timeout, before session exists + The RTSP server will not timeout an idle RTSP connection + (note this is different from doing timeout on a RTSP + session). + At least for Apache this is a problem when running RTSP over + HTTPS since it uses one of the threads (there is a rather + limited number) that are available for handling requests. + https://bugzilla.gnome.org/show_bug.cgi?id=771830 + +2016-11-23 09:45:08 +0000 Tim-Philipp Müller + + * .gitignore: + .gitignore more + +2016-11-21 13:05:50 +0100 Göran Jönsson + + * gst/rtsp-server/rtsp-stream.c: + rtsp-stream: Set close-socket FALSE on UDP src:es + With this RTSP server can use the sockets independent on the udpsrc + state. + When the udp src is finalized it will unref socket and when g_socket + is finalized the socket will be closed. + https://bugzilla.gnome.org/show_bug.cgi?id=765673 + +2016-11-18 17:47:13 +0200 Sebastian Dröge + + * gst/rtsp-sink/gstrtspclientsink.c: + rtspclientsink: Move to new helper function to parse authentication responses + https://bugzilla.gnome.org/show_bug.cgi?id=774416 + +2016-11-16 08:42:24 +0200 Sebastian Dröge + + * examples/Makefile.am: + * examples/test-auth-digest.c: + * gst/rtsp-server/rtsp-auth.c: + * gst/rtsp-server/rtsp-auth.h: + * win32/common/libgstrtspserver.def: + rtsp-auth: Add support for Digest authentication + https://bugzilla.gnome.org/show_bug.cgi?id=774416 + +2016-11-17 09:41:53 -0800 Scott D Phillips + + * Makefile.am: + * gst/rtsp-server/meson.build: + * meson.build: + * tests/check/meson.build: + * win32/MANIFEST: + * win32/common/libgstrtspserver.def: + Enable building with MSVC + https://bugzilla.gnome.org/show_bug.cgi?id=774640 + +2016-11-18 20:23:14 -0300 Thibault Saunier + + * meson.build: + meson: gstreamer gst_check_dep does not exist on windows + +2016-11-17 09:43:37 -0800 Scott D Phillips + + * gst/rtsp-server/rtsp-client.c: + client: update do_send_message to match type GstRTSPClientSendFunc + This type mismatch fails building with MSVC + https://bugzilla.gnome.org/show_bug.cgi?id=774640 + +2016-11-11 14:42:08 +0200 Sebastian Dröge + + * gst/rtsp-server/rtsp-sdp.c: + rtsp-sdp: Fix indentation + +2016-11-10 05:16:00 +0000 Neha Arora + + * gst/rtsp-server/rtsp-media.c: + rtsp-media: Only signal "new-state" if the state has actually changed + https://bugzilla.gnome.org/show_bug.cgi?id=774173 + +2016-08-24 11:39:13 +0200 Branko Subasic + + * gst/rtsp-server/rtsp-client.c: + * gst/rtsp-server/rtsp-client.h: + client: emit signal in the beginning of each rtsp request + These signals let the application validate the requests, configure the + media/stream in a certain way and also generate error status code in + case of error or bad request. + https://bugzilla.gnome.org/show_bug.cgi?id=758062 + +2016-11-01 18:10:35 +0000 Tim-Philipp Müller + + * meson.build: + meson: update version + +=== release 1.11.0 === + +2016-11-01 18:53:15 +0200 Sebastian Dröge + + * configure.ac: + Back to development + +=== release 1.10.0 === + +2016-11-01 18:06:46 +0200 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gst-rtsp-server.doap: + Release 1.10.0 + +2016-10-28 18:38:01 +0100 Tim-Philipp Müller + + * tests/check/gst/rtspserver.c: + * tests/check/gst/stream.c: + tests: try to avoid using the same ports in different tests + Causes problems with client multicast tests otherwise if + tests are run in parallel. + https://bugzilla.gnome.org/show_bug.cgi?id=773640 + +2016-10-28 17:50:59 +0100 Tim-Philipp Müller + + * tests/check/gst/client.c: + tests: client: use fail_unless_equals_foo() for better failure reporting + +2016-09-26 11:16:04 +0200 Göran Jönsson + + * gst/rtsp-server/rtsp-client.c: + rtsp-client: Session filter in unwatch session + Call session filter with filter_session_media as paramer in + client_unwatch_session if using drop_backlog = FALSE. + In client_unwatch_session its allowed to grow the watchs backlog. + If using drop_backlog = FALSE and the backlog is full it will cause + a deadlock when setting session media state to NULL + if the backlog is not allowed to grow. + https://bugzilla.gnome.org/show_bug.cgi?id=771983 + +2016-10-20 21:40:18 +0100 Tim-Philipp Müller + + * meson.build: + meson: add fallbacks for gst modules + For gst-all. + +2016-09-14 17:48:39 +0300 Nikita Bobkov + + * gst/rtsp-server/rtsp-client.c: + rtsp-client: Fix factory leaking in find_media() in error cases + https://bugzilla.gnome.org/show_bug.cgi?id=771488 + +2016-10-06 11:47:50 -0400 Xavier Claessens + + * gst/rtsp-server/rtsp-stream.c: + stream: Fix randomly missing streams from SDP with dynamic elements + When using dynamic elements, gst_rtsp_stream_join_bin() is called from + "pad-added" signal. In that case priv->srcpad could already have its caps, + and they'll be sent to priv->send_src[0] pad. That means that when it + connects "notify::caps" signal, that pad could already have received its + caps and the signal won't be emitted anymore. + In that case priv->caps stay to NULL and when building the SDP that stream + gets ignored. Leading to missing video or audio when playing in client side. + https://bugzilla.gnome.org/show_bug.cgi?id=772478 + +2016-09-30 11:42:08 +0100 Tim-Philipp Müller + + * meson.build: + meson: update version + +=== release 1.9.90 === + +2016-09-30 13:04:12 +0300 Sebastian Dröge + + * ChangeLog: + * NEWS: + * RELEASE: + * configure.ac: + * gst-rtsp-server.doap: + Release 1.9.90 + +2016-09-17 13:17:19 +0100 Ian Jamison + + * gst/rtsp-server/rtsp-media-factory.c: + * gst/rtsp-server/rtsp-media.c: + * gst/rtsp-server/rtsp-stream.c: + rtsp-server: Hint that set_multicast_iface expects the name of the interface + To prevent any possibly confusion with IPs or anything else. + https://bugzilla.gnome.org/show_bug.cgi?id=771530 + +2016-09-18 09:58:55 -0400 Sebastian Dröge + + * gst/rtsp-server/rtsp-media-factory.c: + * gst/rtsp-server/rtsp-media.c: + rtsp-media: Call g_free() instead of g_object_unref() on multicast-iface strings + https://bugzilla.gnome.org/show_bug.cgi?id=763000#c5 + +2016-09-14 11:31:15 +0200 Sebastian Dröge + + * configure.ac: + configure: Depend on gstreamer 1.9.2.1 + +2016-09-10 20:52:31 +1000 Jan Schmidt + + * autogen.sh: + * common: + Automatic update of common submodule + From b18d820 to f980fd9 + +2016-09-10 09:58:31 +1000 Jan Schmidt + + * autogen.sh: + * common: + Automatic update of common submodule + From 6f2d209 to b18d820 + +2016-09-07 18:44:34 +0300 Sebastian Dröge + + * gst/rtsp-server/rtsp-stream.c: + rtsp-stream: Remove unused _locked() variant of a function + It was added during refactoring. + +2016-09-07 10:21:09 -0400 Xavier Claessens + + * gst/rtsp-server/rtsp-stream.c: + stream: cosmetic cleanup + https://bugzilla.gnome.org/show_bug.cgi?id=766612 + +2016-09-07 10:16:19 -0400 Xavier Claessens + + * gst/rtsp-server/rtsp-stream.c: + stream: Compare IP addresses case insensitive in more places + https://bugzilla.gnome.org/show_bug.cgi?id=766612 + +2016-09-07 10:12:18 -0400 Xavier Claessens + + * common: + * gst/rtsp-server/rtsp-stream.c: + stream: Fix leaked joined_bin + There is no need to keep a strong ref on it, and _leave_bin() was + setting it to NULL before calling g_clear_object() so it was leaked. + https://bugzilla.gnome.org/show_bug.cgi?id=766612 + +2016-09-06 19:15:23 +0300 Sebastian Dröge + + * gst/rtsp-server/rtsp-stream.c: + rtsp-stream: Compare IP address strings case insensitive + Otherwise IPv6 addresses might fail this comparision. + +2016-09-06 19:10:21 +0300 Sebastian Dröge + + * gst/rtsp-server/rtsp-stream.c: + rtsp-stream: Bind multicast sockets to ANY as before + https://bugzilla.gnome.org/show_bug.cgi?id=766612#c48 + +2016-09-05 18:31:36 +0300 Kseniia + + * gst/rtsp-server/rtsp-session.c: + rtsp-session: Fix segfault when doing keep-alive after removing the session + If keep-alive happens after removing the session but before finalizing the + stream transport, we would segfault. + https://bugzilla.gnome.org/show_bug.cgi?id=750544 + +2016-09-05 18:04:50 +0300 Sebastian Dröge + + * gst/rtsp-server/rtsp-stream.c: + rtsp-stream: Always create multicast UDP elements if the protocol flag is set + Adding them later will cause deadlocks due to + 1) pre-rolling and staying in PAUSED with the unicast/TCP sinks + 2) adding the multicast sink + 3) waiting for it to get data to preroll again + 3) never happens because the queues after the tee are full. + +2016-09-05 16:32:57 +0300 Sebastian Dröge + + * gst/rtsp-server/rtsp-stream.c: + rtsp-stream: Fix up various multicast related issues + +2016-09-05 13:40:59 +0300 Sebastian Dröge + + * tests/check/gst/stream.c: + tests: Fix compilation + +2016-07-28 15:33:05 -0400 Xavier Claessens + + * gst/rtsp-server/rtsp-client.c: + * gst/rtsp-server/rtsp-stream.c: + * tests/check/gst/stream.c: + stream: revert back to create udpsrc/udpsink on DESCRIBE for unicast + This is basically reverting changes introduced in commit f62a9a7, + because it was introducing various regressions: + - It introduces a leak of udpsrc elements that got wrongly fixed by adding + an hash table in commit cba045e. We should have at most 4 udpsrc for unicast: + ipv4/ipv6, rtp/rtcp. They can be reused for all unicast clients. + - If a mcast client connects, it creates a new socket in SETUP to try to respect + the destination/port given by the client in the transport, and overrides the + socket already set on the udpsink element. That means that if we already had a + client connected, the source address on the udp packets it receives suddenly + changes. + - If a 2nd mcast client connects, the destination/port in its transport is + ignored but its transport wasn't updated. + What this patch does: + - Revert back to create udpsrc/udpsink for unicast clients on DESCRIBE. + - Always have a tee+queue when udp is enabled. This could be optimized + again in a later patch, but is more complicated. If no unicast clients + connects then those elements are useless, this could be also optimized + in a later patch. + - When mcast transport is added, it creates a new set of udpsrc/udpsink, + seperated from those for unicast clients. Since we already support only + one mcast address, we also create only one set of elements. + https://bugzilla.gnome.org/show_bug.cgi?id=766612 + +2016-07-28 15:20:31 -0400 Xavier Claessens + + * gst/rtsp-server/rtsp-stream.c: + stream: factor our plug_src function + https://bugzilla.gnome.org/show_bug.cgi?id=766612 + +2016-07-21 21:46:16 -0400 Xavier Claessens + + * gst/rtsp-server/rtsp-stream.c: + stream: factor out plug_sink function + https://bugzilla.gnome.org/show_bug.cgi?id=766612 + +2016-07-20 23:05:09 -0400 Xavier Claessens + + * gst/rtsp-server/rtsp-stream.c: + stream: small documentation clarification + https://bugzilla.gnome.org/show_bug.cgi?id=766612 + +2016-07-20 15:35:44 -0400 Xavier Claessens + + * gst/rtsp-server/rtsp-stream.c: + stream: rename addr_v4/6 to mcast_addr_v4/6 for clarity + https://bugzilla.gnome.org/show_bug.cgi?id=766612 + +2016-07-14 11:10:31 -0400 Xavier Claessens + + * gst/rtsp-server/rtsp-stream.c: + stream: Keep a ref on joined bin + https://bugzilla.gnome.org/show_bug.cgi?id=766612 + +2016-07-20 15:11:32 -0400 Xavier Claessens + + * gst/rtsp-server/rtsp-stream.c: + stream: code cleanup + https://bugzilla.gnome.org/show_bug.cgi?id=766612 + +2016-07-20 23:18:23 -0400 Xavier Claessens + + * gst/rtsp-server/rtsp-stream.c: + stream: small fix in error code path + https://bugzilla.gnome.org/show_bug.cgi?id=766612 + +2016-07-20 20:09:57 -0400 Xavier Claessens + + * gst/rtsp-server/rtsp-stream.c: + Revert "rtsp-stream: Fix crash on cleanup with shared media and multiple udpsrc" + This partly reverts commit cba045e1b19fad6e689e10206f57903e15f1229a, + but keeps unit tests. + https://bugzilla.gnome.org/show_bug.cgi?id=766612 + +2016-09-01 12:33:00 +0300 Sebastian Dröge + + * configure.ac: + Back to development + === release 1.9.2 === -2016-09-01 Sebastian Dröge +2016-09-01 12:32:51 +0300 Sebastian Dröge + * ChangeLog: + * NEWS: + * RELEASE: * configure.ac: - releasing 1.9.2 + * gst-rtsp-server.doap: + Release 1.9.2 2016-01-27 01:03:52 +0000 Tim-Philipp Müller