Commit graph

6211 commits

Author SHA1 Message Date
Edward Hervey
b0b02e7cb5 closedcaption: Include zvbi raw vbi decoder code
Current code from zapping/zvbi as of 2018-03-14. Files copied
are all LGPL v2+.

Changes from original zvbi code:
* Switch to gst-debug logging system
* Use glib for endianness detection
* Fix compilation warnings
2018-05-28 14:50:01 +02:00
Tim-Philipp Müller
483892d16a closedcaption: add meson build files 2018-05-28 11:09:45 +01:00
Edward Hervey
2550718f59 ext: New ccextractor element
Allows extracting GstVideoCaptionMeta from a stream and outputs
it to a standalone stream.

Part of a new 'ext' closedcaption plugin, since more features are
going to be added, which will depend on external dependencies such
as pango.
2018-05-28 11:54:17 +02:00
Tim-Philipp Müller
ed7a98d45b webrtcbin: rtpstorage takes a 64-bit integer for "size-time" property
https://bugzilla.gnome.org/show_bug.cgi?id=796429
2018-05-28 10:43:37 +01:00
Tim-Philipp Müller
88fec19ba2 directfb: don't error out for warnings in system headers
On debian system headers trigger compiler warnings like these,
don't error out on them:
/usr/include/directfb/direct/os/linux/glibc/waitqueue.h:95:1: note: previous definition of ‘direct_waitqueue_signal’ was here
2018-05-28 10:43:37 +01:00
Tim-Philipp Müller
2227ef1304 meson: fix libnice fallback options 2018-05-21 14:42:56 +01:00
Tim-Philipp Müller
69fcd6391a webrtc: add some default options for libnice fallback
The tests are not very reliable, so disable for now.
2018-05-19 12:25:02 +01:00
Seungha Yang
9956f22537 dashdemux: Fix sync of updated manifest from previous one
_get_next_fragment_timestamp() returns relative timestamp to period start.
But gst_mpd_client_stream_seek() uses absolute MPD timeline.

https://bugzilla.gnome.org/show_bug.cgi?id=781183
2018-05-12 09:27:46 +02:00
Olivier Crête
67ae35813b srtp: Add "roc" caps field to the gst-launch example
The currrent example was broken since 1.8.3 it seems.

https://bugzilla.gnome.org/show_bug.cgi?id=786304
2018-05-11 20:55:10 +02:00
Edward Hervey
45d6256dad opencv: Fix memcpy within C++
Explicitly cast to void* because GCC 8 is (rightfully) upset that this is
"writing to an object of type ‘...’ with no trivial copy-assignment".

Caused by the new "class-memaccess" warning
2018-05-11 09:54:22 +02:00
Mathieu Duponchelle
5c450c5992 webrtcbin: implement support for FEC and RTX
https://bugzilla.gnome.org/show_bug.cgi?id=795044
2018-05-09 14:46:14 +02:00
Sebastian Dröge
4249cb5768 videoaggregator: Rename get_output_buffer() to create_output_buffer()
For consistency with GstAudioAggregator.
2018-05-06 16:05:28 +02:00
Sebastian Dröge
ea5de0d757 videoaggregator: Switch to a GstVideoAggregatorConvertPad subclass
This moves all the conversion related code to a single place, allows
less code-duplication inside compositor and makes the glmixer code less
awkward. It's also the same pattern as used by GstAudioAggregator.
2018-05-06 15:22:51 +02:00
Fabien Dessenne
f777c66dcc waylandsink: support fullscreen
Add the fullscreen property that makes the sink displayed all across
the output.

https://bugzilla.gnome.org/show_bug.cgi?id=688190
2018-05-06 15:13:59 +02:00
Sebastian Dröge
5d27bd1db0 glmixer: Include string.h for memset()
gstglmixer.c:143:5: error: implicit declaration of function ‘memset’ [-Werror=implicit-function-declaration]
     memset (prepared_frame, 0, sizeof (GstVideoFrame));
     ^~~~~~
gstglmixer.c:143:5: error: incompatible implicit declaration of built-in function ‘memset’ [-Werror]
2018-05-05 17:48:30 +02:00
Sebastian Dröge
83192bce84 videoaggregator: Move aggregated_frame and the pad buffer into the private struct
The aggregated_frame is now called prepared_frame and passed to the
prepare_frame and cleanup_frame virtual methods directly. For the
currently queued buffer there is a method on the video aggregator pad
now.
2018-05-05 16:32:19 +02:00
Nirbheek Chauhan
7f7324b3e6 meson: Add a subproject fallback for libnice in webrtc 2018-05-05 18:48:13 +05:30
Sebastian Dröge
5add956727 glmixer: Move frame/texture mapping/unmapping into prepare/clean_frame
Previously we assumed that the texture ID is going to be valid even
after unmapping the frame, as it was immediately unmapped before even
being used. Now we only unmap once we're done with the texture.
2018-05-05 12:17:34 +02:00
Jan Schmidt
3740837c18 srtpenc: Handle session object disappearing
During element shutdown, the srtp encryption session
object can be cleaned up. In that case, return GST_FLOW_FLUSHING
from the chain function. Also properly return GST_FLOW_ERROR
upstream during actual errors.

https://bugzilla.gnome.org/show_bug.cgi?id=790508
2018-05-05 02:02:06 +10:00
Sebastian Dröge
10b7b13732 videoaggregator: Rename ignore-eos pad property to repeat-after-eos
What it does is to repeat the last frame forever after EOS, it does not
literally ignore EOS.
2018-05-04 16:46:00 +02:00
Sebastian Dröge
e34d4e9bf4 videoaggregator: Move GstChildProxy implementations into leaf classes
Not every subclass will want to expose the pads via the interface.

https://bugzilla.gnome.org/show_bug.cgi?id=739011
2018-05-04 16:13:16 +02:00
Jan Schmidt
1b6cc98aa5 resindvsrc: Don't use the GST_EVENT_TIMESTAMP
Store a PTS of a highlight event directly into the event structure,
rather than the GST_EVENT_TIMESTAMP that will probably be removed
in GStreamer 2.0, and is hardly used.

https://bugzilla.gnome.org/show_bug.cgi?id=761477
2018-05-04 22:56:02 +10:00
Xavier Claessens
83d0623293 Meson: Generate pc file for all plugins in bad
https://bugzilla.gnome.org/show_bug.cgi?id=794568
2018-04-25 11:08:09 +01:00
Jun Xie
cb1b143b5b curlhttpsrc: deadlock in multi-instance scenario
Fixed queue iterator issue and set context state to
GSTCURL_MULTI_LOOP_STATE_RUNNING in case other
instance are in running state.

https://bugzilla.gnome.org/show_bug.cgi?id=793863
2018-04-24 14:18:20 -04:00
Tim-Philipp Müller
79c13988e4 Fix code indentation 2018-04-22 18:27:37 +01:00
Thibault Saunier
cbb4bdbb94 dssim: Add a dssim-error-threshold property
If that threshold is reached, `iqa` will emit an ERROR message on the
bus, stopping any processing.

This way we can do a simpler comparison with gst-validate and the
process will error out if the specified threshold is reached.

https://bugzilla.gnome.org/show_bug.cgi?id=795428
2018-04-20 22:19:27 -03:00
Garima Gaur
8e6375c08b resindvd, uvch264src, dx9screencapsrc: fix clock ref leaks in error paths
https://bugzilla.gnome.org/show_bug.cgi?id=776376
2018-04-12 19:07:19 +01:00
Sebastian Dröge
385a68b850 hlssink2: Use the new reset-muxer property on splitmuxsink
We don't want to reset the muxer, otherwise the continuity counter will
reset after each segment and some software gets confused. We want to
create a continuous stream.

https://bugzilla.gnome.org/show_bug.cgi?id=794816
2018-04-03 14:38:15 +03:00
Nirbheek Chauhan
5d2674f515 meson: Add missing optional lrdf dep to ladspa build
https://bugzilla.gnome.org/show_bug.cgi?id=794350
2018-03-27 14:25:24 +05:30
Nirbheek Chauhan
e80c044cb3 ladspa: Fix critical during plugin load on Windows
https://bugzilla.gnome.org/show_bug.cgi?id=794611
2018-03-27 12:02:21 +05:30
Tim-Philipp Müller
ed84f17917 x265enc: no //-style comments 2018-03-26 19:53:37 +01:00
James Stevenson
0670befbaf x265enc: Add "key-int-max" property
https://bugzilla.gnome.org/show_bug.cgi?id=794623
2018-03-26 19:53:24 +01:00
Sebastian Dröge
3b5c2049bb gl: Rename gstglutils.h functions to prevent symbol conflicts with static linking
The gl plugin in -base has the same function.
2018-03-25 12:53:53 +03:00
Sebastian Dröge
52ebbd55b2 opus: Rename opusheader functions to prevent symbol conflicts with static linking
The opus plugin in -base has the same functions.
2018-03-25 12:53:53 +03:00
James Stevenson
add2c0c35a x265: Fix tagging of keyframes on output buffers
https://bugzilla.gnome.org/show_bug.cgi?id=794620
2018-03-23 14:10:57 +00:00
Alessandro Decina
f49134095c meson: use gnome.mkenums_simple() to generate enumtypes files
Means we no longer need our custom scripts, nor template files.
2018-03-22 14:34:05 +00:00
Patrik Nilsson
e61e840d09 meson: fix ladspa dependencies
There are two issues, both related to dependency checking with the meson
support for the ladspa plugin.

With autotools, lrdf is handled like an optional dependency. But with
meson it is required. This makes the meson support less flexible and
inconsistent with autotools.

When autotools is used it properly checks if ladspa.h is available.
But with meson it does not, instead it treats lrdf as the main
dependency. This could cause a build failure if lrdf is installed, but
the ladspa sdk is not.

https://bugzilla.gnome.org/show_bug.cgi?id=794350
2018-03-22 09:50:50 +02:00
Patrik Nilsson
3fdcdf2705 meson: enable bs2b compilation
Add meson build system support to bs2b plugin.

https://bugzilla.gnome.org/show_bug.cgi?id=794346
2018-03-21 16:53:55 -04:00
Sebastian Dröge
8375e33965 webrtcbin: Remove parameter from gst_webrtc_rtp_sender_new() 2018-03-16 11:07:01 +02:00
Jan Alexander Steffens (heftig)
7da65ab6d5 srt: Add missing gstsrt.h to noinst_HEADERS
Reorder the list to match the SOURCES.

https://bugzilla.gnome.org/show_bug.cgi?id=794320
2018-03-14 10:46:34 +00:00
Sebastian Dröge
2b4f8ab027 iqa: Fix build with latest aggregator API changes 2018-03-02 21:53:47 +02:00
Mathieu Duponchelle
47208072bf meson: enable more warnings 2018-03-01 18:44:30 +01:00
Tim-Philipp Müller
a0cc9d1af0 Remove schroedinger plugin
No upstream (website disappeared), no maintainer, and
pretty much a fringe format anyway.

https://bugzilla.gnome.org/show_bug.cgi?id=776215
2018-03-01 15:24:39 +00:00
Mathieu Duponchelle
39d408f3d6 Port to latest GstAggregator segment API
The aggregator segment is now exposed on the src pad

https://bugzilla.gnome.org/show_bug.cgi?id=793946
2018-03-01 15:37:06 +01:00
Alicia Boya García
4d1b6882be x265enc: Add format example for option-string
https://bugzilla.gnome.org/show_bug.cgi?id=793881
2018-02-27 13:56:57 -05:00
Chris Bass
2863a55a89 ttml: Add support for IMSC 1.0.1 fillLineGap attribute
Strictly speaking, the TTML spec requires that text backgrounds extend
only to the font height of the related text, rather than to the vertical
distance between lines. The result of this is that there will typically
be vertical gaps between line backgrounds through which moving video can
be seen. Since this was unnacceptable to some content providers, v1.0.1
of the IMSC spec (which profiles TTML) adds a new attribute,
itts:fillLineGap[1], that allows content authors to specify that clients
should extend text backgrounds such that there are no gaps between
lines. This attribute is also going to be included in the next release
of EBU-TT-D.

This patch adds support for fillLineGap to ttmlparse and ttmlrender.

[1] https://www.w3.org/TR/ttml-imsc1.0.1/#itts-fillLineGap

https://bugzilla.gnome.org/show_bug.cgi?id=787071
2018-02-27 16:27:47 +02:00
Jan Alexander Steffens (heftig)
37a9e0fff9 srt: Add support for streamheaders to sinks
https://bugzilla.gnome.org/show_bug.cgi?id=793503
2018-02-23 15:29:57 -05:00
Jan Alexander Steffens (heftig)
8a5dab1c06 srt: Refactor gst_srt_*_sink_send_buffer, extract send
https://bugzilla.gnome.org/show_bug.cgi?id=793503
2018-02-23 15:29:57 -05:00
Jan Alexander Steffens (heftig)
7463a93620 srt: Add gst_srt_base_sink_stop
https://bugzilla.gnome.org/show_bug.cgi?id=793503
2018-02-23 15:29:57 -05:00
Jan Alexander Steffens (heftig)
4039bdbaac srt: Remove unused queued_buffers field
https://bugzilla.gnome.org/show_bug.cgi?id=793503
2018-02-23 15:29:57 -05:00
Nicolas Dufresne
6d930e45c2 Fix SRT Library package config name 2018-02-21 11:30:12 -05:00
Sebastian Dröge
b23231d8c3 colormanagement: Link to libgstbase for basetransform 2018-02-18 12:01:07 +02:00
Sebastian Dröge
90c1124393 gl: GL_LIBS does not exist anymore but X11_LIBS does and is needed
In case of X11 we have to call XInitThreads().
2018-02-18 11:49:25 +02:00
Sean DuBois
a8ffc56f84 aom: Implement cpu-used in av1enc
https://bugzilla.gnome.org/show_bug.cgi?id=791674
2018-02-14 10:19:40 +02:00
Tim-Philipp Müller
e9bfb4edc2 qt: remove plugin, moved to -good
https://bugzilla.gnome.org/show_bug.cgi?id=754094
2018-02-12 18:48:32 +00:00
Tim-Philipp Müller
90a836bb89 gtk: remove, plugin has moved to -good 2018-02-12 15:16:37 +00:00
Matthew Waters
e5c4135e81 vulkanupload: actually loop over possible uploaders
Fix some funky control that wasn't working

CID #1417219
2018-02-08 16:55:43 +11:00
Matthew Waters
6f50d35246 webrtc: Fix ffeb09e4 conditional
Fixes ffeb09e4ab

if (sscanf(...)) {  // != 0
  error;
}

Is not correct where != 0 indicates some kind of success.

Check instead that the correct number of elements were slurped.
2018-02-08 15:51:35 +11:00
Matthew Waters
7e6b4dcb49 webrtc: change dead code to an assert
CID #1429140
2018-02-08 15:47:33 +11:00
Matthew Waters
ffeb09e4ab webrtc: bail on invalid rtpbin names
If we fail parsing rtpbin pad names, someone has screwed up so critical
and return.

CID #1429142
2018-02-08 15:29:56 +11:00
Matthew Waters
c5c69dcc55 qt: don't #include platform specific gstglcontext_*.h headers
They aren't public headers
2018-02-07 20:15:35 +11:00
Guillaume Desmottes
58ce84a3ea opencv: fix OPENCV_PATH_NAME when using meson
Meson was checking for $prefix/OpenCV but was then defining
OPENCV_PATH_NAME with 'OpenCv' rather than 'OpenCV'.

https://bugzilla.gnome.org/show_bug.cgi?id=793212
2018-02-06 13:06:33 +00:00
Sean DuBois
fc4fe1c10e aom: Drop pointless cast from av1enc
https://bugzilla.gnome.org/show_bug.cgi?id=791674
2018-02-05 15:34:49 +02:00
Sean DuBois
86abe6b1e6 aom: Fix all definite leaks in av1enc
Track if the encoder has been inited, and cleanup if needed. Also unref
input_state if has been set

https://bugzilla.gnome.org/show_bug.cgi?id=791674
2018-02-05 15:34:49 +02:00
Sean DuBois
327586bd26 aom: Consistent naming between av1dec and av1enc
https://bugzilla.gnome.org/show_bug.cgi?id=791674
2018-02-05 15:34:49 +02:00
Sean DuBois
3a8d50a355 aom: Implement flush for av1dec
https://bugzilla.gnome.org/show_bug.cgi?id=791674
2018-02-05 10:09:48 +02:00
Matthew Waters
eaef193d08 dtls: drop upstream segment and stream-start events
Fixes tests with GstHarness

We will push our own from the srcpad task.
2018-02-05 17:44:33 +11:00
Matthew Waters
dc452aa799 dtls: don't leak the system clock
Obtain and release it as needed.
2018-02-05 17:44:33 +11:00
Matthew Waters
18a62b144d dtlsenc: fix typo in is-client property description 2018-02-05 17:44:33 +11:00
Matthew Waters
1894293d63 webrtcbin: an element that handles the transport aspects of webrtc connections
SDP's are generated and consumed according to the W3C PeerConnection API
available from https://www.w3.org/TR/webrtc/

The SDP is either created initially from the connected
sink pads/attached transceivers as in the case of generating an offer or
intersected with the connected sink pads/attached transceivers as in
the case for creating an answer.  In both cases, the rtp payloaded streams
sent by the peer are exposed as separate src pads.

The implementation supports trickle ICE, RTCP muxing, reduced size RTCP.

With contributions from:
Nirbheek Chauhan <nirbheek@centricular.com>
Mathieu Duponchelle <mathieu@centricular.com>
Edward Hervey <edward@centricular.com>

https://bugzilla.gnome.org/show_bug.cgi?id=792523
2018-02-02 15:02:21 +11:00
Matthew Waters
94a7bf9ede dtls: remove reliance on a default GMainContext/Loop
By removing the indirection to the main loop completely when receiving
the peer certificate. For reference, the on-decoder-key signal does not
have a redirection.
2018-02-01 23:25:18 +11:00
Tim-Philipp Müller
b19e3d8cf3 configure: fix OpenGL API detection
And don't build gl mosaic element unconditionally.
2018-01-31 13:11:04 +00:00
Vincent Penquerc'h
782fb43887 glvideomixer: fix vertex_buffer leak
We call the base class first as this will remove the pad from
the aggregator, thus stopping misc callbacks from being called,
one of which (process_textures) will recreate the vertex_buffer
if it is destroyed

https://bugzilla.gnome.org/show_bug.cgi?id=760873
2018-01-29 09:58:00 +00:00
Jan Alexander Steffens (heftig)
e9aa117200 srtp: Support libsrtp2
For libsrtp 1, add defines that translate the new namespaced identifiers
to the old unnamespaced ones. Also move the code for setting and getting
a stream's ROC into two compat functions that match libsrtp2's API.

It seems that libsrtp2 properly supports changing the ROC without having
to touch the sequence numbers afterwards, given that srtp_set_stream_roc
sets a pending_roc field, so the entire roc_changed dance should not be
needed anymore. The compat functions for libsrtp 1 just contain our
preexisting hacks, however, so it's still needed there.

libsrtp2 has no means of discovering the streams in the session, so to
create the stats structure we need to iterate over our own set of SSRCs.
For this we also need to re-add the previously removed ssrcs_set to the
encoder.

https://bugzilla.gnome.org/show_bug.cgi?id=776901
2018-01-29 09:58:11 +02:00
Tim-Philipp Müller
49d30c901d rtmpsink: don't crash if there's streamheader field in the caps
Fix regression when used in combination with new flvmux which was
ported to GstAggregator, and which sends plain video/x-flv caps
before sending full caps that include streamheaders.
2018-01-28 14:28:33 +00:00
Sean DuBois
2b03bc021c aom: Add direct casts for GstAV1Enc and GstAV1Dec
https://bugzilla.gnome.org/show_bug.cgi?id=791674
2018-01-26 11:12:06 +02:00
Sean DuBois
8b27637b4a aom: Deadline was removed from AV1
https://bugzilla.gnome.org/show_bug.cgi?id=791674
2018-01-26 11:12:06 +02:00
Sean DuBois
c89f6107cd aom: Fix leak in av1dec
AOM Decoder wasn't being destroyed in stop

https://bugzilla.gnome.org/show_bug.cgi?id=791674
2018-01-26 11:12:06 +02:00
Sean DuBois
0900cbd0a2 aom: Put av1enc config debugging under gst_av1_enc_debug namespace
https://bugzilla.gnome.org/show_bug.cgi?id=791674
2018-01-26 11:12:06 +02:00
Tim-Philipp Müller
cfe030ad1b meosn: curl: also check for and use libssh2 if available 2018-01-22 18:55:06 +00:00
Jun Xie
e9240762ed hlsdemux: fix memory leak while updating master playlist
new_master needs to be freed if current playlist is not a master playlist

https://bugzilla.gnome.org/show_bug.cgi?id=792146
2018-01-16 08:49:04 +01:00
Tim-Philipp Müller
944f347d00 lv2: fix inverted boolean properties
https://bugzilla.gnome.org/show_bug.cgi?id=791330
2018-01-15 20:01:06 +00:00
Edward Hervey
c755ad5032 kateenc: Refactoring for readability and leak fixing
Instead of a massive if/else/if/else/if/else/...:
* Use a common cleanup path for allocated items just before leaving
  the function (which will be free-d only if we're not dealing with
  a delayed SPU).
* "goto" that cleanup path wherever needed

CID #1427096
CID #1427114
2018-01-11 11:38:25 +01:00
Olivier Crête
b7bd446fa8 srt: Include srt.h inside object header
Otherwise, newer GCC complains about now having sockaddr defined in
the header.
2018-01-09 18:10:04 -05:00
Edward Hervey
80b17c179a openh264dec: Remove useless check
We are sure to have a frame at this point

CID #1427138
2018-01-03 16:07:24 +01:00
Edward Hervey
c4b0bdb556 hlssink2: Remove useless if statement
message will always be present

CID #1409853
2018-01-03 15:15:25 +01:00
Edward Hervey
203d5867ea kateenc: Fix memory leak in error cases
CID #1427096
CID #1427114
2018-01-03 12:15:01 +01:00
Justin Kim
1da40cdc0f srt: Remove platform dependent socket headers
SRT modules entrust `gnetworking.h` with finding right headers
for the platforms.

https://bugzilla.gnome.org/show_bug.cgi?id=792123
2018-01-03 10:41:45 +00:00
Tim-Philipp Müller
e6fe51a3ac opencv: allow all future 3.4.x versions
Fix-up for previous patch which I modified incorrectly.

https://bugzilla.gnome.org/show_bug.cgi?id=792114
2018-01-02 11:43:39 +00:00
Nicola Murino
a30247a4ff opencv: allow compilation against 3.4.x
https://bugzilla.gnome.org/show_bug.cgi?id=792114
2018-01-02 11:30:17 +00:00
Justin Kim
17121ebc57 srtp: get ssrc for Application-Defined RTCP Packet
Application-defined RTCP(204) packets also have a ssrc in their header.
To find a valid stream from the packet, the ssrc should be used.

https://bugzilla.gnome.org/show_bug.cgi?id=791955
2017-12-27 09:16:08 -06:00
Tim-Philipp Müller
88c89d2f63 gl: local libs should come first in Makefile.am
And keep consistent order in CFLAGS and LIBS.
2017-12-23 12:53:39 +01:00
Mark Nauwelaerts
f7f694837e gl: arrange for finding headers and libs that have moved to -base
In file included from ../../../gst-plugins-bad/ext/gl/gstopengl.c:47:0:
../../../gst-plugins-bad/ext/gl/gstglmixerbin.h:25:29: fatal error: gst/video/video.h: No such file or directory
2017-12-23 12:29:03 +01:00
Tim-Philipp Müller
17b95aad48 gl: enable openglmixers plugin in autotools again too 2017-12-19 19:23:43 +00:00
Tim-Philipp Müller
27e1e515a4 meson: gl: fix build of openglmixers plugin 2017-12-19 17:34:50 +00:00
Tim-Philipp Müller
cd2d5c140d gtk: don't include uninstalled header 2017-12-19 13:03:28 +00:00
Tim-Philipp Müller
06e4403fdb gl: update plugins to use GstGL from -base 2017-12-19 12:02:31 +00:00
Tim-Philipp Müller
ee589cd337 gl: most of opengl plugin has moved to -base, keep mixer bits in -bad for now
Since they rely on GstVideoAggregator.

Fix detection of things again, and Meson
2017-12-19 12:02:31 +00:00
Tim-Philipp Müller
769a21d0bb gl: remove GStreamer OpenGL integration library and move to -base
https://bugzilla.gnome.org/show_bug.cgi?id=754094
2017-12-19 12:02:31 +00:00
Nicolas Dufresne
43631c63ea ladspa: Add Windows/OSX path support
This is to mimic LV2 and what is commonly documented over the
web. We also completely track these directories when updating
the cache now. Unlike LV2, the plugins are flat in the plugin
directories, so no need for the recursive lookup. This also fixes
support for Fedora and other architecture using lib64 as a libdir.
2017-12-18 16:54:15 -05:00
Nicolas Dufresne
60079ef3d2 meson: Enable ladspa plugins compilation 2017-12-18 16:09:53 -05:00
Nicolas Dufresne
fbd9a62504 lv2: Try and reflect better lilv default path
While keeping it simple, this patch tries and mimic lilv default path.
It does not matter if some path are duplicated due to symlink because in
the end it's lilv that will walk these paths. The worst case is that we
update our cache more often then strictly needed.

https://bugzilla.gnome.org/show_bug.cgi?id=791717
2017-12-18 14:51:12 -05:00
Nicolas Dufresne
8c850b3465 lv2: Recursively monitor the lv2 plugin path
Otherwise we might not update the cache when needed.

https://bugzilla.gnome.org/show_bug.cgi?id=791717
2017-12-18 14:51:12 -05:00
Nicolas Dufresne
387e229773 meson: Enable building LV2
Note that I only support lilv 0.22+ for now, because it's simple and old
enough. If anyone needs to use the 0.16 support it will need to be
added.
2017-12-18 11:34:13 -05:00
Jun Xie
cbcc01173b dashdemux: parse xs:dateTime's timezone indicator
The lexical form of xs:dateTime is YYYY-MM-DDThh:mm:ss[Z|(+|-)hh:mm]
timezone indicator (+|-)hh:mm] needs to be parsed.

https://bugzilla.gnome.org/show_bug.cgi?id=791602
2017-12-18 14:07:36 +01:00
Edward Hervey
67d6608a58 av1enc: Add debugging of configuration settings
In preparation of making such properties configurable
via gobject properties.
2017-12-15 17:38:12 +01:00
Edward Hervey
fbc68c35d3 av1enc: Remove g_print for errors
And use standard debugging system for it
2017-12-15 17:37:08 +01:00
Sean DuBois
1c583fd27b Add aom plugin with av1enc and av1dec element
https://bugzilla.gnome.org/show_bug.cgi?id=784160
2017-12-15 15:44:17 +01:00
Reynaldo H. Verdejo Pinochet
f2dac588dc opencv: handdetect: fix typo in example launch line 2017-12-14 13:32:47 -08:00
Seungha Yang
80f03b4d15 srt: Post error message for NULL host
... instead of crash without any information

https://bugzilla.gnome.org/show_bug.cgi?id=791329
2017-12-07 14:06:19 -05:00
Nicolas Dufresne
c04aba241e waylandsink: Fix memory leak of shm allocator
This fixes conflict resolution error introduced in commit:

  816d115317

http://bugzilla.gnome.org/show_bug.cgi?id=790042
2017-12-06 20:50:31 -05:00
Shinya Saito
816d115317 waylandsink: Fix memory leak of shm allocator.
gst_allocator_find() needs gst_object_unref() after usage.

https://bugzilla.gnome.org/show_bug.cgi?id=790042
2017-12-06 15:46:40 -05:00
Jun Xie
77321f62dd dashdemux: fix coredump issue with external AdaptationSet
fix wrong AdaptationSet list iterator

https://bugzilla.gnome.org/show_bug.cgi?id=790812
2017-12-06 15:21:50 -05:00
Hosang Lee
6a5bae5343 m3u8: Parse and use AVERAGE-BANDWIDTH attribute if available
The AVERAGE-BANDWIDTH attribute in the EXT-X-STREAM-INF tag represents
the average segment bit rate of the Variant Stream, while the BANDWIDTH
attribute represents the peak segment bit rate of the Variant Stream.
(https://tools.ietf.org/html/draft-pantos-http-live-streaming-23#section-4.3.4.2)
Using the average bit rate instead of the peak bit rate for variant switching
is more efficient and appropriate. Sometimes due to VBR encoding,
the BANDWIDTH may represent a value way above the average bit rate,
which could result to players not switching to that variant stream
 although network bandwidth is sufficiently available.

https://bugzilla.gnome.org/show_bug.cgi?id=790821
2017-12-06 15:02:40 -05:00
Seungha Yang
2b39d1876e srt: Fix warning error
gstsrt.c: In function ‘gst_srt_client_connect_full’:
gstsrt.c:151:6: error: ‘sock’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
   if (sock != SRT_INVALID_SOCK) {

https://bugzilla.gnome.org/show_bug.cgi?id=791302
2017-12-06 12:07:54 -05:00
Víctor Manuel Jáquez Leal
3937ed906c gldownload: fix wrong enum
When compiling with clang, an enum conversion error is triggered
since GstVideoFrameFlags are not GstVideoFlags.

This patch sets GST_VIDEO_FRAME_FLAG_NONE to the added video meta.

https://bugzilla.gnome.org/show_bug.cgi?id=791251
2017-12-05 18:12:12 +01:00
Nicolas Dufresne
4515e11c39 gldownload: Add missing ifdef for dmabuf and egl
This fixes the build for platforms that don't support one or the other.
2017-12-02 19:28:30 -05:00
Matt Fischer
9f65c316e4 gldownload: Add dmabuf exporting
This patch adds code to gldownload to export the image as a
dmabuf if requested.  The element now exposes memory:DMABuf as
a cap feature, and if it is selected, the element exports the
texture to an EGL image and then a dmabuf. It also implements a
fallback to system memory download in case the exportation failed.

https://bugzilla.gnome.org/show_bug.cgi?id=776927
2017-12-02 14:49:39 -05:00
Tim-Philipp Müller
d01297e115 Remove GstAggregator from -bad, moved to core
https://bugzilla.gnome.org/show_bug.cgi?id=739010
2017-12-02 16:14:36 +00:00
Jun Xie
beb32ab37d dashdemux: remove duplicated code
remove duplicated code

https://bugzilla.gnome.org/show_bug.cgi?id=790895
2017-11-30 01:10:35 -08:00
Jun Xie
f31e91b7a1 dashdemux: fix memory leak
GPtrArray in GstActiveStream is leaked in some cases.
gst_mpdparser_free_active_stream shall be invoked to free GstActiveStream

https://bugzilla.gnome.org/show_bug.cgi?id=790899
2017-11-30 01:06:51 -08:00
Matthew Waters
a3ce46a454 gl/caopengllayer: use public GstGLContext instead of Cocoa-specific one
Allows keeping the GstGLCAOpenGLLayer public but not the winsys-specific
context/display/window.
2017-11-27 15:20:28 +11:00
Nicolas Dufresne
9c866da336 waylandsink: Add prototype for gst_wayand_pool_get_type() 2017-11-25 20:06:57 -05:00
Nicolas Dufresne
2db81d6597 waylandsink: Rollback video info changes when copying
We change the video info base on the received buffer. We need to
rollback these changes whenever we want to copy into our internal
pool of buffers.

https://bugzilla.gnome.org/show_bug.cgi?id=790057
2017-11-25 14:59:03 -05:00
Nicolas Dufresne
1a7363e023 waylandsink: Validate strides and offset when using FD as SHM
As SHM interface only support 1 stride, and 1 offset, we need to
make sure that there is no padding between planes for planar formats.

https://bugzilla.gnome.org/show_bug.cgi?id=790057
2017-11-25 14:59:03 -05:00
Nicolas Dufresne
cc033355ab waylandsink: Update video info size to buffer size
We where setting the size to the first memory size, this may be
too small in case we received a buffer with multiple memory.

https://bugzilla.gnome.org/show_bug.cgi?id=790057
2017-11-25 14:59:03 -05:00
Nicolas Dufresne
02df3a47b3 waylandsink: Allocate only what's needed when copying
There was this regression that we'd be using the updated video
info size instead of default size when initializing the pool.

https://bugzilla.gnome.org/show_bug.cgi?id=790057
2017-11-25 14:59:03 -05:00
Nicolas Dufresne
9bbd5ef722 waylandsink: Only try SHM for single memory buffer
https://bugzilla.gnome.org/show_bug.cgi?id=790057
2017-11-25 14:59:03 -05:00
Nicolas Dufresne
51bb235cc6 wlwindow: Only update video info on new render
The sink->video_info might not reflect the current buffer
when expose is being called.

https://bugzilla.gnome.org/show_bug.cgi?id=790057
2017-11-25 14:59:03 -05:00
Nicolas Dufresne
b06a8bffde waylandsink: Disable video-alignment from the pool
The SHM interface does not allow passing arbitrary strides and offsets,
for this reason, we simply disable this feature from the proposed pool.

This fixes video artifact seen when using the FFMPEG based video
decoder.

https://bugzilla.gnome.org/show_bug.cgi?id=790057
2017-11-25 14:59:03 -05:00
Havard Graff
0a9d924131 opusparse: fix uninitialized-warning 2017-11-25 12:13:05 +00:00
Edward Hervey
c92694e12a hls: Don't leak mutex 2017-11-25 13:10:11 +01:00
Edward Hervey
2877aac9a5 dashdemux: Handle bitrate > 2**31
On very-high connection, we could quite well exceed that. Instead use
gint64 for max-bitrate.
2017-11-25 09:41:00 +01:00
Edward Hervey
b27bdc1786 gtk: Fix possibility of NULL variable
It's quite unlikely since it's initialized in instance initialization.

CID #1417721
2017-11-24 08:00:21 +01:00
Edward Hervey
e7724354d9 dc1394src: Remove logically dead code
buffer would always be NULL in the error case. Simplify and just
return GST_FLOW_ERROR

CID #1417216
2017-11-24 07:57:49 +01:00
Jan Schmidt
b906601c7b Revert "gl: Use GstGLDisplayEGL directly instead of creating a GstGLDisplayVIVFb subclass"
This reverts commit 47fd4d391e.

This patch is incorrect. It doesn't actually compile, and causes a crash
because the viv-fb window implementation needs a native EGL handle
to pass to fbCreateWindow, but the GstGLDisplayEGL handleis actually
an EGLDisplay now (and gets cast to the wrong type)
2017-11-24 01:48:27 +11:00
Edward Hervey
8d99867c13 curlhttpsrc: Don't leak structure
CID #1415716
2017-11-22 16:58:11 +01:00
Mathieu Duponchelle
56fc5bef18 aggregator: Remove klass->sinkpads_type
This posed problems for the python bindings (and possibly others).

Instead, subclasses now use add_pad_template_with_gtype.

https://bugzilla.gnome.org/show_bug.cgi?id=789986
2017-11-22 16:52:29 +01:00
Tim-Philipp Müller
16294a147e curl: fix meson build
Include libsdir so our i18n header there is found.
2017-11-21 20:56:38 +01:00
Edward Hervey
d6784c238b de265: Don't leak CodecState
Unref it in error case

CID #1417220
2017-11-21 16:43:03 +01:00
Edward Hervey
87dbd558cc vulkan: Fix out-of-bound read
G_N_ELEMENTS is the *number* of entries, not the maximum entry number

CID #1417215
2017-11-21 16:39:14 +01:00
Edward Hervey
d4afba794a curlhttpsrc: Post an error message if no URI was set
Like for other sources
2017-11-21 16:30:35 +01:00
Edward Hervey
69d794b004 curl: Add i18n 2017-11-21 16:30:17 +01:00
Edward Hervey
6e1e87d403 smoothstreaming: Handle invalid XML
Nothing guarantees the manifest is valid and will return a root node
2017-11-21 15:33:57 +01:00
Edward Hervey
26108d829b curlhttpsrc: Fix return value
The function returns a gchar * (and not a boolean)
2017-11-21 15:33:08 +01:00
Edward Hervey
b8cb08c319 curlhttpsrc: Don't switch to PAUSED if not URI was specified
Like for other sources
2017-11-21 15:31:05 +01:00
Jun Xie
0ef2a41d84 hlsdemux: Fix memory leak caused by double buffer map
https://bugzilla.gnome.org/show_bug.cgi?id=789999
2017-11-17 11:53:05 +02:00
Justin Kim
ec32124cf0 srt: add passphrase and key length properties
For stream encryption, both `passphrase` and `key-length`
properties are required.

https://bugzilla.gnome.org/show_bug.cgi?id=790315
2017-11-15 10:51:38 -05:00
Justin Kim
f78be9d698 srt: Introduce SRT source and sink
SRT[0] is an open source transport technology[1] that optimizes
streaming performance across unpredictable networks.

Although SRT is based on UDP, it works like connection-oriented
protocol. However, it doesn't mean that the SRT server or client
is necessarily to link to a receiver or a sender so, here, the
pairs of source and sink elements are introduced.

 - srtserversink: SRT server to feed SRT stream
 - srtclientsrc:  SRT client to get SRT stream from srtserversink

 - srtclientsink: SRT client to send SRT stream
 - srtserversrc:  SRT server to listen from srtclientsink

[0] https://github.com/Haivision/srt
[1] http://www.srtalliance.org/

https://bugzilla.gnome.org/show_bug.cgi?id=785730
2017-11-07 14:34:48 -05:00
Matthew Waters
bbbe9ef2ce gltestsrc: guard stop in gl thread
So we don't result in a critical when we've never created the GL context:

gst_gl_context_thread_add: assertion 'GST_IS_GL_CONTEXT (context)' failed
2017-11-07 12:39:58 +11:00