Commit graph

184 commits

Author SHA1 Message Date
Matthew Waters a7c2aa473f vulkan/image: don't rely on weak-ref notifies for views
Weak refs don't quite work here correctly as there is always a race with
taking the lock between find_view() and remove_view().  If find_view()
returns a view that is going to removed by remove_view() then we have an
interesting situation.

In theory, the number and type of views for an image are relatively
constant and should not change one they've been set up which means that
it is actually practical to perform pool-like reference counting here
where the image holds a pool of different views that it can give out
as necessary.
2019-11-28 23:27:21 +00:00
Aaron Boxer 6d3429af34 documentation: fixed a heap o' typos 2019-11-05 09:11:25 -05:00
Edward Hervey 6a9108884c mpegts: Add support for SCTE-35 sections
Not all commands are supported, but the most common ones are.
Both parsing and packetizing is supported
2019-10-31 12:31:27 +00:00
Tim-Philipp Müller f218ec2794 Remove autotools build system 2019-10-14 13:54:27 +01:00
Matthew Waters 452bb72292 vkbuffer: remove buffer view from the memory
It's only really useful for texture buffers which we currently do not
use.
2019-09-25 11:11:02 +00:00
Matthew Waters 82e86573b8 vulkan: implement command buffer reuse
Using a similar design for reference counting as
GstBuffer/GstBufferPool.
2019-09-19 02:01:35 +00:00
Matthew Waters 5f76c84feb vulkan: split physical device from logical device 2019-09-17 13:02:44 +10:00
Wangfei 5f63f59837 tests: h265parser: Add test parsing range extension in PPS 2019-08-31 23:22:44 +00:00
Matthew Waters 8bad9d5d8a tests/vulkan: fix copyright name 2019-07-05 16:20:29 +10:00
Matthew Waters 58f203844d vulkan/window: add property for the parent display 2019-07-05 16:20:05 +10:00
Matthew Waters fda9b57dbe vulkan/device: add property for the parent instance 2019-07-05 16:13:13 +10:00
Jan Schmidt 15f149a990 tests: Add h264parser SEI checks
Add some tests around SEI parsing.
2019-07-05 00:17:59 +10:00
Seungha Yang 4e6e6ad0f9 tests: insertbin: Don't use duplicated variable name
../subprojects/gst-plugins-bad/tests/check/libs/insertbin.c(46): warning C4273:
  'mutex': ...

The "mutex" was declared in gstcheck.h already
2019-06-18 06:32:14 +00:00
Matthew Waters e2eea3b3ee tests/vulkan: allow instance creation failures
Usually means that there is no vulkan implementation available.

We skip tests in that case
2019-06-04 09:03:44 +00:00
Matthew Waters 32bde87551 test/vulkan: add simple memory test 2019-06-04 09:03:44 +00:00
Jordan Petridis 1f562870ee 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 14:18:26 +00:00
Seungha Yang 4e5894fa3d tests: h265parser: Add test parsing nonzero vps_max_layer_id in VPS 2018-11-07 16:13:44 +09:00
Nicolas Dufresne 95c99aa0a7 h265parser: Add same parsing test as for H264
This adds the same test as found in H264 test.
2018-11-06 07:26:03 +00:00
Nicolas Dufresne 1df4562077 h264parser: Add unit test parsing 5 valid bytes of a NAL
In the case 5 valid bytes of a slice NAL, the parser should return
NO_NAL_END.
2018-11-06 07:26:03 +00:00
Edward Hervey 2f7d87a7d1 tests: Disable most gstplayer tests for now
https://bugzilla.gnome.org/show_bug.cgi?id=787374
2018-10-27 13:37:38 +02:00
Víctor Manuel Jáquez Leal b2d5c1ed3c check: update gitignore 2018-08-14 13:53:00 +02:00
George Kiagiadakis 9cf58eb3e4 libs: audio: add new GstPlanarAudioAdapter class
This is a GstAdapter, but for planar audio buffers.

https://bugzilla.gnome.org/show_bug.cgi?id=793605
2018-08-03 13:20:02 +03:00
Edward Hervey 58070fa12c gitignore: Add h265parser test 2018-06-01 08:20:21 +02:00
Tim-Philipp Müller fd3bb44031 tests: player: disable broken test_play_media_info test
Until someone can be bothered to debug + fix it.

https://bugzilla.gnome.org/show_bug.cgi?id=787372
https://bugzilla.gnome.org/show_bug.cgi?id=787374
2018-03-05 19:37:52 +00:00
Guillaume Desmottes 6dd997541c h265parser: allow partial matching on range extension profile
Best to return a valid profiles rather than no profile if bitstream uses
a not standard profile.

https://bugzilla.gnome.org/show_bug.cgi?id=793876
2018-03-05 13:22:12 -05:00
Guillaume Desmottes 9f25fcdfc9 h265parse: add support for 'Format range extensions profiles'
Those profiles have been introduced in version 2 of the HEVC spec
(A.3.5).

https://bugzilla.gnome.org/show_bug.cgi?id=793876
2018-03-05 13:22:12 -05:00
Guillaume Desmottes d252f503fc h265parser: decouple GstH265Profile and GstH265ProfileIDC
We used to have the same enum to represent H265 profiles and idc values.
Those are no longer the same with extension profiles defined from
version 2 of the spec.
Split those enums so the semantic of each is clearer and we'll be able
to add extension profiles to GstH265Profile.

Also add gst_h265_profile_tier_level_get_profile() to retrieve the
GstH265Profile from the GstH265ProfileTierLevel. It will be used to
implement the detection of extension profiles.

https://bugzilla.gnome.org/show_bug.cgi?id=793876
2018-03-05 13:19:42 -05:00
Edward Hervey 5d8d1d359c check: Update gitignore 2018-01-11 11:49:06 +01: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
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
Matthew Waters 1cef7a261f gl/tests: add some simple shader testing
Making sure that the default shaders compile and are usable
2017-11-07 15:21:43 +11:00
Matthew Waters f8d751f7b5 gl/query: split tests and fix some corresponding issues in usage 2017-10-28 18:34:57 +11:00
Stefan Sauer 97c81b0a36 tests: comment and logging cleanups for audiomixer and aggregator
Remove some references to 'collectpads'. Logs pads through the object variants.
Add some more comments. Remove a left over comment.
2017-10-23 11:54:53 +02:00
Stefan Sauer 17dfaf83dc aggregator: add two more tests for a sequence of data
This verifies that we handle events and queries at the head of the queue and
then buffers.
2017-10-14 18:20:30 +02:00
Stefan Sauer 9c1b85115c aggregator: refactor the test helper
Make the test helpers use a queue. This lets us also test sequences of events,
queries and data.
2017-10-14 18:20:30 +02:00
Stefan Sauer 8e43094a17 aggregator: test cleanup
Remove gst_init() from a few tests. Use _OBJECT variants in logging. Remove
arbitrary extra blank lines. Make push_event() more like push_buffer() - set
the event to NULL and add cleanup to _chain_data_clear().
2017-10-14 18:20:30 +02:00
Edward Hervey 58a2df001c check: Fix usage of dual probes
Using two (or more) probes on the same pad where one of the probe
returns HANDLED or DROP is tricky since the other probes might
not be called.

Instead use regular probes and a proper pad (the sinkpad already existed,
it only required to be activated and have a dummy chain function for
the events/buffers to be received/handled properly)
2017-09-05 14:28:54 +02:00
Seungha Yang 98576325e3 isoff: Add parsing mss specific tfrf and tfxd boxes
This code is imported from mssdemux's tfxd/tfrf parsing function

https://bugzilla.gnome.org/show_bug.cgi?id=777825
2017-08-25 17:21:32 -07:00
Seungha Yang 3db9152ec6 isoff: Add parsing moov and tfdt
To extract isobmff level timestamp, moov and tfdt parsing is required.

https://bugzilla.gnome.org/show_bug.cgi?id=777825
2017-08-25 17:21:11 -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
Philippe Normand 8b7aa50bc9 tests/player: check for media-info-updated before duration-changed
The media-info-updated signal is now emitted before duration-changed since
commit 8a29da8023.

https://bugzilla.gnome.org/show_bug.cgi?id=786201
2017-08-25 19:09:00 +01:00
Matthew Waters 63dd27a785 gl/checks: fix build 2017-08-24 01:18:40 +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
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
Matthew Waters efc015f27d gl: GL_ARRAY_BUFFER is not a part of VAO state
As a result we need to bind it on every draw in order to have the
correct state in the GL state machine.
2017-03-14 14:15:00 +11:00
Matthew Waters 956c4d0bde gl/format: use our own GL format enum's instead of gstvideo's
They can describe in more detail (such as component sizes) the requested format.
2017-03-13 21:10:58 +11:00
Edward Hervey d98e82d667 check: Use gst_check_run_suite
Ensures that xunit reports get generated when requested
2017-01-02 15:05:19 +01:00
Edward Hervey cf9a341e9d check: Use non-deprecated API 2016-12-21 12:06:00 +01:00
Matthew Waters 1ddbd773f8 gl/tests: don't use the default framebuffer
Create our own instead as the default framebuffer may require special
fiddling (like having a visible window) to correctly display/be renderable.

Fixes the remaining GL library tests on OS X
2016-11-16 18:06:45 +11:00
Matthew Waters 4b43862cdb glsl: fix #version 150 not working with profiles
The spec allows the core/compatibility profiles to be used
with #version 150.

Also tighten up the tests to check for default profiles being chosen
correctly.
2016-11-03 12:08:44 +11:00