Commit graph

19913 commits

Author SHA1 Message Date
Justin Kim 4f01958232 examples: gl: generic: recordgraphic: Use gst/gl/gstglfuncs.h
https://gitlab.freedesktop.org/gstreamer/gst-build/issues/11
2018-12-14 12:04:17 +09:00
Justin Kim c961dc9f8f gl/meson: Add OpenGL dependency by OSX way
Otherwise, it fails to link with the message below:

```
ld: can't map file, errno=22 file '...'
```
https://gitlab.freedesktop.org/gstreamer/gst-build/issues/13
2018-12-14 12:02:36 +09:00
Olivier Crête 01a25d81c1 rtcpbuffer: Validate the length of RTCP packets 2018-12-13 14:01:06 -05:00
Justin Kim 5303e2c32b rtcpbuffer: add support XR packet parsing
According to RFC3611, the extended report blocks in XR packet can
have variable length. To visit each block, the iterator should look
into block header. Once XR type is extracted, users can parse the
detailed information by given functions.

Loss/Duplicate RLE
The Loss RLE and the Duplicate RLE have same format so
they can share parsers. For unit test, randomly generated
pseudo packet is used.

Packet Receipt Times
The packet receipt times report block has a list of receipt
times which are in [begin_seq, end_seq).

Receiver Reference Time paser for XR packet
The receiver reference time has ntptime which is 64 bit type.

DLRR
The DLRR report block consists of sub-blocks which has ssrc, last RR,
and delay since last RR. The number of sub-blocks should be calculated
from block length.

Statistics Summary
The Statistics Summary report block provides fixed length
information.

VoIP Metrics
VoIP Metrics consists of several metrics even though they are in
a report block. Data retrieving functions are added per metrics.

https://bugzilla.gnome.org/show_bug.cgi?id=789822
2018-12-13 14:01:06 -05:00
Philipp Zabel 18c9babef9 glupload: dmabuf: use out_info to create allocation params for non-direct dmabuf uploads as well
Non-direct dmabuf uploads, just as direct dmabuf uploads, create EGL
images and thus GL textures of the same width as the imported image.
The input dmabuf line stride is not relevant to the resulting texture
in both cases.

This fixes the case where non-direct uploads of input dmabufs with line
stride larger than the width will for example cause glcolorconvert to
sample only the left part (width * bytes per pixel / stride) of the
image, causing a horizontally stretched and cropped output image.
2018-12-13 15:52:13 +01:00
Matthew Waters cfae8bd6c1 glmemory: normalize the internal format we pass into glTex* functions
Passing unsized formats sometimes breaks on embedded platforms

Take 2 at 694e30f858,
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/merge_requests/49
2018-12-13 00:10:10 +11:00
Matthew Waters 56ff61eac4 Revert "glformat: return sized formats in from_video_info"
This broke videotestsrc ! video/x-raw,format=NV12 ! glimagesink on
the desktop

Reverts: https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/merge_requests/49
This reverts commit 694e30f858.
2018-12-13 00:09:59 +11:00
Sebastian Dröge f441b5216e video-overlay-composition: Optimize premultiplication/unpremultiplication loops
Pull in video frame fields into local variables. Without this the
compiler must assume that they could've changed on every use and read
them from memory again.

This reduces the inner loop from 6 memory reads per pixels to 4, and the
number of writes stays at 3.
2018-12-07 19:23:49 +02:00
Per Forlin 76aa92be51 rtspconnection: Replace Auth header instead of append
gst_rtsp_connection_send() adds the Authorization header to the request.
If this function is being called multiple times with the same request
it will add one more Authorization header every time.

To fix to this issue do not append a new Authorization header on
top of an existing ones. Remove any existing Authorization headers first
and then add the new one.

Fixes gst-plugins-good#425
2018-12-07 11:36:11 +00:00
Jan Alexander Steffens (heftig) 0bec36d5fa oggmux: Fix a maybe-uninitialized warning
Arch Linux, GCC 8.2.1+20181127, CFLAGS='-Og -g3'
2018-12-05 21:08:33 +00:00
Jan Alexander Steffens (heftig) 29d6f1c698 typefind: Fix a maybe-uninitialized warning
Arch Linux, GCC 8.2.1+20181127, CFLAGS='-Og -g3'
2018-12-05 21:08:33 +00:00
Thibault Saunier aa66658b50 Automatic update of common submodule
From cd1dee0 to 59cb678
2018-12-05 17:24:06 -03:00
Nicolas Dufresne 42a031edbe gldeinterlace: Indentation fix 2018-12-05 12:13:07 -05:00
Nicolas Dufresne f7d5dff921 gl: window-gbm: Restore CRTC on close
This simply try and restore the state of the CRTC when the window
is closed. This is a bit cosmetic, but it allow resuming fbcon
when we exit.
2018-12-05 13:41:11 +00:00
Nicolas Dufresne 46b503d674 gl: window-gbm: Remove unused private class member
The display class member is not used, not set and rather
confusing.
2018-12-05 13:41:11 +00:00
Nicolas Dufresne 6f7fbbfa71 gl: window-gbm: Remove unneeded extra function
The cleanup function was only called in _close() which was only
calling that function. This indirection didn't make much sense.
2018-12-05 13:41:11 +00:00
Wangfei 0ac7d1187b video: add Y410 pixel format.
This pixel format is packed format with 4:4:4 sample. And 10
available bits of Y/U/V and 2 available bits of alpha stored
in 4 Bytes.

Format defined in:
https://docs.microsoft.com/en-us/windows/desktop/medfound/10-bit-and-16-bit-yuv-video-formats
2018-12-01 21:05:36 -05:00
Carlos Rafael Giani 08ea7d676e gl/gbm: Add GST_GL_GBM_DRM_CONNECTOR environment variable
If multiple DRM connectors are connected, currently the first one is
picked. Improve this by adding an environment variable that allows for
choosing a connector by name. The connector name has been made so they
are compatible with modetest/modeprint DRM utilities.

Related to #490
2018-12-01 13:44:26 -05:00
Carlos Rafael Giani 3663ad787d gl/gbm: Improve logging output
* List all connectors, modes, and encoders, even after picking one
* Add missing DRM_MODE_CONNECTOR_DPI string for logging and improve
  existing strings
* Make sure the names matches modetest/modeprint from DRM utilities

Related to #490
2018-12-01 13:36:17 -05:00
Sebastian Dröge 48460f5ace video: convertframe: Shut down pipeline asynchronously via the thread pool
If we use the main loop it might happen that the caller (e.g. our unit
test) already shut down the loop once the result was received and in
that case the pipeline would never ever be shut down (and our unit test
would hang).
2018-11-30 12:40:19 +02:00
Sebastian Dröge 70d8c174ac video: Split the success and error convert_frame_async() test into two tests
To make it more obvious which of the two is actually failing.
2018-11-30 12:39:43 +02:00
Marouen Ghodhbane 0f3efc4b84 audio-convert: Fix endianness conversion function init
Endianness conversion should be based on the sample width instead of the
sample depth.

Fixes #510
2018-11-30 09:14:33 +00:00
Matthew Waters 694e30f858 glformat: return sized formats in from_video_info
Fixes green output on e.g. Android when converting between YUV->RGBA
2018-11-30 18:05:58 +11:00
Freyr666 7e92aa5bca opengl: gldeinterlace: remove interlace-mode from srcpad's caps
This fixes output caps format, so the output frames are not interlaced anymore
2018-11-30 02:09:50 +00:00
Philippe Normand d5f2b5dcfa gltestsrc: Run context query only during decide_allocation
Running the context query in _start and during the NULL->READY state transition
can fail because downstream elements might not be able to answer and thus the
source element would not be able to reuse downstream GLContext and GLDisplay.

This issue happened specifically when trying to use gltestsrc in playbin.
2018-11-30 01:55:34 +00:00
Tim-Philipp Müller 179409e9b3 video: fix typo in GstVideoCaptionType docs 2018-11-29 20:51:18 +00:00
Matthew Waters 9bd8da6ed4 gl/meson: Allow for the use of libGL as well as OpenGL
OpenGL.framework and libGL are two different providers of a GL
implementation that can be linked into an application together.
2018-11-29 04:53:50 +00:00
Sebastian Dröge db1722c9cb video-anc: G_GNUC_CHECK_VERSION was added in GLib 2.42
Define our own version if compiling with older versions. We currently
only require GLib 2.40.
2018-11-28 13:06:35 +00:00
Maciej Wolny f1556c1660 gst-gl: Remove duplicate declarations
This causes 'redefinition of typedef ...' errors on GCC 4.5.3
2018-11-28 11:59:25 +00:00
Jordan Petridis 2229d53f60
Run gst-indent through the files
This is required before we enabled an indent test in the CI.

https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/33
2018-11-28 05:51:53 +02:00
Freyr666 5d7ceeae61 opengl: gbm: Adds missing unrefs for gl context and drm node release in finalizer
This adds a few missing gst_object_unref calls for the opengl context in
gstglwindow_gbm_egl.c, as well as the missing close call for the
drm node fd in gst_gl_display_gbm_finalize.
2018-11-23 15:41:01 +00:00
Sebastian Dröge de69fc148d convertframe: Error out directly in the sync variant if the state change to PAUSED failed 2018-11-23 11:52:16 +00:00
Sebastian Dröge 963a318c86 convertframe: Only go to PAUSED state for the async variant
We only care for the pre-roll sample.
2018-11-23 11:52:16 +00:00
Sebastian Dröge d9cf2973da convertframe: Error out directly if changing the pipeline state to PLAYING failed 2018-11-23 11:52:16 +00:00
Sebastian Dröge 98109bd5de convertframe: Use refcounting for the context
While this creates a circular reference between the pipeline and the
context, this ensures that the context stays alive for as long as any
callbacks could be called on it. The circular reference is broken once
the conversion is finished (or error, or timeout), which will then cause
everything to be freed.

Previously it was possible that a callback could be called on the
context right after it was freed already.

Also use only a single context structure, the second structure does not
simplify anything and duplicates storage.
2018-11-23 11:52:16 +00:00
Víctor Manuel Jáquez Leal 9be278d4f5 gl: libs: glib might not define G_HAVE_ISO_VARARGS
This will fix the compiler warning
"G_HAVE_ISO_VARARGS" is not defined, evaluates to 0 [-Wundef]
2018-11-23 11:20:36 +00:00
Xavier Claessens d3f9daf07c Check for zlib header 2018-11-22 20:03:33 -05:00
Xavier Claessens a907ed226c Disable gl examples when we don't have OpenGL 2018-11-21 22:17:35 -05:00
Xavier Claessens 7298139ba1 Fix zlib detection when there is no pkg-config file 2018-11-21 14:56:56 +00:00
Tomasz Andrzejak e0268c02ab audiodecoder: add API for setting caps on the source pad
This patch adds API in the audio decoder base class for setting the arbitrary
caps on the source pad.  Previously only caps converted from audio info were
possible.  This is particularly useful when subclass wants to set caps features
for audio decoder producing metadata.
2018-11-21 10:11:40 +00:00
Xavier Claessens 720e9ec2cc gl: Fix subclassing of GstGLContextEGL 2018-11-15 13:49:39 -05:00
Philippe Normand 94e3a1af2a video-format: Move Y210 format declaration to avoid ABI break
The Y210 format was added in the middle of the formats enum and list,
introducing an ABI break.

This issue was detected thanks to the gstreamer-rs test harness.
2018-11-15 11:28:11 +02:00
Linus Svensson 72ecbe2aef rtpbasepayload: Update current seqnum for buffer lists
The current sequence number will be the one from the first RTP buffer
when a buffer list is pushed, but should be the last one.

Fixes #495
2018-11-14 12:30:06 +00:00
Nirbheek Chauhan 998749d2a6 meson: Cleanup old FIXMEs that relied on meson bugfixes 2018-11-13 10:04:21 +05:30
Sebastian Dröge 71427eb0f4 video-anc: Add test for VBI encoder 2018-11-12 14:09:28 +00:00
Sebastian Dröge 6e9c71e6c1 video-anc: Implement a VBI encoder
This allows writing out data from caption meta and similar to VBI
2018-11-12 14:09:28 +00:00
Sebastian Dröge 369c79abd3 video-anc: Add comment about our assumption of the ADF user data format
We assume here the same data format for the user data as for the
DID/SDID: 10 bits with parity in the upper 2 bits. In theory some
standards could define this differently and even have full 10 bits of
user data but there does not seem to be a single such standard after
all these years.
2018-11-12 13:14:57 +00:00
Sebastian Dröge 932e9f5eee video-anc: Add support for parsing composite ADF and check the packets' checksum
And add the checksum to the data we test in the unit test.
2018-11-12 13:14:57 +00:00
Sebastian Dröge ca702a9190 video-anc: Fix documentation about SDID_block_number field
It was giving type 2 for both variants.
2018-11-12 13:14:57 +00:00
Sebastian Dröge eac38b47d4 video-anc: Add invalid-argument guards to public GstVideoVBIParser API 2018-11-12 13:14:57 +00:00