Commit graph

6140 commits

Author SHA1 Message Date
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
Matthew Waters
c85b825bb2 gltestsrc: free in the GL thread on stop
Calling GL functions not on the GL thread may crash in some GL
implementations.

https://bugzilla.gnome.org/show_bug.cgi?id=789665
2017-11-06 23:21:52 +11:00
Tim-Philipp Müller
4576e0737d gl: use new gst_element_foreach_sink_pad()
Instead of gst_aggregator_iterate_sinkpads() which will
soon be removed.

https://bugzilla.gnome.org/show_bug.cgi?id=785679
2017-11-02 12:47:28 +00:00
Mathieu Duponchelle
2bf57a92cc fdkaacenc: check fdk-aac version in meson.build
configure.ac used to set -DHAVE_FDK_AAC_0_1_4 , which enables
7.1 support.

https://bugzilla.gnome.org/show_bug.cgi?id=789471
2017-10-25 14:36:55 +02:00
Jan Alexander Steffens (heftig)
e5977b8794 openjpeg: Remove compatibility with openjpeg 2.0
Everyone seems to be shipping 2.1 as the oldest v2 version, even debian
oldstable (jessie).

Also remove an unneeded (debug?) #include <stdio.h>.

https://bugzilla.gnome.org/show_bug.cgi?id=788703
2017-10-20 12:27:30 +02:00
Jan Alexander Steffens (heftig)
bff2d834a4 openjpeg: Support building with openjpeg 2.3, simpler
OpenJPEG 2.3 installs its headers to /usr/include/openjpeg-2.3. However,
since libopenjp2.pc seems to provide the right includedir CFLAGS at
least since version 2.1, instead of adding yet another version check,
just remove the subdir and the check for 2.2.

https://bugzilla.gnome.org/show_bug.cgi?id=788703
2017-10-20 12:27:30 +02:00
Jan Alexander Steffens (heftig)
d1cbeb4fe7 Revert "openjpeg: Support building with openjpeg 2.3"
This reverts commit ef4d6b93e6.

A better fix follows.

https://bugzilla.gnome.org/show_bug.cgi?id=788703
2017-10-20 12:27:30 +02:00
Andreas Frisch
07d6b7f56d lcms: Add LCMS ICC color correction element
https://bugzilla.gnome.org/show_bug.cgi?id=765927
2017-10-19 16:46:24 +02:00
Jan Alexander Steffens (heftig)
519ead2462 m3u8: Refine sequence update debug messages
Actually give some details about why it failed.

https://bugzilla.gnome.org/show_bug.cgi?id=788417
2017-10-19 15:47:04 +02:00
Jan Alexander Steffens (heftig)
7690a4a521 m3u8: Don't try to match URIs when we have media sequences
It is legal for a stream to reuse segments (marking discontinuities as
needed). Uplynk delivers such playlists for their placeholder loops.

Leave the URI scanning in place for playlists which have no
EXT-X-MEDIA-SEQUENCE tag. This should be harmless since the spec
requires these playlists to not be missing segments (RFC8216 6.2.2),
so we should be always matching on the first segment.

https://bugzilla.gnome.org/show_bug.cgi?id=788417
2017-10-19 15:47:04 +02:00
Jan Alexander Steffens (heftig)
025633b162 m3u8: Ignore empty playlists in check_media_seqnums
Let these error in the immediately following check in gst_m3u8_update.

https://bugzilla.gnome.org/show_bug.cgi?id=788417
2017-10-19 15:47:03 +02:00
Jan Alexander Steffens (heftig)
f80ad048e6 m3u8: Split gst_m3u8_update_check_consistent_media_seqnums
The function was basically one big if-else. Move the branch to the
one caller.

Currently, it's never called with previous_files == NULL. Assert that
this continues.

https://bugzilla.gnome.org/show_bug.cgi?id=788417
2017-10-19 15:47:03 +02:00
Jan Alexander Steffens (heftig)
234a8ecc50 m3u8: Simplify control flow for sequence update
Split the tail from the rest of the loop.

https://bugzilla.gnome.org/show_bug.cgi?id=788417
2017-10-19 15:47:02 +02:00
Michał Górny
a8889bdcbc opencv: Support smoothing only part of the image
https://bugzilla.gnome.org/show_bug.cgi?id=788567
2017-10-16 11:07:07 +02:00
Michał Górny
798d899a25 opencv: Add 'kernel' prefix to width/height
Rename width to kernel-width, and height to kernel-height to avoid
ambiguity in the name.

https://bugzilla.gnome.org/show_bug.cgi?id=788567
2017-10-16 11:07:07 +02:00
Thibault Saunier
ef4d6b93e6 openjpeg: Support building with openjpeg 2.3
And avoid failling the build each time openjpeg releases a new version.
2017-10-16 11:05:12 +02:00
Tim-Philipp Müller
43af41234a qt: update qmake .pro file
Update for renaming of plugin file, and add some
missing source files.
2017-10-13 12:25:22 +01:00
Cassandra Rommel
47fd4d391e gl: Use GstGLDisplayEGL directly instead of creating a GstGLDisplayVIVFb subclass
This simplifies the code a lot without any functional changes apart from
not closing the display connection. Closing the display connection is
not safe to do as it is shared between all other code in the same
process and no reference counting or anything happens at the platform
layer.
2017-10-03 10:14:51 +02:00
Ponnam Srinivas
4b051ea36d glmixer: Unmap video frame in error case
https://bugzilla.gnome.org/show_bug.cgi?id=788127
2017-09-26 11:12:04 +03:00
Ponnam Srinivas
d99cef0b40 webpenc: Unmap video frame in failed case
https://bugzilla.gnome.org/show_bug.cgi?id=787985
2017-09-23 08:38:39 +01:00
Haihua Hu
379f6bd5d9 glvidemixer: need reconfigure output gemotry after caps renegotiated 2017-09-21 11:59:32 +10:00
Matthew Waters
d4c9861a6c Revert "glvideomixer: need update output geometry after src caps reconfigure"
This reverts commit d6e538dc56.
2017-09-21 11:59:22 +10:00
Haihua Hu
d6e538dc56 glvideomixer: need update output geometry after src caps reconfigure
Need update output geometry when sink caps changed and use
gst_structure_set to update caps if structure is fixed

https://bugzilla.gnome.org/show_bug.cgi?id=787820
2017-09-21 11:56:13 +10:00
Chris Bass
3d2f004db2 ttmlparse: Ensure default showBackground behaviour is enacted
Ensure that region backgrounds are always show when tts:showBackground
is not explicitly set, in accordance with the default behavour given in
the TTML spec.

https://bugzilla.gnome.org/show_bug.cgi?id=787942
2017-09-20 17:11:29 +03:00
Haihua Hu
5f4ee3909e glimagesink: expose should do redisplay all the time
when using internal window, window resize should work
when pause state, but expose only do redisplay when
window_id is valid. So expose should do redisplay all
the time.

https://bugzilla.gnome.org/show_bug.cgi?id=787394
2017-09-19 12:53:30 +10:00
Tim-Philipp Müller
6eff4f8d81 mssdemux: fix caps leak in error code path
https://bugzilla.gnome.org/show_bug.cgi?id=787736
2017-09-15 20:34:28 +01:00
Jochen Henneberg
1874d01eda qmlglsink: Expose itemInitialized as property
Instead of just signalling when ready exposing the state
as a property allows us to bind at any time if player is
loaded async.
2017-09-14 15:12:12 +10:00
Tim-Philipp Müller
fcf8b6bb90 qt: fix build with qmake
Move the package defines for GST_PLUGIN_DEFINE from the
command line into the source file to avoid quoting issues
(-DPACKAGE_NAME="foo" means the quotes won't actually make
it to the compiler and then it no longer gets a string constant).
2017-09-07 09:39:13 +01:00
Thibault Saunier
039fc65468 dfbvideosink: Pass the VideoInfo to gst_video_info_from_caps
Fixing the build
2017-09-06 16:04:49 -03:00
Nicolas Dufresne
9b2e28d91d Request minimum buffer even if need_pool is FALSE
When tee is used, it will not request a pool, but still it wants to
know how many buffers are required.

https://bugzilla.gnome.org/show_bug.cgi?id=730758
2017-09-06 14:19:37 -04:00
George Kiagiadakis
e796a7cb97 hlsdemux: fix compilation with OpenSSL 1.1.0
OpenSSL 1.1.0 no longer allows stack-allocated structures;
it hides the implementation behind typedefs

https://bugzilla.gnome.org/show_bug.cgi?id=787309
2017-09-05 15:54:48 +03:00
Matthew Waters
03e96f3ceb gtkglsink: expose the created display and context correctly
1. Propagate the GstGLDisplay we create
2. Add the created GstGLContext to the propagated GstGLDisplay

Otherwise with multi-branch GL pipelines involving gtkglsink, things
will fall apart and errors will be genarated somewhere.
2017-09-05 21:16:33 +10:00
Sebastian Dröge
b41dd59061 sbcenc: Fix typo in docs 2017-09-05 10:56:24 +03:00
Edward Hervey
8ef273dc29 plugin: Rename libde265 to de265 for consistency
And avoids it being blacklisted
2017-09-05 09:51:41 +02:00
Nicola Murino
6ef65f550b opencv: allow compilation against 3.3.0
https://bugzilla.gnome.org/show_bug.cgi?id=787234
2017-09-04 10:10:48 +03:00
Edward Hervey
7c8a469f9a qt: Only include qtgui-config.h on qt >= 5.9.0
The file does not exist in previous versions
2017-09-01 15:57:25 +02:00
Matthew Waters
14087c6c8d qt: the defines for QT_OPENGL_ES_2 have moved
Update the includes to account for that
2017-08-31 14:40:44 +10:00
Jochen Henneberg
d9b55f6575 qt: ensure GL_DRAW_FRAMEBUFFER 2017-08-31 12:41:52 +10:00
Tim-Philipp Müller
54d7e2811f meson: fix build for isoff lib addition 2017-08-26 12:03:06 +01:00
Seungha Yang
0f1de50222 smoothstreaming: Use isoff to parse tfxd/tfrf
https://bugzilla.gnome.org/show_bug.cgi?id=777825
2017-08-25 17:21:41 -07:00
Seungha Yang
7d06ecb3a4 isoff: Move isoff to gst-libs
Also rename unit test dash_isoff to isoff

https://bugzilla.gnome.org/show_bug.cgi?id=777825
2017-08-25 17:21:04 -07:00
Matthew Waters
029e01743f srtp: zero out session member on dealloc
Fixes a user-after-free retrieving stats from _get_property()
2017-08-24 18:02:01 +10:00
Matthew Waters
d8bc42fb30 glutils: fix matrix operations everywhere
- correct the matrix multiplication
- Use column-major matrices
  - reverse order of matrix multiplications

https://bugzilla.gnome.org/show_bug.cgi?id=785980
2017-08-23 15:32:10 +10:00
Matthew Waters
05a2aa33ea gltransformation: draw with GL_TRIANGLES
Drawing 5 vertices with GL_TRIANGLE_STRIP will draw an extra unneeded
triangle.
2017-08-23 15:31:36 +10:00
Julien Isorce
2d9720690c qt: fix broken build due to commit 2fd84a6c for gstgl
https://bugzilla.gnome.org/show_bug.cgi?id=784779
2017-08-22 13:44:20 +01:00
Julien Isorce
9403af81ef gl: fix broken build due to previous commit 2fd84a6c
Can reproduce after installing libgraphene-dev

Also fixes caopengllayersink.h to anticipate build error on osx.

https://bugzilla.gnome.org/show_bug.cgi?id=784779
2017-08-22 12:42:22 +01:00
Julien Isorce
2fd84a6c86 gl: do not include GL headers in public gstgl headers
Except for gst/gl/gstglfuncs.h

It is up to the client app to include these headers.
It is coherent with the fact that gstreamer-gl.pc does not
require any egl.pc/gles.pc. I.e. it is the responsability
of the app to search these headers within its build setup.

For example gstreamer-vaapi includes explicitly EGL/egl.h
and search for it in its configure.ac.

For example with this patch, if an app includes the headers
  gst/gl/egl/gstglcontext_egl.h
  gst/gl/egl/gstgldisplay_egl.h
  gst/gl/egl/gstglmemoryegl.h
it will *no longer* automatically include EGL/egl.h and GLES2/gl2.h.
Which is good because the app might want to use the gstgl api only
without the need to bother about gl headers.

Also added a test: cd tests/check && make libs/gstglheaders.check

https://bugzilla.gnome.org/show_bug.cgi?id=784779
2017-08-22 10:00:19 +01:00
Jan Schmidt
f02993921c gldownload: Micro-optimisation. Don't check output caps on every buffer
The output caps will only change on a set_caps() call, so check if
they contain the SystemMemory feature then and save some
per-buffer CPU.
2017-08-22 01:57:42 +10:00
Thibault Saunier
df4c6385aa meson: Fix build with openjpeg>=2.2
2.2 implies HAVE_2_1
2017-08-14 16:37:27 -03:00
Carlos Rafael Giani
a13e8b3efa qmlglsink: Add itemInitialized signal to QML item
This is useful for autoplay for example. With autoplay, it is necessary to
wait until the scene graph is fully set up. This signal is emitted once the
QML item node is ready. So, inside a connected slot, the pipeline's state
can be set to PLAYING to automatically start playback as soon as the QML
script is loaded.

https://bugzilla.gnome.org/show_bug.cgi?id=786246
2017-08-14 14:51:43 +03:00
Clemens Lang
15f24fef53 openjpeg: Fix build against openjpeg 2.2
OpenJPEG 2.2 has some API changes and thus ships its headers in a new
include path. Add a configure check (to both meson and autoconf) to
detect the newer version of OpenJPEG and add conditional includes.

Fix the autoconf test for OpenJPEG 2.1, which checked for HAVE_OPENJPEG,
which was always set even for 2.0.

https://bugzilla.gnome.org/show_bug.cgi?id=786250
2017-08-14 10:25:07 +03:00
Sebastian Dröge
d1eb5f727c openh264dec: Drop current frame if passing it to the decoder caused an error
Otherwise we will get it again later for output, however this frame will
never actually be output so we will shift timestamps.

This is especially bad if we're handling a live stream where the first
frames are not keyframes. We would output the keyframe with the
timestamp of the first frame, and everything would be too late when
arriving in the sink.
2017-08-10 23:25:13 +03:00
Sebastian Dröge
a04c48fec1 openh264dec: Don't unref NULL frame on EOS decoding error 2017-08-10 23:21:46 +03:00
Alex Ashley
048d703577 curlhttpsrc: set http-version default if curl does not have HTTP2 feature present
If the version of the curl library is recent enough to allow support
for HTTP2 (i.e. CURL_VERSION_HTTP2 is defined) but does not actually
have that feature enabled, the call to
g_object_class_install_property() uses an incorrect default value for
the "http-version" property. The default should be 1.1 if HTTP2 is
not supported by libcurl or if not enabled by libcurl.

https://bugzilla.gnome.org/show_bug.cgi?id=786049
2017-08-09 17:59:31 +03:00
George Kiagiadakis
f0500ec8b4 rtmpsrc: fix flushing seek
Previously this was broken, because a flushing seek causes unlock()
to be called and in the implementation of unlock() we close the
socket, so the seek errors out.

This patch fixes it by re-connecting before the seek.
Unfortunately, a seek does not work properly right after
re-connecting, so a small hack is also in place: we read 1 buffer
before seeking to allow librtmp to do its processing in RTMP_Read()

https://bugzilla.gnome.org/show_bug.cgi?id=785941
2017-08-08 16:00:44 +03:00
George Kiagiadakis
74154c258f rtmpsrc: remove unused macro 2017-08-08 16:00:44 +03:00
Sam Hurst
6baa66a889 curlhttpsrc: Does version set fail because of HTTP2
Check to see if setting CURL_HTTP_VERSION_2_0 failed due to lack of HTTP/2
support or some bigger underlying libcurl failure

https://bugzilla.gnome.org/show_bug.cgi?id=785878
2017-08-08 09:06:49 +01:00
Philippe Normand
5bf092bd64 curlhttpsrc: set http-version class property as enum
This matches better with the preferred_http_version which was already declared
as enum.

https://bugzilla.gnome.org/show_bug.cgi?id=785878
2017-08-08 09:06:49 +01:00
Thibault Saunier
a6fc222656 de265: Fix plugin name to match new plugin naming convention 2017-08-03 12:51:13 -04:00
Reynaldo H. Verdejo Pinochet
aa1b530f66 curl: curlqueue: add symbol name to avoid confusing gtkdoc 2017-07-26 17:22:31 -07:00
Reynaldo H. Verdejo Pinochet
d82ae7a45f curlhttpsrc: do not check for NULL before g_free()
g_free() is NULL-safe.
2017-07-26 16:51:50 -07:00
Sam Hurst
85eb69d717 curlhttpsrc: Fix flagged Coverity errors
Fixes CIDs 1415707 - 1415717
2017-07-26 23:16:10 +03:00
Sam Hurst
b922edce7b curl: Reorganise header files to fix macOS builds
https://bugzilla.gnome.org/show_bug.cgi?id=744261
2017-07-26 18:57:38 +01:00
Edward Hervey
07afe5da0c curlhttpsrc: Fix compilation without debugging system enabled 2017-07-26 09:19:42 +02:00
Sam Hurst
e74b3a02dd curl: Add curlhttpsrc element
Merged from https://github.com/bbc/gst-curlhttpsrc commit
  f8aabcfc5c50a44f3362de831377d6e86dcd2d49

https://bugzilla.gnome.org/show_bug.cgi?id=744261
2017-07-26 09:52:20 +03:00
Alessandro Decina
f33b2fcf4c meson: make smoothstreaming depend on gio 2017-07-20 18:44:25 +10:00
Seungha Yang
a218a2a1af dashdemux: Add support webvtt subtitle stream
Enable exposing webvtt subtitle streams.

https://bugzilla.gnome.org/show_bug.cgi?id=784715
2017-07-18 09:40:18 +02:00
Nicola Murino
e8f11615bd openh264enc: set GST_PARAM_MUTABLE_PLAYING for bitrate/max-bitrate properties
This way is documented that these properties can be changed in any state

https://bugzilla.gnome.org/show_bug.cgi?id=784988
2017-07-17 19:13:19 -04:00
Nicola Murino
11e8cf92f2 openh264enc: allow to dynamically change bitrate
https://bugzilla.gnome.org/show_bug.cgi?id=784988
2017-07-17 19:13:18 -04:00
Nicola Murino
20b5db0615 openh264enc: fix indentation
https://bugzilla.gnome.org/show_bug.cgi?id=784988
2017-07-17 19:13:18 -04:00
Satya Prakash Gupta
c431fcda78 gsm: unmap output buffer when done
https://bugzilla.gnome.org/show_bug.cgi?id=784887
2017-07-17 09:22:15 +01:00
Thiago Santos
ead63a2686 dashdemux: update manifest streams correctly if pads aren't exposed
In some cases, it is possible that we need to update the manifest before
pads have been exposed at all. If there are no current pads, just expose
the next prepared streams. This doesn't handle the case where a manifest
update would happen while a live streams is changing periods, which is a
type of use case that we're unaware of real usages yet.

https://bugzilla.gnome.org/show_bug.cgi?id=783028
2017-07-13 07:42:58 +02:00