Commit graph

6194 commits

Author SHA1 Message Date
Nicolas Dufresne
694d9dcde5 dashdemux: Always create the adapter
Worst case it will be empty. This fixes a crash when the base class
calls data_received() when the stream is neither is_isobmff or
has_isoff_ondemand_profile.

https://bugzilla.gnome.org/show_bug.cgi?id=796745
2018-08-16 15:59:42 -04:00
Wim Taymans
cb16d0b239 curlhhtpsrc: avoid invalid memory references
gst_curl_http_src_remove_queue_item() can free qelement and then
we get an invalid memory reference when we do qelement->next a
couple of lines below. Take the next pointer earlier so that we can
safely free.
2018-08-16 11:44:27 +02:00
Nicolas Dufresne
6ff5eb44cb makefile: opencv: Fix header names in noinst_HEADERS
This should fix missing gstcameracalibrate.h and gstcameraundistort.h
missing into generated tarballs.
2018-08-14 16:00:41 -04:00
Michael Drake
bba33533ab assrender: fix multiple subtitles on screen simultaneously
This fixes an issue with SSA/ASS subtitles, where subtitles
would fail to appear if there was already a subtitle on screen.

This was because `struct _GstAssRender` had a single
`GstBuffer *subtitle_pending` member.  This meant that
the assrender context could only be aware of one subtitle
at a time.

This patch changes the subtitle_pending member to a
linked list of pending subtitles.

The `gst_ass_render_chain_text` function no longer needs
to care about whether there are already subtitles pending,
it simply appends new subtitles to the list.

The `gst_ass_render_chain_video` function has been modified
to handle the list of pending subtitles.

Finally, the `gst_ass_render_pop_text` function has been
modified to pop the entire list of pending subtitles.

https://bugzilla.gnome.org/show_bug.cgi?id=735944
2018-08-14 23:00:34 +10:00
Víctor Manuel Jáquez Leal
85f142a8e2 closedcaption: comment out unused function
When compiling with clang-6 this error raises:

raw_decoder.c:411:1: error: unused function 'cpr1204_crc'
[-Werror,-Wunused-function]

This patch only comments it out.

https://bugzilla.gnome.org/show_bug.cgi?id=796957
2018-08-14 13:31:49 +02:00
Víctor Manuel Jáquez Leal
808b404e88 closedcaption: avoid implicit convertion of enums
When compiling with clang-6 this error pops out:

raw_decoder.c:1011:62: error: implicit conversion from enumeration
type 'const vbi_modulation' to different enumeration type
'vbi3_modulation' [-Werror,-Wenum-conversion]

This is because function vbi3_bit_slicer_set_params() sets
vbi3_modulation as enum type parameter, nonetheless vbi_modulation
enum is passed. Both enums looks semantically equal, thus the fix is a
simple cast.

https://bugzilla.gnome.org/show_bug.cgi?id=796957
2018-08-14 13:31:49 +02:00
Nirbheek Chauhan
c54e4b6305 meson: Add gnustl dep for webrtcdsp on Android
Needed for C++ headers. Without this, webrtcdsp can't find <algorithm>
2018-08-11 04:32:34 +05:30
Nicolas Dufresne
bdd1dd04ea webrtcdsp: Avoid redefinition of GST_USE_UNSTABLE_API 2018-08-03 07:57:02 -04:00
George Kiagiadakis
d299c27892 webrtcdsp: add support for using F32/non-interleaved buffers
This is the native format that is in use by the webrtc audio processing
library internally, so this avoids internal {de,}interleaving and
format conversion (S16->F32 and back)

https://bugzilla.gnome.org/show_bug.cgi?id=793605
2018-08-03 13:20:12 +03:00
Thibault Saunier
760cbc4059 rsvg: Also accept </svg:svg> as ending tag
Some SVG files created by inkscape use that, such as:
https://gitlab.gnome.org/GNOME/pitivi/uploads/8dd8d9d988b5eb6cc38f871196caac6f/Titel-Tafel3.2_anim.svg

This is a first patch for https://bugzilla.gnome.org/show_bug.cgi?id=796909
but it is not enough to support animated gifs.
2018-08-02 21:11:14 -04:00
Nicolas Dufresne
d2ee9b16fa opencv: Fixup include to follow new standard
This uses the new path for OpenCV headers. OpenCV now have
master headers files per modules, which reduce the amount of
required includes. Note that HIGHGUI was included to get the
imgcodecs includes, which I fixed, though the master header is
missing the C headers, so I included that directly. All the
image stuff should be ported to C++ eventually. Finally, this
patch also update the header checks to reflect the modules that
are really being used.
2018-08-02 11:31:34 -04:00
Nicolas Dufresne
9c91282ba6 opencv: Updated to use new header path 2018-08-02 11:31:34 -04:00
Nicolas Dufresne
cabf875098 opencv: Bump requirement to 3.0.0+
And removes all the ifdef code to support the 2.X APIs.
2018-08-02 11:31:34 -04:00
Sebastian Dröge
f028f817e3 ceaccoverlay: Initialize debug category 2018-08-02 16:19:55 +03:00
Nicolas Dufresne
1f65a3aa13 cameracalibrtate: Fix opencv2 core.hpp path
This is to support older release of OpenCV2

https://bugzilla.gnome.org/show_bug.cgi?id=789075
2018-08-02 08:14:31 -04:00
Philippe Renon
f460448198 opencv: new cameracalibrate and cameraundistort elements
https://bugzilla.gnome.org/show_bug.cgi?id=789075
2018-08-01 22:04:17 -04:00
Seungha Yang
231524cbbc srt: Allow the host name "localhost"
Add support "srt://localhost:port" style uri, and change the
default host to "localhost"

https://bugzilla.gnome.org/show_bug.cgi?id=796842
2018-07-30 16:53:52 -04:00
Seungha Yang
fa75487e98 srtclientsink: Fix SRT socket option setting
SRTClientSink is sender

https://bugzilla.gnome.org/show_bug.cgi?id=796842
2018-07-30 16:50:10 -04:00
Seungha Yang
32140dcb84 srt: Do not ignore SRT socket error event
... and set SRT_EPOLL_IN flag if the client is not sender
(i.e., source element) since waiting readable event for
srt_recvmsg() makes more sense.

https://bugzilla.gnome.org/show_bug.cgi?id=796842
2018-07-30 16:50:10 -04:00
Seungha Yang
f46af953c1 srtbasesrc: Use GstBaseSrc's timestamp impl.
... instead of doing it ourselves. Otherwise, we should add more
logic here (such as checking GstClock and etc) which was already provided by
GstBaseSrc.

https://bugzilla.gnome.org/show_bug.cgi?id=796842
2018-07-30 16:50:10 -04:00
Seungha Yang
728b116fdb srt: Add "const" keyword to a function argument
Given "passphrase" shouldn't be modified

https://bugzilla.gnome.org/show_bug.cgi?id=796842
2018-07-30 16:50:10 -04:00
Seungha Yang
82467a49b9 srt: Remove duplicated code for setting server socket
https://bugzilla.gnome.org/show_bug.cgi?id=796842
2018-07-30 16:50:10 -04:00
Seungha Yang
8e18175080 srt: Fix signal args mismatch
client-added and client-{removed,closed} signals were defined
to be emitted with two arguments (socket fd and address)

https://bugzilla.gnome.org/show_bug.cgi?id=796842
2018-07-30 16:50:09 -04:00
Seungha Yang
d8015586b5 srtserversrc: Emit client-closed signal in _stop()
... instead of client-added

https://bugzilla.gnome.org/show_bug.cgi?id=796842
2018-07-30 16:44:51 -04:00
Seungha Yang
f5de8db140 srtclientsink: Do not leak string
https://bugzilla.gnome.org/show_bug.cgi?id=796842
2018-07-30 16:44:51 -04:00
Seungha Yang
b609184701 srtclient: Fix bind-port and rendez-vous property getter
https://bugzilla.gnome.org/show_bug.cgi?id=796842
2018-07-30 16:44:51 -04:00
Seungha Yang
85d04e9335 srt: Reduce useless call depth
Providing simplified _client_connect() is not required for now.

https://bugzilla.gnome.org/show_bug.cgi?id=796842
2018-07-30 16:44:51 -04:00
Seungha Yang
aafdfdb5e4 srt: Remove white space
https://bugzilla.gnome.org/show_bug.cgi?id=796842
2018-07-30 16:44:51 -04:00
Nicolas Dufresne
cc746e336a meson: mjpegtools_api should be 20K for mplex too
This error was duplicated.
2018-07-27 22:36:40 -04:00
Nicolas Dufresne
c259b8878e meson: mjpegtools_api should have been 20K not 2K
This was miss-ported when the options got added. The requires version was
properly set to 2000 before.
2018-07-27 22:33:47 -04:00
Nirbheek Chauhan
b55dfb5313 Add feature options for almost all plugins
The only plugins remaining are those that haven't been ported to Meson
yet, and msdk. Also, the tests are still automagic.

https://bugzilla.gnome.org/show_bug.cgi?id=795107
2018-07-27 19:04:38 +05:30
Nirbheek Chauhan
7ef303fa28 meson: Add feature options for many plugins
The rest will be converted later, these are necessary for gst-build to
set options correctly.

https://bugzilla.gnome.org/show_bug.cgi?id=795107
2018-07-27 18:43:52 +05:30
Olivier Crête
8908260c1f av1enc: Implement latency setting 2018-07-26 11:19:41 -04:00
Olivier Crête
576c0b2a69 av1enc: Propagate flags from encoder to GstBuffer 2018-07-26 10:48:34 -04:00
Olivier Crête
7c2170a63a av1enc: Implement finish for EOS
Call the encode function repeatedly until nothing comes out.

https://bugzilla.gnome.org/show_bug.cgi?id=796727
2018-07-26 10:34:29 -04:00
Olivier Crête
187783354a av1enc: Return downstream error from push 2018-07-26 10:34:29 -04:00
Matteo Valdina
e0535b44d4 waylandsink: relaxed wl_shell check and added zwp_fullscreen_shell.
Relaxed the wl_shell interface constrains, so application that
pass via GstContext the wl_surface can use waylandsink in a
compositor without wl_surface and zwp_fullscreen_shell.

Added support for zwp_fullscreen_shell.

https://bugzilla.gnome.org/show_bug.cgi?id=796772
2018-07-25 07:53:09 -04:00
Jan Schmidt
14ab3972ef ladspa: Only scan LADSPA subdir APPDATA and COMMONPROGRAMFILES
Don't scan the entire APPDATA and COMMONPROGRAMFILES
path tree, just the LADSPA sub-directory inside them, if any.

https://bugzilla.gnome.org/show_bug.cgi?id=796450
2018-07-22 10:39:30 +10:00
Jan Schmidt
ff736c730d ladspa: Don't try and load every file as a plugin
When scanning paths for LADSPA plugins, don't try and load
every random file as a module, as g_module_open ends up throwing
errors on Windows.

Use a G_MODULE_SUFFIX and GST_EXTRA_MODULE_SUFFIX suffix check as
we do for GStreamer plugins.

https://bugzilla.gnome.org/show_bug.cgi?id=796450
2018-07-22 10:39:30 +10:00
Sam Gigliotti
1b095e9609 webrtc: fix memory leak
When it parses SDP, it doesn't free the error object.

https://bugzilla.gnome.org/show_bug.cgi?id=796830
2018-07-19 14:30:55 +01:00
Jonathan Karlsson
d74ceb343a curlhttpsink: Support for multipart/form-data Content-Type
Add support to set multipart/form-data as Content-Type by sending a
caps event to the curlhttpsink with a field named "boundary".

https://bugzilla.gnome.org/show_bug.cgi?id=796618
2018-07-17 16:57:06 +03:00
Jan Schmidt
e6a564216d webrtc: Add a warning in sdp_media_from_transceiver()
When generating caps with no ssrc, at least throw a
warning instead of using an uninitialised stack variable

https://bugzilla.gnome.org/show_bug.cgi?id=796810
2018-07-15 23:07:21 +10:00
Jan Schmidt
76a93da2a7 webrtc: Fix memory leak
Fix a leaked string when building RTX info.
2018-07-14 23:20:13 +10:00
Jan Schmidt
15d3bc9870 webrtc: Clean up and fix transportsendbin
Refactor transportsendbin, and change the way
pads are blocked on dtlssrtpenc so that they
don't interfere with state changes.

As well as being easier to read, this fixes
spurious failures shutting down webrtcbin
if DTLS negotiation hasn't completed yet.
2018-07-14 23:20:13 +10:00
Jan Schmidt
cb750efd6c webrtc: Move dtlssrtpenc state management
Move the errant piece of dtlssrtpenc state change
management from dtlstransport in the Webrtc libs,
into the transportsendbin that does the rest of
the element management so it's all in one place.
2018-07-14 23:18:50 +10:00
Thibault Saunier
c247745faa opencv: Fix build for opencv >= 3.4.2
The `CV_RGB` macro is now in `imgproc.hpp`.

Fixes:

    ../subprojects/gst-plugins-bad/ext/opencv/gsthanddetect.cpp:497:40: error: ‘CV_RGB’ was not declared in this scope
            cvCircle (img, center, radius, CV_RGB (0, 0, 200), 1, 8, 0);
                                        ^~~~~~
2018-07-14 08:01:27 -04:00
Mathieu Duponchelle
6fd3e2a400 find_codec_preferences: use received caps
When negotiation is triggered by receiving caps on our sink pad
probes, we could encounter a race condition where need-negotiation
is emitted and the application requires the creation of an offer
before the current caps were actually updated.

This led to retrieving incomplete caps when creating the offer,
using find_codec_preferences -> pad_get_current_caps.

Instead, as we save the caps in the probe callback anyway, it is better
and thread safe to use these if they were set.

https://bugzilla.gnome.org/show_bug.cgi?id=796801
2018-07-12 21:39:41 +02:00
Matthew Waters
e47cf9abe1 glvideomixer: fix default placement when different sized output
i.e. when expanding from 320x240 to 800x600, the resulting frame should
appear in the top left corner, not the middle.

https://bugzilla.gnome.org/show_bug.cgi?id=794401
2018-07-12 12:48:39 +10:00
Daniel Klamt
b8442dd6ab glvideomixer: Moves the objects to zero on z axis
Matches the output from a similar glimagesink pipeline when
rotating from an upstream gltransformation passed through
the affine transformation meta with xpos/ypos being set.

https://bugzilla.gnome.org/show_bug.cgi?id=794401
2018-07-12 12:46:40 +10:00
Nicolas Dufresne
0327579460 glvideomixer: Fix coding style 2018-07-10 09:45:31 -04:00