Commit graph

22850 commits

Author SHA1 Message Date
Edward Hervey 8ef273dc29 plugin: Rename libde265 to de265 for consistency
And avoids it being blacklisted
2017-09-05 09:51:41 +02:00
George Kiagiadakis e450bba609 examples: Makefile.am: add ipcpipeline in SUBDIRS if enabled 2017-09-04 16:13:41 +03:00
George Kiagiadakis 83883a5c18 ipcpipeline: cleanup header includes
We are only using read(), write(), memcpy(), strlen() and errno
in ipcpipelinecomm.c. Everything else is glib/gstreamer.
2017-09-04 16:03:17 +03:00
George Kiagiadakis 15927b6511 ipcpipeline: use GstPoll instead of select() to watch for socket activity
... and make that code more readable in the process

https://bugzilla.gnome.org/show_bug.cgi?id=787208
2017-09-04 15:52:03 +03:00
George Kiagiadakis 91edec25dd examples: ipcpipeline: get rid of yet another use of SOCK_NONBLOCK
https://bugzilla.gnome.org/show_bug.cgi?id=786763
2017-09-04 10:40:40 +03: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
Edward Hervey 52d0ef2665 tsdemux: Make jp2k handling more robust and efficient
* Avoid copying the pending data and instead create a buffer directly from
  that data with the appropriate offset.
* Locate the jp2k magic to determine the exact location of the (first) frame
  data instead of assuming that the header is of an expected size

https://bugzilla.gnome.org/show_bug.cgi?id=786111
2017-09-01 10:49:36 +02:00
Edward Hervey c393f0d768 tsdemux: Handle quirk in jp2k es header handling
The jp2k specification (ITU-T T.800) specifies that the 'brat' box
has two fields and the second one (AUF2) can be set to 0 for progressive
streams.

The problem is that the mpeg-ts specification (ITU-T H.222.0 06/2012)
says that the AUF2 field is only present if the stream is interlaced

In order to cope with both situation, accept those next 32bit if the
stream is marked as progressive and those bits contain 0

https://bugzilla.gnome.org/show_bug.cgi?id=786111
2017-09-01 10:49:36 +02:00
George Kiagiadakis 4e239a6632 examples: ipcpipeline: do not use the linux-specific SOCK_NONBLOCK flag
Use fcntl() instead to set O_NONBLOCK, which is portable.

https://bugzilla.gnome.org/show_bug.cgi?id=786763
2017-08-31 15:09:24 +03:00
George Kiagiadakis 282b682cab tests: ipcpipeline: provide pipe2() on systems that don't have it
https://bugzilla.gnome.org/show_bug.cgi?id=786763
2017-08-31 15:09:24 +03: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
George Kiagiadakis cf1bb83d8d tests: ipcpipeline: make the state_changes test more deterministic
Watching the STATE_CHANGED messages is way more deterministic than
polling the state.

https://bugzilla.gnome.org/show_bug.cgi?id=786006
2017-08-30 18:55:32 +03:00
George Kiagiadakis acc2719720 tests: ipcpipeline: fix broken exclusivity checks
In most cases we want to stop the pipeline just once, but we have
to do this from code that runs in the streaming threads and in case
we have multiple streams, we need to make sure that we do this only
once. The previous checks were broken, this should fix it.

https://bugzilla.gnome.org/show_bug.cgi?id=786006
2017-08-30 18:55:32 +03:00
George Kiagiadakis f6cc14c85a tests: ipcpipeline: attempt to make tags test more deterministic
Instead of using a timeout and pushing the tags from an outside
thread, use a pad probe and push them from the streaming thread.

https://bugzilla.gnome.org/show_bug.cgi?id=786006
2017-08-30 18:55:32 +03:00
Philippe Normand 26760588e8 examples/gl/gtk: build fix for the 3dvideo example on macOS 2017-08-30 15:18:58 +01:00
Philippe Normand bdcac6f435 examples/gl/gtk: fix overlay handling for macOS
The GTK+ window requires a NSView sub-view, not an NSWindow.
2017-08-30 15:16:39 +01:00
Per-Erik Brodin f267451751 nvdec: fix build after GL/gl.h no longer included
GL headers are no longer included in public gstgl headers, except for
gstglfuncs.h so make sure to include that one.

https://bugzilla.gnome.org/show_bug.cgi?id=786993
2017-08-30 09:37:14 +03:00
Edward Hervey 62d6f5c78a tsdemux: Properly error out on jp2k parsing errors
Avoids crashes later on where we assume buffer exists
2017-08-29 10:37:11 +02:00
Matthew Waters 63c582d685 gl: fix build for ios/win32/android after 2fd84a6c
Some missing GL includes.
2017-08-28 12:57:47 +10:00
Tim-Philipp Müller 3c4dd9a7e5 isoff: make debug category private
Otherwise it shows up in .def file in autotools build.
2017-08-26 13:08:27 +01:00
Tim-Philipp Müller 54d7e2811f meson: fix build for isoff lib addition 2017-08-26 12:03:06 +01:00
Tim-Philipp Müller 0829891c2c isoff: export symbols 2017-08-26 12:02:51 +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 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
Tim-Philipp Müller 4686dc47e4 gl: install new glfuncs.h header 2017-08-25 20:38:08 +01:00
Tim-Philipp Müller 9da2de1968 tests: ipcpipeline: skip broken tests
These fail on the build bots. Blacklist until someone
investigates.

https://bugzilla.gnome.org/show_bug.cgi?id=786006
2017-08-25 19:33:41 +01: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 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 63dd27a785 gl/checks: fix build 2017-08-24 01:18:40 +10:00
Matthew Waters 0fa19c150f gl/meson: add build for the vivante fb backend 2017-08-23 16:38:03 +10:00
Matthew Waters 78e73cd359 meson: build allocators library 2017-08-23 16:38:02 +10:00
Matthew Waters 556bed08a1 gl/meson: detect valid configuration from enabled apis/platform/winsys 2017-08-23 16:38:02 +10:00
Matthew Waters a03f5f5de1 gl/build: also check for the GL/gl.h header
In order to successfully build against a detected libGL library we also need headers
2017-08-23 16:38:02 +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
Philippe Normand 157a255c43 applemedia: fix build after commit 2fd84a6c 2017-08-22 16:19:39 +01:00
Philippe Normand afa8bf425a gl/cocoa: fix build after commit 2fd84a6c 2017-08-22 16:19:32 +01: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
Tim-Philipp Müller 6714809529 Automatic update of common submodule
From 29046b8 to 3f4aa96
2017-08-17 12:23:37 +01:00
Jan Alexander Steffens (heftig) f338621446 sys: Convert source files to UTF-8
Otherwise we have problems with the new gtk-doc
ported to python. But it's a good thing to do
anyway.

https://bugzilla.gnome.org/show_bug.cgi?id=786364
2017-08-16 13:05:05 +01:00
Philippe Normand 8a29da8023 player: notify of media-info update after duration change
This is a follow-up of 98b0802a98

https://bugzilla.gnome.org/show_bug.cgi?id=786201
2017-08-15 09:38:55 +01:00
Dave Johnstone 0cd1bf13e8 decklinkvideosink: Add support for Decklink hardware keying
Add two properties (keyer-mode and keyer-level) to control the built-in hardware keyer of Decklink cards.

https://bugzilla.gnome.org/show_bug.cgi?id=773660
2017-08-15 11:09:37 +03:00
Matthew Waters cbf4a44426 adaptivedemux: start/stop the manifest update loop on liveness or periodic update changes
Scenario:
A manifest starts out in live mode but then the recording is finalized
and a subsequent update changes the state to a non-live manifest when
the server has finished recording/transcoding/whatever with the full
list of fragments.

Without this patch, the manifest update task is never stopped on the
live->non-live transition and will busy loop, burning through one CPU
core.

https://bugzilla.gnome.org/show_bug.cgi?id=786275
2017-08-15 15:19:32 +10:00