Commit graph

20226 commits

Author SHA1 Message Date
Miguel Paris
f265e5cbd5 rtpbuffer: add_extension_onebyte_header: fix the proper wordlen
The wordlen ("length") MUST represent the total "number of 32-bit words
in the extension, excluding the four-octet extension header" (rfc3550).
There are cases where already existent padding is reused for adding
the new extension. So the new wordlen should be updated if the new
added extension makes it to increase.
2020-03-19 14:18:20 +01:00
Miguel Paris
2d4d28d662 rtpbuffer: get_onebyte_header_end_offset: allow 0 offset
There are some cases where the full extension data could be padding.
In order to make the GstRtpBuffer robust enough, this change supports
this case.
2020-03-19 14:18:20 +01:00
Philippe Normand
3f79805aa0 gl/wayland: Mouse events handling 2020-03-19 09:59:47 +00:00
Philippe Normand
5a4c5e9169 gl/navigation: Scroll events dispatch support 2020-03-19 09:59:47 +00:00
Philippe Normand
7240cad9c5 navigation: Mouse scroll events support
This patch introduces a new API to send and parse mouse scroll events. Mouse
event coordinates are sent relative to the display space of the related output
area. This is usually the size in pixels of the window associated with the
element implementing the GstNavigation interface.
2020-03-19 09:59:47 +00:00
Guillaume Desmottes
545d0b144f audio: annotate @buf in finish_frame methods 2020-03-18 15:38:25 +01:00
Haihao Xiang
e4e3fc5666 video: add support for P012 format
P012 is a semi-planar 4:2:0 format, 2bytes per component with the value
stored in the 12 most significant bits
2020-03-16 21:01:27 +00:00
Niels De Graef
1c08a6088d volume: Use G_DECLARE_FINAL_TYPE 2020-03-16 15:47:58 +00:00
Niels De Graef
e5cc81a128 videotestsrc: Use G_DECLARE_FINAL_TYPE 2020-03-16 15:47:58 +00:00
Niels De Graef
1dd63e44b9 videoscale: Use G_DECLARE_FINAL_TYPE 2020-03-16 15:47:58 +00:00
Niels De Graef
761bb9b9ff videorate: Use G_DECLARE_FINAL_TYPE 2020-03-16 15:47:58 +00:00
Niels De Graef
f57be9dcc3 videoconvert: Use G_DECLARE_FINAL_TYPE 2020-03-16 15:47:58 +00:00
Niels De Graef
7a36730fb4 subparse: Use G_DECLARE_FINAL_TYPE 2020-03-16 15:47:58 +00:00
Niels De Graef
2daf748b61 rawparse: Use G_DECLARE_FINAL_TYPE 2020-03-16 15:47:58 +00:00
Niels De Graef
2917f9fb2d overlaycomposition: Use G_DECLARE_FINAL_TYPE 2020-03-16 15:47:58 +00:00
Niels De Graef
29b8a64b7e gio: Use G_DECLARE_FINAL_TYPE 2020-03-16 15:47:58 +00:00
Niels De Graef
d297c4447d encoding: Use G_DECLARE_FINAL_TYPE
Note that we didn't do it for encodebin, as it has a class struct. We
_could_ techincally use `G_DECLARE_DERIVABLE_TYPE()` for that one, but
that would mean also using a private struct, which is even more work for
no gain.
2020-03-16 15:47:58 +00:00
Niels De Graef
b7d123f1bd adder: Use G_DECLARE_FINAL_TYPE 2020-03-16 15:47:58 +00:00
Niels De Graef
2b67ce5b5a audioconvert: Use G_DECLARE_FINAL_TYPE 2020-03-16 15:47:58 +00:00
Niels De Graef
1b683d5a76 audiomixer: Use G_DECLARE_FINAL_TYPE 2020-03-16 15:47:58 +00:00
Niels De Graef
a42f4be0eb audiorate: Use G_DECLARE_FINAL_TYPE 2020-03-16 15:47:58 +00:00
Niels De Graef
a1ef6a1179 audioresample: Use G_DECLARE_FINAL_TYPE 2020-03-16 15:47:58 +00:00
Niels De Graef
f91659ba92 audiotestsrc: Use G_DECLARE_FINAL_TYPE 2020-03-16 15:47:58 +00:00
Niels De Graef
1b6a6cabf2 compositor: Use G_DECLARE_FINAL_TYPE 2020-03-16 15:47:58 +00:00
Niels De Graef
ec84cf92f9 *aggregator: Add g_autoptr support for *ConvertPad 2020-03-16 15:47:58 +00:00
Tobias Ronge
f1b3ed37c6 gstrtpbasepayloader: Add property for scaling RTP timestamp
This patch introduces a property which, if set to FALSE, prevents RTP
basepayloader from scaling the RTP time when a segment's rate is not
equal to 1.0. The specification is ambiguous on this subject and some
clients expect the timestamps not to be scaled.
2020-03-16 10:25:44 +00:00
Matthew Waters
a777fe2628 videometa: constify tc argument to add_video_time_meta()
We don't modify the argument.
2020-03-16 15:34:02 +11:00
Peter Seiderer
7b00e5de99 meson: add window system egl 2020-03-12 10:00:59 +00:00
Guillaume Desmottes
e8f5777c92 rtsp: remove documentation link on GTimeVal
Looks like it's been removed from glib.devhelp2 on Fedora 31.

Fix #508
2020-03-12 13:44:10 +05:30
Matthew Waters
f58914b93b gl/wayland: use wayland's roundtrip_queue()
There's no need to roll our own anymore
2020-03-11 09:17:36 +00:00
Mathieu Duponchelle
0739fafd62 subparse: accept WebVTT timestamps without an hour component
https://www.w3.org/TR/webvtt1/#webvtt-timestamp

mm:ss,000 is a valid WebVTT timestamp
2020-03-11 05:44:23 +00:00
Sebastian Dröge
d5ee11fb36 compositor: Create a square checkerboard for UYVY/YUY2/YVYU too
Previously the "squares" were twice as wide.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/732
2020-03-09 21:51:32 +00:00
Sebastian Dröge
0227d0ca60 compositor: Define a separate checker fill function for BGRx/RGBx than for xBGR/xRGB
Otherwise we'll create a cyan or yellow checkerboard.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/736
2020-03-09 21:51:32 +00:00
Vivia Nikolaidou
d1c9972e94 tcpclientsrc: Fix compilation on FreeBSD
The members of the tcp_info struct are prefixed with a double
underscore, as reported in
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/584#note_423487
2020-03-08 10:45:57 +00:00
Philipp Zabel
40773e9c91 glupload: dmabuf: only accept uploads to external-oes if supported by the context
This keeps the DirectDmabufExternal uploader from accepting buffers if
texture-target=external-oes is not supported by the GL context.
2020-03-06 12:02:58 +01:00
Edward Hervey
0200175d97 gloverlay: Fix various issues in allocation handling
* A copy-paste error was getting the information from the wrong
  query
* The 'allocation_meta' GstStructure was being leaked
* No check was done on whether the query existed (to try to set the
  resulting allocation meta on)

CID: 1439872
CID: 1439873
CID: 1439874
CID: 1439875
CID: 1439876
CID: 1439877
2020-03-05 06:01:50 +00:00
Peter Seiderer
51253830f3 meson: static linkig of tools needs gmodule_dep
Add gmodule_dep (analog to gstreamer/tools/meson.build).

Fixes:

.../bin/ld: .../usr/lib/libgstreamer-1.0.a(gstplugin.c.o): in function `gst_plugin_register_func':
gstplugin.c:(.text+0x3bc): undefined reference to `g_module_make_resident'
.../bin/ld: .../usr/lib/libgstreamer-1.0.a(gstplugin.c.o): in function `_priv_gst_plugin_load_file_for_registry':
gstplugin.c:(.text+0x1228): undefined reference to `g_module_supported'
.../bin/ld: gstplugin.c:(.text+0x126c): undefined reference to `g_module_open'
.../bin/ld: gstplugin.c:(.text+0x1368): undefined reference to `g_module_symbol'
.../bin/ld: gstplugin.c:(.text+0x1494): undefined reference to `g_module_supported'
.../bin/ld: gstplugin.c:(.text+0x17f4): undefined reference to `g_module_close'
.../bin/ld: gstplugin.c:(.text+0x1a2c): undefined reference to `g_module_error'
2020-03-04 14:48:15 +00:00
Matthew Waters
5ae7998a8f gl/wayland: use a proxy wrapper for the wl_display
This allows us to remove races when setting the wl_queue on wayland
objects with wl_proxy_set_queue() as each created object is created with
the queue already set.

We can also move all our initilization code into the window as we
can retrieve all wayland objects from each window instance.  This
removes a possible race when integrating with external API's as we would
always attempt to immediately retrieve a small set of wayland objects.
That is no longer the case with the objects from each window instance.
2020-03-04 00:04:18 +00:00
Matthew Waters
3df7edaa49 glfilter: use gst_object_unref/ref functions
Allows better visibility into ref/unref points with the leaks tracer
2020-03-04 00:04:18 +00:00
Matthew Waters
aa703285f9 gl/wayland: fix xdg shell close notification
Don't segfault by not calling the appropriate callback that destroys
resources in the correct order.
2020-03-04 00:04:18 +00:00
Matthew Waters
6dbda0681b glstereomix: support gl display changes 2020-03-03 02:11:52 +00:00
Matthew Waters
7e2073000a glbasefilter: add support for changing the display
Each element will remove its usage of the old display and context and
try to retrieve a new GL context.
2020-03-03 02:11:52 +00:00
Matthew Waters
4e12363cb7 glstereosplit: support gl display changes 2020-03-03 02:11:52 +00:00
Matthew Waters
de58d23b5c glbasesrc: add support for changing display's 2020-03-03 02:11:52 +00:00
Matthew Waters
4c008895ce gldisplay: add support removing a context from the internal list 2020-03-03 02:11:52 +00:00
Matthew Waters
55e80b550e gl/mixer: support GstGLDisplay changes 2020-03-03 02:11:52 +00:00
Philipp Zabel
0e038a5612 glupload: dmabuf: add DirectDmabufExternal uploader
Automatic negotiation of texture-target=external-oes does not work
without separating the external-oes support out of the DirectDmabuf
uploader into a separate DirectDmabufExternal uploader.
2020-03-02 11:07:26 +00:00
Philipp Zabel
dedd20f430 glupload: fix transform_caps NULL pointer dereference
gst_gl_upload_transform_caps() is missing a NULL pointer check in case
the current upload method's transform_caps returns a NULL pointer. In
the following loop over all upload methods, NULL pointer return values
are already handled correctly.
2020-03-02 11:07:26 +00:00
Philipp Zabel
7849f22cb3 glupload: dmabuf: support direct upload into external-oes textures
Some drivers support directly importing DMA buffers in some formats into
external-oes textures only, for example because the hardware contains
native YUV samplers.
Note that in these cases colorimetry can only be passed as hints and
there is no feedback whether the driver supports the required YUV
encoding matrix and quantization range.
2020-03-02 11:07:26 +00:00
Philipp Zabel
359e361881 gl/egl: support direct dmabuf import with external-oes only formats
Allow creating EGL images from DMA buffers in formats that the driver
only supports for the external-oes texture target.

Pass the intended texture target to gst_egl_image_from_dmabuf_direct so
that _gst_egl_image_check_dmabuf_direct can decide whether to create an
EGL image for a format that can only be targeted at external-oes
textures by the driver. Allow creating GstGLMemoryEGL objects from these
DMA buffers.
2020-03-02 11:07:26 +00:00