Commit graph

1836 commits

Author SHA1 Message Date
Julien Isorce
5e4b94c1bb gl: support cgl, egl and glx within a same build
On osx, with the same build,
gst-launch-1.0 videotestsrc ! glimagesink works with:

GST_GL_PLATFORM=egl GST_GL_WINDOW=x11 GST_GL_API=gles2
GST_GL_PLATFORM=egl GST_GL_WINDOW=x11 GST_GL_API=opengl

GST_GL_PLATFORM=glx GST_GL_WINDOW=x11 GST_GL_API=opengl

GST_GL_PLATFORM=cgl GST_GL_WINDOW=cocoa GST_GL_API=opengl
GST_GL_PLATFORM=cgl GST_GL_WINDOW=cocoa GST_GL_API=opengl3

https://bugzilla.gnome.org/show_bug.cgi?id=752743
2015-07-27 09:03:58 +01:00
Young Han Lee
1c9db3df42 configure: require libxml2 >= 2.8 for DASH plugin
The DASH plugin uses xmlBufferDetach now in the code
that handles ContentProtection elements.

https://bugzilla.gnome.org/show_bug.cgi?id=752703
2015-07-22 10:52:34 +01:00
Tim-Philipp Müller
1a59af2e7e configure: try harder to find the right Qt5 build tools
First check for Qt build tools in the host_bins directory
from the Qt5Core pkg-config file. This fixes the situation
where both Qt4 and Qt5 are installed but the global moc/uic/etc.
are the Qt4 version, which would result in build failures.
2015-07-10 19:07:42 +01:00
Edward Hervey
7cb734b1cd configure/qt: Fix build without Qt5X11Extras 2015-07-10 14:01:59 +02:00
Matthew Waters
35f468c0f0 qt: don't error out if Qt X11 could not be found
PCK_CHECK_MODULES default error-if-not-found implementation errors
so override it with a simple notice that we couldn't find the library.
2015-07-10 19:22:08 +10:00
Matthew Waters
769fffa3d9 new qt5 qml GL video sink
Very much in the same spirit as the Gtk GL sink

Two things are provided
1. A QQuickItem subclass that renders out RGBA filled GstGLMemory
   buffers that is instantiated from qml.
2. A sink element that will push buffers into (1)

To use
1. Declare the GstGLVideoItem in qml with an appropriate
   objectName property set.
2. Get the aforementioned GstGLVideoItem from qml using something like

QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));

QObject *rootObject = engine.rootObjects().first();
QQuickItem *videoItem = rootObject->findChild<QQuickItem *> ("videoItem");

3. Set the videoItem on the sink

https://bugzilla.gnome.org/show_bug.cgi?id=752185
2015-07-10 15:25:26 +10:00
Arun Raghavan
0319013726 build: Fix broken BlueZ configure check
The previous commit left an extra set of brackets, and missed removing
the explicit dbus check (which is no longer needed since we're using
gdbus).
2015-07-03 19:24:58 +05:30
Nick Stoughton
5ebde18f03 build: remove support for bluez4 2015-07-03 15:41:52 +05:30
Nick Stoughton
2aa0eba673 bluez: refactor to use glib and add connection state tracking 2015-07-03 15:41:52 +05:30
Sebastian Dröge
c21a58acb4 Back to development 2015-06-25 00:04:32 +02:00
Sebastian Dröge
ad827597e3 Release 1.5.2 2015-06-24 23:37:26 +02:00
Tim-Philipp Müller
82be4ad395 examples: add small jpeg codecparser test
https://bugzilla.gnome.org/show_bug.cgi?id=673925
2015-06-21 11:34:39 +01:00
Julien Isorce
5b003b68ca Revert "gl: add GstGLContextGPUProcess backend"
This reverts commit b377112ee3.
2015-06-19 13:08:49 +01:00
Nicolas Dufresne
ea6ccb5655 style: Remove white spaces at the end of line 2015-06-18 21:09:24 -04:00
Jan Schmidt
3ea9f51dd7 3dvideo: Add simple gtk example stereoscopic video player
https://bugzilla.gnome.org/show_bug.cgi?id=611157
2015-06-19 01:49:33 +10:00
Nicolas Dufresne
10a2c33a7f configure.ac: Remove reference to cvs 2015-06-12 18:08:40 -04:00
Matthew Waters
23fb666dd7 Implement gtk sinks
two sinks are provided.  gtksink which is a cairo/software based renderer
and gtkglsink which utilises the GL support in gtk and gstreamer.
2015-06-11 22:01:03 +10:00
Sebastian Dröge
04e39278d5 Back to development 2015-06-07 16:45:04 +02:00
Sebastian Dröge
0034323f49 Release 1.5.1 2015-06-07 10:55:35 +02:00
Tim-Philipp Müller
acf0d92d0f configure: lower curl requirement to 7.35.0
Build and unit tests were tested against 7.35 too now,
which is the version in Ubuntu 14.04.
2015-06-02 21:16:02 +01:00
Julien Isorce
b377112ee3 gl: add GstGLContextGPUProcess backend
It builds its GL vtable from a proc address provided
by the application.
2015-05-27 17:22:40 +01:00
Patricia Muscalu
c1bad1be5d curlsink: handle socket callback for active FTP connections as well
Since version 7.28.0, libcurl allows application to set
socket options for active FTP connections.

Bump libcurl requirement to version tested.

https://bugzilla.gnome.org/show_bug.cgi?id=749815
2015-05-25 19:37:53 +01:00
Wim Taymans
1f738ca5b8 fix faad2 version check
On fedora 22, the output of cpp inserts extra debug comments, which
makes our regexp for the faad2 version check fail. This in turn causes
it to compile with the wrong arguments passed which then causes stack
corruption and crashes.

Fix this by only checking for the version (which should be by itself on
a single line). This is potentially less safe, it might be possible that
a similar string would appear in a later version in the header file.

Fixes https://bugzilla.gnome.org/show_bug.cgi?id=748571
2015-05-13 16:29:31 +02:00
Sebastian Dröge
c32354e70e decklink: Disable decklink plugin on Android 2015-05-05 12:45:54 +02:00
Tim-Philipp Müller
b90f17411e configure: bump automake requirement to 1.14 and autoconf to 2.69
This is only required for builds from git, people can still
build tarballs if they only have older autotools.

https://bugzilla.gnome.org//show_bug.cgi?id=747624
2015-04-23 16:39:20 +01:00
Руслан Ижбулатов
64080e632d opencv: Change configure test to check for OpenCV2 headers
* Checks for opencv2 headers only, not for legacy opencv1 headers
* Checks for every opencv2 header that the implementation needs,
  not just highgui_c.h

https://bugzilla.gnome.org/show_bug.cgi?id=725163
2015-04-17 17:25:18 +02:00
Edward Hervey
5352ba19ac configure: Depend on openh264 >= 1.3.0
Required for the version check header, as agreed upon on IRC
2015-04-07 16:01:52 +02:00
Victor Toso
1b564bfb8b directsoundsrc: Implement volume and mute
Using the MixerAPI as IDirectSoundCaptureBuffer doesn't implement volume
control.

https://bugzilla.gnome.org/show_bug.cgi?id=744383
2015-03-31 10:53:55 +01:00
Sebastian Dröge
1e0ed9af11 dtls: Add new DTLS plugin
This is a copy of the Ericsson DTLS plugin from
https://github.com/EricssonResearch/openwebrtc-gst-plugins/tree/master/ext/erdtls/src

https://bugzilla.gnome.org/show_bug.cgi?id=744582
2015-03-16 18:23:27 +01:00
Tim-Philipp Müller
9b5499725b configure: fix build
Was supposed to be squashed into earlier commit.
2015-03-14 15:16:01 +00:00
Tim-Philipp Müller
bcde1a015c Remove unported and useless osxvideosrc element
There are other elements for this now.
2015-03-14 14:47:25 +00:00
Matthew Waters
13049caaf2 gl: fix a couple of typos in configure.ac
https://bugzilla.gnome.org/show_bug.cgi?id=744020
2015-03-14 11:01:12 +00:00
Matthew Waters
e505f6257c applemedia: new AVSampleBufferLayerSink
Renders buffers using the CALayer subclass AVSampleBufferDisplayLayer
which can be placed inside a Core Animation render tree.
2015-02-24 19:12:10 +11:00
Tim-Philipp Müller
199ce92474 Remove unported directdraw plugin
This API has been deprecated for eternities and microsoft
stopped shipping the headers in 2010 accoding to wikipedia,
so let's just remove it and focus on bringing the plugins
based on the newer APIs up to snuff.
2015-01-24 20:28:16 +00:00
Matthew Waters
e10d2417e2 gl/cocoa: move to CGL and CAOpenGLLayer for rendering
Removes the use of NSOpenGL* variety and functions.  Any Cocoa
specific functions that took/returned a NSOpenGL* object now
take/return the CGL equivalents.
2015-01-22 21:29:52 +11:00
Tim-Philipp Müller
b5bd2a8855 Remove real plugin which is no longer needed and has never been ported
Decoders for these formats exist in gst-libav, if anyone
still has a need for them.
2015-01-18 17:30:28 +00:00
Tim-Philipp Müller
e694bddf56 Remove libgmyth-based MythTV source element which was never ported
gmyth seems to be unmaintained upstream, and no one has asked
for this to be ported for a very long time, so let's just
remove it. Neither debian nor Fedora seem to ship libgmyth
any longer, and in any case it's most likely deprecated by
the UPnP support in MythTV.
2015-01-18 17:15:00 +00:00
Christoph Reiter
75f8cca325 bs2b: add new plugin (Effect/Audio, crossfeed)
https://bugzilla.gnome.org/show_bug.cgi?id=611689
2015-01-15 19:59:03 +01:00
Zaheer Abbas Merali
3a4d988a29 Revert "Revert "openh264: fix to work with released versions and master of upstream""
This reverts commit 329f0ccba1.
2015-01-13 11:32:03 -08:00
Tim-Philipp Müller
329f0ccba1 Revert "openh264: fix to work with released versions and master of upstream"
This reverts commit 15394aa705.

The latest release (v1.1) does not have pkg-config support
yet, so this plugin won't be built with the latest release.
Cerbero uses the latest release, so this makes cerbero
builds fail, which expect the plugin to be built.

We can re-commit this once there's a release that includes
pkg-config support.
2014-12-12 20:58:49 +00:00
Zaheer Abbas Merali
15394aa705 openh264: fix to work with released versions and master of upstream 2014-12-12 10:05:23 -08:00
Guillaume Desmottes
b424b72df1 add rtponviftimestamp element
https://bugzilla.gnome.org/show_bug.cgi?id=731769
2014-12-11 14:00:59 -05:00
Nick Stoughton
a344b99c98 bluez: support compile-time distinction between bluez4 and bluez5
Signed-off-by: Nick Stoughton <nstoughton@aether.com>

https://bugzilla.gnome.org/show_bug.cgi?id=738626
2014-12-11 09:08:47 +05:30
Reynaldo H. Verdejo Pinochet
89eb1e9a03 vcdsrc: port to 1.
https://bugzilla.gnome.org/show_bug.cgi?id=547661
2014-12-04 17:00:52 -03:00
Thomas Klausner
655e6926bf configure: Do comparisons in a portable way with = instead of ==
https://bugzilla.gnome.org/show_bug.cgi?id=740953
2014-12-01 09:49:17 +01:00
Thiago Santos
9ec9f3f119 adaptivedemux: add adaptivedemux base class
https://bugzilla.gnome.org/show_bug.cgi?id=735848
2014-11-30 21:56:01 -03:00
Matthew Waters
e653ae9fc2 gl: fixup compat definition for GLuint64 for OS X 2014-11-28 13:04:21 +11:00
Matthew Waters
6bd1150ca8 gl: remove the use of glu 2014-11-28 09:14:26 +11:00
Matthew Waters
f2af65ee2d gl: add a sync meta for synchronizing across GL contexts
A context can create a GLsync object that can be waited on in order
to ensure that GL resources created in one context are able to be
used in another shared context without any chance of reading invalid
data.

This meta would be placed on buffers that are known to cross from
one context to another.  The receiving element would then wait
on the sync object to ensure that the data to be used is complete.
2014-11-28 09:14:25 +11:00
Arun Raghavan
ab61306c67 build: Use newer AX_PTHREAD instead of ACX_PTHREAD 2014-11-26 22:05:10 +05:30
Tim-Philipp Müller
a964491735 Remove unported and obsolete qtwrapper plugin code
QuickTime is deprecated, we want new plugins based
on avfoundation (osx) or dxva/mediafoundation (windows).
2014-11-26 14:43:21 +00:00
Matthew Waters
aeaf4a4388 gl: fix automagic disabling of desktop GL
If configure finds GL + GLES2 but the user passes --enable-gles2 and
the two GL API's cannot be built against together, configure was still
allowing the desktop GL stack to be built.
2014-11-27 01:32:21 +11:00
Tim-Philipp Müller
5f8a3fa0a3 configure: use pkg-config to detect X11
Like we do in -base and -good now.

https://bugzilla.gnome.org/show_bug.cgi?id=731047
2014-11-24 19:53:56 +00:00
Sebastian Dröge
9492db96d1 gl: Use numeric OSX version instead of the macro
The macro is not defined on older OSX versions and evaluates to 0.

https://bugzilla.gnome.org/show_bug.cgi?id=740201
2014-11-16 11:00:57 +01:00
Sebastian Dröge
13c8517570 gl/cocoa: Remove GNUStep support
Until gcc and GNUStep properly support Objective-C blocks and other
"new" features of Objective-C we can't properly support them without
making the code much more ugly.

https://bugzilla.gnome.org/show_bug.cgi?id=739152
2014-11-13 12:01:19 +01:00
Sebastian Dröge
340d60e85e gl/cocoa: include gl3.h in configure too for consistency with gstglapi.h 2014-11-04 09:52:11 +01:00
Vincent Abriou
9f69bcbfe5 configure.ac: auto decision to include GL library fails
The part of the configure.ac that consist to check if we
can include both GL and GLES2 at the same time is failing.
Indeed, in the case NEED_GLES2=yes and NEED_OPENGL=auto,
HAVE_OPENGL variable is updated whereas it should be HAVE_GL
variable that has to be updated (HAVE_OPENGL variable is not
used in the rest of the configure.ac).

https://bugzilla.gnome.org/show_bug.cgi?id=739348

Signed-off-by: Vincent Abriou <vincent.abriou@st.com>
Reviewed-by: Benjamin GAIGNARD <benjamin.gaignard@linaro.org>
2014-10-29 22:40:42 +11:00
Tim-Philipp Müller
392f91a61b configure: check for more openh264 API that we need 2014-10-26 15:44:05 +00:00
Edward Hervey
eb01f37767 configure.ac: Use libsrtp.pc if present 2014-10-24 16:19:58 +02:00
Tim-Philipp Müller
871ec4693c configure: improve openh264 check
The openh264 API is still unstable, so check for
structure member that we need to prevent building
against an older incompatible version.
2014-10-22 13:03:30 +01:00
Tim-Philipp Müller
6c8446ffa6 configure: simplify openh264 check
Of course PTHREADS_CFLAGS is not used anywhere now
for the check, but that was the case before as well.
2014-10-22 12:36:36 +01:00
Stefan Sauer
27d6a70acc configure: use a macro to check for pthread
Replace the hardcoded -lpthread in most of the places with $PTHREAD_LIBS. For
openh264 also add $PTHREAD_LIBS to OPENH264_LIBS until upstream ships a .pc
file.
2014-10-21 13:43:03 +02:00
Brendan Long
eee5110fb4 gl: Check for GLU before trying to use it in configure.ac
https://bugzilla.gnome.org/show_bug.cgi?id=738816
2014-10-20 13:05:27 +02:00
Stefan Sauer
ca5971850d configure: add pthread to the configure check for openh264 2014-10-20 11:22:54 +02:00
Sebastian Dröge
b57f255f26 vtenc: VTCompressionSessionPrepareToEncodeFrames only exists since 10.9.6
Check with configure for it instead of using one of the availability macros
as those wouldn't work as expected with minor versions.
2014-10-19 14:51:40 +02:00
Thijs Vermeir
293522d418 rtp: add h265 RTP payloader + depayloader 2014-10-17 10:40:24 +02:00
Thijs Vermeir
f241294662 x265enc: add x265 encoder element 2014-10-15 17:11:39 +02:00
Joachim Bauch
51fc68e196 Integrate libde265 into gst-plugins-bad. 2014-10-14 10:48:27 +02:00
Sebastian Dröge
cf4ec9b04e openh264: Add OpenH264 based encoder/decoder elements
These are the openh264 elements released under the BSD-2 license
by Ericsson as part of the OpenWebRTC project.
https://github.com/EricssonResearch/openwebrtc-gst-plugins

https://bugzilla.gnome.org/show_bug.cgi?id=737788
2014-10-03 17:23:35 +03:00
Lubosz Sarnecki
cc3ca17f4c gltransformation: requires graphene 1.0.0 2014-09-30 16:06:32 +03:00
Sebastian Dröge
faba47f70d applemedia: Unconditionally use VideoToolbox on iOS if available
Because we do weak linking now we can always compile it in and check at
runtime if it is actually available or not.
2014-09-17 10:39:26 +03:00
Sebastian Dröge
af3c3473e0 configure: And make the preprocessor check work properly 2014-09-15 15:36:44 +03:00
Sebastian Dröge
f2255f1e2a configure: Do the AM_CONDITIONAL() after finally setting the variable 2014-09-15 15:25:46 +03:00
Sebastian Dröge
c82fa4f845 applemedia: Don't include VideoToolbox on iOS < 8.0
It's private API and does not work without a jailbroken device.
2014-09-15 15:12:31 +03:00
Matthew Waters
1fee15e638 build: don't AC_SUBST intermediate values 2014-09-10 19:16:53 +10:00
Thomas Bluemel
04ca723461 hlsdemux: Support OpenSSL for AES decryption of HLS fragments
https://bugzilla.gnome.org//show_bug.cgi?id=735248
2014-08-28 10:34:55 +03:00
Carlos Rafael Giani
33fedda489 gl: do not check for GL/GLU/EGL/GLES2 libs if disabled in configuration
https://bugzilla.gnome.org/show_bug.cgi?id=735522
2014-08-27 17:14:45 +03:00
Sebastian Dröge
83b672f328 openjpeg: Don't remember -lopenjp2 as libs when falling back to openjpeg1 2014-07-21 17:34:52 +02:00
Руслан Ижбулатов
3ac444d2b7 openjpeg: Win32-compatible OpenJPEG-2.0 detection
OpenJPEG 2.0 API uses stdcall on W32 by default. This prevents normal
autoconf library macros from finding its functions.
A more compatible check is to acutally link a program that includes a
real header.

https://bugzilla.gnome.org/show_bug.cgi?id=733487
2014-07-21 12:09:48 +02:00
Sebastian Dröge
645e3d8edd Back to development 2014-07-19 18:04:42 +02:00
Sebastian Dröge
9dfc0f513b Release 1.4.0 2014-07-19 17:27:11 +02:00
Mart Raudsepp
96aa931635 gl: Include GL_CFLAGS while checking for GL typedefs
Otherwise those checks may fail at configure time if they contain extra
include paths, while at build time they are included, potentially causing
incompatible typedefs between system GL headers and gstreamer compatibility
prototypes.

https://bugzilla.gnome.org/show_bug.cgi?id=733248
2014-07-16 16:37:54 +02:00
Mart Raudsepp
0bb6d22ffc gl: Always include EGL_CFLAGS in GL_CFLAGS when EGL_LIBS is added to GL_LIBS
They should be handled in tandem, in case any EGL provider could require some
CFLAGS and set them (possibly once moved to prefer pkg-config files),
such as for a custom header location.
2014-07-16 16:37:54 +02:00
Sebastian Dröge
f8778ee272 Release 1.3.91 2014-07-11 12:13:22 +02:00
Matthieu Bouron
9c13c84afd configure: fix uninitialized variables with --disable-external
https://bugzilla.gnome.org/show_bug.cgi?id=732744
2014-07-04 17:41:20 +01:00
Alessandro Decina
0258ec0273 applemedia: enable vtdec and vtenc only on >= 10.8 where VideoToolbox is public
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=723670
2014-07-02 12:56:06 +02:00
Sebastian Dröge
ea1ee4e3d0 Release 1.3.90 2014-06-28 11:30:39 +02:00
Tim-Philipp Müller
5f00de4601 configure: use $ERROR_CFLAGS instead of hard-coding -Werror
https://bugzilla.gnome.org//show_bug.cgi?id=731692
2014-06-22 22:04:31 +01:00
Koop Mast
a84406c09b configure: use -Werror to make the include GL and GLES2 header check guaranteed fatal
Clang will only give a warning for the redefinition of typedef GLenum.
Since master is build with -Werror this will result in a build failure
later in the gl plugin. Add -Werror to the test, so the test result is as
expected. This will allow the gl plugins to build.

https://bugzilla.gnome.org//show_bug.cgi?id=731692
2014-06-22 22:00:50 +01:00
Sebastian Dröge
d69777509d Back to development 2014-06-22 19:36:14 +02:00
Sebastian Dröge
6d3d06c91f Release 1.3.3 2014-06-22 19:22:28 +02:00
Mathieu Duponchelle
11fa711c34 compositor: Add a new compositor based on the new GstVideoAggregator base class
It is a replacement for videomixer with a similare API

Co-Authored by: Thibault Saunier <tsaunier@gnome.org>

https://bugzilla.gnome.org/show_bug.cgi?id=731919
2014-06-20 19:53:33 +02:00
Mathieu Duponchelle
7cf66e7c07 videoaggregator: Create a new GstVideoAggregator baseclass
This base class has been added to a newly created libgstbadvideo library

Co-Authored by: Thibault Saunier <tsaunier@gnome.org>

https://bugzilla.gnome.org/show_bug.cgi?id=731918
2014-06-20 19:53:33 +02:00
Thibault Saunier
55c65d079f aggregator: Add new GstAggregator base class
This base class has been added to a newly created libgstbadbase library

Co-Authored by: Mathieu Duponchelle <mathieu.duponchelle@opencreed.com>

https://bugzilla.gnome.org/show_bug.cgi?id=731917
2014-06-20 19:53:33 +02:00
Lubosz Sarnecki
053252ccc6 opengl: add element for transforming video geometry
* add graphene as soft dependency for linear algebra
2014-06-18 20:41:03 +10:00
Arnaud Vrac
76c0007778 wayland: install .pc file 2014-06-17 13:51:30 +02:00
George Kiagiadakis
1cbfba5034 waylandsink: Build bindings for the unstable wl_scaler spec 2014-06-17 13:51:24 +02:00
George Kiagiadakis
86a3c384ae wayland: Add new gst-wayland library containing a new GstWaylandVideo interface
This interface is needed to be able to embed waylandsink into
other wayland surfaces. Due to the special nature of wayland,
GstVideoOverlay is not enough for this job.
2014-06-17 13:51:23 +02:00
Nicola Murino
ab4d8d3d3c opencv: make the plugin compile with all 2.4.x versions
https://bugzilla.gnome.org/show_bug.cgi?id=730141
2014-05-30 16:58:59 -03:00
Julien Isorce
fbe6dd9c5f gl: rename platform cocoa to cgl
Before:
GST_GL_PLATFORM=cocoa GST_GL_WINDOW=cocoa
gst-launch-1.0 videotestsrc ! glimagesink

After:
GST_GL_PLATFORM=cgl GST_GL_WINDOW=cocoa
gst-launch-1.0 videotestsrc ! glimagesink

but still pass --enable-cocoa to configure script
because currently it can only be used with cocoa API.

We could later have cgl/gstglcontext_cgl.h that manages
a CGLContextObj directly and cocoa/gstglcontext_cocoa.h
would just wrap it.
So that it could be used with other Apple's window APIs.

https://bugzilla.gnome.org/show_bug.cgi?id=729245
2014-05-27 08:46:16 +01:00