summaryrefslogtreecommitdiff
path: root/ext
Commit message (Collapse)AuthorAgeFilesLines
...
* dashsink: Add signals for allowing custom playlist/fragmentStéphane Cerveau2021-07-071-56/+200
| | | | | | | | | | | | Instead of always going through the file system API we allow the application to modify the behaviour. For the playlist itself and fragments, the application can provide a GOutputStream. In addition the sink notifies the application whenever a fragment can be deleted. Following the HLS change: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/918 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2064>
* ccconverter: fix framerate caps negotiation from non-cdp to cdpMatthew Waters2021-07-021-2/+9
| | | | | | | | | We can only convert from non-cdp to cdp within the confines of valid cdp framerates. The existing caps negotiation code was allowing any framerate to convert to a cdp output which is incorrect and would hit an assertion later. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2372>
* webrtc receivebin: Drop serialized queries before receive queueOlivier Crête2021-06-291-1/+18
| | | | | | | | | | | | If they're not dropped, they can be blocked in the queue even if it is leaky in the case where there is a buffer being pushed downstream. Since in webrtc, it's unlikely that there will be a special allocator to receive RTP packets, there is almost no downside to just ignoring the queries. Also drop queries if they get caught in the pad probe after the queue. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2363>
* webrtc receivebin: Only set queue to leaky when the pad is blockedOlivier Crête2021-06-292-7/+13
| | | | | | | When the pad is no longer blocked, remove the leakyness to make sure everything gets into the jitterbuffer. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2363>
* webrtc receivebin: Don't unblock pad until sender is unblockedOlivier Crête2021-06-291-2/+27
| | | | | | | | | | As ther OpenSSL session is created when the receiver goes into playing, we have to wait for the ICE session to be connected before we can start delivering packets to the DTLS element. Fixes #1599 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2363>
* webrtcbin: Sync to the clock per stream and not per bundleSebastian Dröge2021-06-281-25/+41
| | | | | | | | | | | | | By using the clocksync inside the dtlssrtpenc, all streams inside a bundled are synchronized together. This will cause problems if their buffers are not already arriving synchronized: clocksync would wait for a buffer on one stream and then buffers from the other stream(s) with lower timestamps would all be sent out too late. Placing the clocksync before the rtpbin and rtpfunnel synchronizes each stream individually and they will be send out more smoothly as a result. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2355>
* webrtc: Remove the webrtc-priv.h header from public headersOlivier Crête2021-06-283-0/+3
| | | | | | | | | And this time for real, also import it in a couple more places inside the webrtc element to make it build. Fixes #1607 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2359>
* webrtcbin: Set transceiver kind and codec preferences immediately when ↵Sebastian Dröge2021-06-252-22/+28
| | | | | | | | | | creating it Otherwise the on-new-transceiver signal will always be emitted with kind set to UNKNOWN and no codec preferences although both are often known at this point already. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2360>
* webrtcbin: Store newly created transceivers when creating an answer also in ↵Sebastian Dröge2021-06-251-2/+2
| | | | | | | | the seen transceivers list Otherwise it might be used a second time for another media afterwards. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2310>
* webrtcbin: When creating a new transceiver as part of creating the answer ↵Sebastian Dröge2021-06-251-13/+29
| | | | | | also take its codec preferences into account Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2310>
* webrtcbin: Fix a couple of caps leaks of the offer capsSebastian Dröge2021-06-251-0/+3
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2310>
* webrtcbin: Stop transceivers update after first SDP error on data channelPhilippe Normand2021-06-251-0/+2
| | | | | | | | | | | | When invalid SDP is supplied, _update_data_channel_from_sdp_media() sets the GError, so it is invalid to continue any further SDP processing, we have to exit early when the first error is raised. This change is similar to the one applied in 064428cb34572fa1a018ebbaba6925967ba99dc0. See also #1595 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2356>
* webrtc lib: Make the datachannel struct privateOlivier Crête2021-06-211-0/+2
| | | | | | This will prevent any unsafe access. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2241>
* webrtc lib: Make the icetransport struct privateOlivier Crête2021-06-211-0/+2
| | | | | | This will prevent any unsafe access. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2241>
* webrtc lib: Make the rtpsender struct privateOlivier Crête2021-06-211-0/+2
| | | | | | This will prevent any unsafe access. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2241>
* webrtc lib: Make the transceiver struct privateOlivier Crête2021-06-211-0/+1
| | | | | | This will prevent any unsafe access. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2241>
* x265enc: add negative DTS supportMathieu Duponchelle2021-06-211-0/+4
| | | | | | | Use the same set_min_pts approach as x264enc. Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/304 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2340>
* faad: fix typo in element documentationStéphane Cerveau2021-06-211-1/+1
| | | | | | seealso is now see_also Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2323>
* waylandsink: prevent frame callback being released twiceRandy Li (ayaka)2021-06-154-14/+18
| | | | | | | | | | | | | | | | | For those using context from the application which would be the embedded video case, if the frame callback is entering at the same time as window is finalizing, a wayland proxy object would be destroyed twice, leading the refcout less than zero in the second time, it can throw an abort() in wayland. For those top window case, which as a directly connection to the compositor, they can stop the message queue then the frame callback won't happen at the same time as the window is finalizing. It doesn't think it would bother them about this. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1883>
* jpeg2000parse, openjpeg: add support for YCrCb 4:1:1 samplingStéphane Cerveau2021-06-141-0/+3
| | | | | | | Add YCrCb 4:1:1 support in openjpeg elements and fix in jpeg2000parse the YCrCb 4:1:0 support Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2321>
* wpe: Rename `undeserializable_type` to `not_deserializable_type`Thibault Saunier2021-06-081-4/+4
| | | | | | Making it more readable. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2273>
* wpe: Make forwarded messages layout more like GstBinForwaded messagesThibault Saunier2021-06-083-51/+61
| | | | | | | Making it look more like how we do this kind of things in other places. See: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2252#note_927653 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2273>
* wpe: Make wpesrc!video pad an always padThibault Saunier2021-06-081-26/+20
| | | | | | There should always be a `video` pad no matter what. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2273>
* wpe: Remove unused env varThibault Saunier2021-06-081-4/+0
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2273>
* wpe: Fix atomic usageThibault Saunier2021-06-081-2/+1
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2273>
* wpe: Add a note able requiring tracing subsystem for message forwardingThibault Saunier2021-06-081-0/+2
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2273>
* wpe: Fix check on whether MEMFD_CREATE is availableThibault Saunier2021-06-081-1/+2
| | | | | | The ordering of the ifdef was wrong Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2273>
* wpe: Plug a leakThibault Saunier2021-06-082-3/+7
| | | | | | We were freeing after returning Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2273>
* Revert "wpe: Properly respect LIBGL_ALWAYS_SOFTWARE"Thibault Saunier2021-06-081-15/+13
| | | | | | | | | | | | | | | This causes issues I didn't see: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2252#note_927633 Let's just tell people to use capsfilter to force software rendering in `wpesrc` for now. The intent was to allow forcing it easily in playbin2 for the CI, but we will do it some other way and see when time comes. This reverts commit 9415106b029e5469ca28d882dc46ecc38786d4c9. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2273>
* waylandsink: Fix for missing initial configureNicolas Dufresne2021-06-021-1/+1
| | | | | | | | | | | We were doing our initial "empty" commit on the subsurface instead of the toplevel surface. As an incidence, we should not have received a configure event ever, not just on mutter. This fixes the following warning when using mutter compositor (aka gnome-shell): waylandsink wlwindow.c:304:gst_wl_window_new_toplevel: The compositor did not send configure event. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2299>
* webrtcbin: Stop transceivers update after first SDP errorPhilippe Normand2021-05-301-0/+2
| | | | | | | | | | When invalid SDP is supplied, _update_transceiver_from_sdp_media() sets the GError, so it is invalid to continue any further SDP processing, we have to exit early when the first error is raised. Fixes #1595 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2254>
* hlssink2: Initialize debug category to prevent an assert with `fatal-warnings`Roman Sivriver2021-05-281-1/+4
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2288>
* Use gst_buffer_new_memdup()Tim-Philipp Müller2021-05-247-8/+10
| | | | | | | | Update for function rename in core. https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/827 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2281>
* wpe: Bump wpebackend-fdo version requirement to 1.8Philippe Normand2021-05-235-83/+4
| | | | | | | Debian bullseye has this version already, and this allows us to get rid of many ifdefs. The mouse scroll handling is actually functional now as well. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2278>
* Use new gst_buffer_new_copy()Tim-Philipp Müller2021-05-237-23/+14
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2279>
* wpe: Bump WPE dependency to 2.28Thibault Saunier2021-05-192-2/+2
| | | | | | | The new audio feature depends on WPE 2.28 so we should just bump our requirement to that. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2264>
* wpe: Update doc cacheThibault Saunier2021-05-192-55/+51
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2252>
* wpe: Properly respect LIBGL_ALWAYS_SOFTWAREThibault Saunier2021-05-191-13/+15
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2252>
* wpe: Relay messages from WPE internal pipelinesThibault Saunier2021-05-196-2/+284
| | | | | | | It is based on a tracer as it allows us to very easily get every message that are posted on any bus inside the process. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2252>
* wpe: Base wpe audio implementation on a web extensionThibault Saunier2021-05-1912-100/+577
| | | | | | | This makes the implementation simpler and enable us to map webviews and audio stream much more easily Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2252>
* wpe: Enable WebAudioPhilippe Normand2021-05-191-0/+3
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2252>
* wpe: Implement audio supportPhilippe Normand2021-05-198-30/+384
| | | | | | | The wpesrc bin now exposes "sometimes" audio src pads, one for every PCM audio stream created by WPEWebKit. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2252>
* wpe: Move wpesrc to wpevideosrc and add a wrapper bin `wpesrc`Thibault Saunier2021-05-198-161/+402
| | | | | | | Currently the bin contains a single element but we are going to implement audio support and expose extra pads for audio Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2252>
* sctp: Ensure pad is still a child of element before removalDoug Nazar2021-05-191-1/+4
| | | | | | | | | During pipeline shutdown there are several competing paths to remove pads. Avoids tests failing due to: Unexpected critical/warning: Padname '':sink_1 does not belong to element sctpenc1 when removing Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2256>
* sctp: Fix race of pad removal during reset/stopDoug Nazar2021-05-191-1/+4
| | | | | | | Both reset & stop remove existing pads. Can result in warning from gst_element_remove_pad(). Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2256>
* webrtcbin: Fix race bringing up sctp data channelDoug Nazar2021-05-191-1/+2
| | | | | | Notifying before pads are linked can cause the stream to fail to start. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2256>
* webrtcbin: advertise harder the rtcp-mux-only requirementMatthew Waters2021-05-192-0/+9
| | | | | | And ignore rtcp ICE candidates Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2239>
* webrtcbin: update default jb latency docsSid Sethupathi2021-05-191-1/+5
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2242>
* dtls: Let sender know when we are flushingDoug Nazar2021-05-191-0/+5
| | | | | | Prevents endless loop during shutdown where we end up sending 0 bytes. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2229>
* dtls: Add ability to set custom GstFlowReturn on callback errorDoug Nazar2021-05-192-3/+25
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2229>