platform/upstream/gstreamer.git
7 years agogl/build: add missing build files
Matthew Waters [Thu, 10 Nov 2016 09:34:53 +0000 (20:34 +1100)]
gl/build: add missing build files

3f7b54988186de17ec4e5b5566074cfaa392819a was incomplete :(

7 years agogl/utils: move gen_shader() to the plugin and remove del_shader()
Matthew Waters [Thu, 10 Nov 2016 08:14:24 +0000 (19:14 +1100)]
gl/utils: move gen_shader() to the plugin and remove del_shader()

gst_gl_context_del_shader() can be replaced by a g_object_unref().
gst_gl_context_gen_shader() should be replaced by using GstGLSLStage.

7 years agoglwindow: remove unused field in public struct
Matthew Waters [Wed, 26 Oct 2016 05:53:27 +0000 (16:53 +1100)]
glwindow: remove unused field in public struct

7 years agoglwindow: remove is_running() function
Matthew Waters [Wed, 26 Oct 2016 05:30:43 +0000 (16:30 +1100)]
glwindow: remove is_running() function

It isn't necessary in correctly written programs.

7 years agomeson/gl: XCB changes also need x11-xcb as a dependency
Nirbheek Chauhan [Tue, 8 Nov 2016 12:20:51 +0000 (17:50 +0530)]
meson/gl: XCB changes also need x11-xcb as a dependency

https://ci.gstreamer.net/job/GStreamer-master-meson/380/console

[...]
gst-libs/gst/gl/x11/xcb_event_source.c:98: undefined reference to `xcb_get_file_descriptor'

7 years agoamc: Allow registering codecs, camera or sensors if any of the others failed
Sebastian Dröge [Mon, 7 Nov 2016 10:30:20 +0000 (12:30 +0200)]
amc: Allow registering codecs, camera or sensors if any of the others failed

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

7 years agoahs: Don't assert on deinit if initialization failed before
Sebastian Dröge [Mon, 7 Nov 2016 10:24:59 +0000 (12:24 +0200)]
ahs: Don't assert on deinit if initialization failed before

Initialization failure is handled correctly by just not registering the
ahssrc element.

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

7 years agogl/x11: fix meson build
Philippe Normand [Tue, 8 Nov 2016 08:52:48 +0000 (09:52 +0100)]
gl/x11: fix meson build

The x11_event_source.[ch] files were renamed in
4f6c226bd24ae3ef66bd8f4c17b001444c9b0bf1.

7 years agoexamples/gl/qt: fix the examples for the use of newer API
Matthew Waters [Tue, 8 Nov 2016 04:04:29 +0000 (15:04 +1100)]
examples/gl/qt: fix the examples for the use of newer API

gstgl doesn't undo/overwrite what GL state the examples are changing
anymore.  As such, the examples need to reset the GL state themselves
to be able to play nice with libgstgl

7 years agoglfiltershader: expand the docs slightly
Matthew Waters [Tue, 8 Nov 2016 02:35:33 +0000 (13:35 +1100)]
glfiltershader: expand the docs slightly

Add an example OpenGL shader

7 years agoglwindow: remove the navigation thread
Matthew Waters [Thu, 30 Jun 2016 14:31:07 +0000 (00:31 +1000)]
glwindow: remove the navigation thread

This functionality can now effectively be implemented with the display event
thread.

7 years agogl/x11: use xcb instead of libX11
Matthew Waters [Thu, 30 Jun 2016 14:07:23 +0000 (00:07 +1000)]
gl/x11: use xcb instead of libX11

- xcb is supposedly thread-safe!

videotestsrc ! glimagesink now doesn't spuriously result in a
'call XInitThreads()' error however if anybody else is using X11,
then XInitThreads() still needs to be called and multiple glimagesink's
still need XInitThreads().

Everything still takes libX11 handles as they are compatible with the xcb
variants.  Unfortunately we cannot move fully over to xcb due to GLX being
entirely based on Xlib.  It's also impossible to transform a xcb_connection
to a Display which means we require X11 handles.

7 years agogldisplay: add a list of glwindow's
Matthew Waters [Thu, 30 Jun 2016 13:12:33 +0000 (23:12 +1000)]
gldisplay: add a list of glwindow's

With the event thread on the display, for a particular winsys event
we need to be able to retreive the window that the event matches.

7 years agogldisplay: add a dedicated event thread
Matthew Waters [Thu, 30 Jun 2016 13:04:16 +0000 (23:04 +1000)]
gldisplay: add a dedicated event thread

Will take the place of the navigation event thread for dealing with
winsys events.

7 years agogl: don't expose OpenGL prototypes
Matthew Waters [Tue, 8 Nov 2016 01:44:45 +0000 (12:44 +1100)]
gl: don't expose OpenGL prototypes

We roll our own to avoid depending a certain OpenGL header version

7 years agogl/cocoa: don't install the gstglcontext_cocoa.h header
Matthew Waters [Mon, 7 Nov 2016 15:56:44 +0000 (02:56 +1100)]
gl/cocoa: don't install the gstglcontext_cocoa.h header

It's not needed to be exposed

7 years agogl/android: don't install the android window header
Matthew Waters [Mon, 7 Nov 2016 15:52:37 +0000 (02:52 +1100)]
gl/android: don't install the android window header

It's not needed

7 years agogl: add padding to all exposed winsys/platform-specific structs
Matthew Waters [Mon, 7 Nov 2016 15:50:41 +0000 (02:50 +1100)]
gl: add padding to all exposed winsys/platform-specific structs

7 years agogl/wayland: install the gstgldisplay_wayland.h header
Matthew Waters [Mon, 7 Nov 2016 15:47:36 +0000 (02:47 +1100)]
gl/wayland: install the gstgldisplay_wayland.h header

As it is used by other OpenGL sinks (gtkglsink, qmlglsink)

7 years agogl/egl: don't install the gstglcontext_egl.h header
Matthew Waters [Mon, 7 Nov 2016 15:44:30 +0000 (02:44 +1100)]
gl/egl: don't install the gstglcontext_egl.h header

It's not needed to be exposed and there are no users of the API.

7 years agoglfilter: remove display_init/reset
Matthew Waters [Mon, 7 Nov 2016 15:21:20 +0000 (02:21 +1100)]
glfilter: remove display_init/reset

They are mirrors of GstGLBaseFilter's gl_start() and gl_stop() virtual methods
so use them instead.

7 years agoqmlglsrc: some enhancements for qmlglsrc
Haihua Hu [Mon, 7 Nov 2016 06:47:22 +0000 (14:47 +0800)]
qmlglsrc: some enhancements for qmlglsrc

1. Need set use-default-fbo to qquickwindow during set property
   to support change render target on the fly.
2. Calculate qmlglsrc refresh frame rate in qtglwindow

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

7 years agovdpsink: fix Memory leak due to Xlib API usage
Gaurav Gupta [Fri, 4 Nov 2016 06:26:13 +0000 (11:56 +0530)]
vdpsink: fix Memory leak due to Xlib API usage

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

7 years agompdparser: MS PlayReady ContentProtection parsing
Philippe Normand [Fri, 4 Nov 2016 08:56:33 +0000 (09:56 +0100)]
mpdparser: MS PlayReady ContentProtection parsing

The "pro" (PlayReady Object) element contents are now base64-decoded
and properly stored in Protection events.

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

7 years agogst: Fix more mentions of interlaced-mode to say interlace-mode
Sebastian Dröge [Fri, 4 Nov 2016 14:26:50 +0000 (16:26 +0200)]
gst: Fix more mentions of interlaced-mode to say interlace-mode

7 years agowayland: only use libdrm headers, don't link to the lib
Tim-Philipp Müller [Fri, 4 Nov 2016 13:43:08 +0000 (13:43 +0000)]
wayland: only use libdrm headers, don't link to the lib

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

7 years agokms: rename variable used
Tim-Philipp Müller [Fri, 4 Nov 2016 09:26:48 +0000 (09:26 +0000)]
kms: rename variable used

Since this includes kms.

7 years agowayland: include drm_fourcc.h properly and fix build
Tim-Philipp Müller [Fri, 4 Nov 2016 00:52:41 +0000 (00:52 +0000)]
wayland: include drm_fourcc.h properly and fix build

7 years agowayland: fix cflags/libs order
Tim-Philipp Müller [Fri, 4 Nov 2016 00:44:32 +0000 (00:44 +0000)]
wayland: fix cflags/libs order

7 years agovulkan: Add missing files to meson build
Arun Raghavan [Fri, 4 Nov 2016 04:21:36 +0000 (09:51 +0530)]
vulkan: Add missing files to meson build

7 years agowaylandsink: Rework dmabuf support
Nicolas Dufresne [Thu, 29 Sep 2016 20:30:33 +0000 (16:30 -0400)]
waylandsink: Rework dmabuf support

Simplify and fix some of the show_frame logic.

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

7 years agowaylandsink: support linux dmabuf protocol
Fabien Dessenne [Thu, 22 Sep 2016 09:10:47 +0000 (11:10 +0200)]
waylandsink: support linux dmabuf protocol

Support the wayland zwp_linux_dmabuf_unstable_v1 protocol.
SHM formats and DMABuf formats are exposed differently in caps: the
DMABuf formats are flagged with GST_CAPS_FEATURE_MEMORY_DMABUF.
No buffer pool is proposed for DMABuf buffers, it is the upstream
element responsibility to provide with such buffers.

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

7 years agowaylandsink: Allow any kind of FD for shm memory
Nicolas Dufresne [Thu, 29 Sep 2016 18:34:18 +0000 (14:34 -0400)]
waylandsink: Allow any kind of FD for shm memory

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

7 years agottml: bump needed libxml2 version
Luis de Bethencourt [Thu, 3 Nov 2016 17:34:54 +0000 (17:34 +0000)]
ttml: bump needed libxml2 version

ttml was recently added but it won't compile unless libxml2 version 2.9.2
or later is available. In that version the first parameter of xmlGetProp
switched to being a const. In previous versions the compiler complains
about passing a const value to a non const argument.

7 years agocheck: Add new test to .gitignore
Edward Hervey [Thu, 3 Nov 2016 07:31:36 +0000 (08:31 +0100)]
check: Add new test to .gitignore

7 years agogldisplay: Fix inverted precondition
Matthew Waters [Thu, 3 Nov 2016 07:19:58 +0000 (18:19 +1100)]
gldisplay: Fix inverted precondition

A GError argument must either be null or point to a NULL GError.

https://developer.gnome.org/glib/stable/glib-Error-Reporting.html

7 years agovkswapper: Use the trash list to free resources after they've been used
Matthew Waters [Thu, 1 Sep 2016 10:04:08 +0000 (20:04 +1000)]
vkswapper: Use the trash list to free resources after they've been used

This allows further parallelism and removes a device wait from the end of
the render code.

7 years agovulkan: add a trash object
Matthew Waters [Thu, 1 Sep 2016 09:52:40 +0000 (19:52 +1000)]
vulkan: add a trash object

This allows pushing the destruction of vulkan resources after the signalling
of an vulkan event.  The event facilitates knowing when a specific point in the
vulkan queue has been reached.  Only after the event has been signaled can
vulkan resources be freed and/or reused.

7 years agovulkan: add a simple refcountable fence wrapper
Matthew Waters [Thu, 1 Sep 2016 09:51:11 +0000 (19:51 +1000)]
vulkan: add a simple refcountable fence wrapper

7 years agogl/gi: some annotation updates for called functions
Matthew Waters [Thu, 3 Nov 2016 05:14:37 +0000 (16:14 +1100)]
gl/gi: some annotation updates for called functions

With scope, closure, destroy annotations

7 years agogl/gi: also include GstVideo
Matthew Waters [Thu, 3 Nov 2016 05:12:32 +0000 (16:12 +1100)]
gl/gi: also include GstVideo

Removes all the unknown type GstVideo* warnings while building the GIR
file.

7 years agoglfeature: move internal functions into a private header
Matthew Waters [Thu, 27 Oct 2016 05:19:04 +0000 (16:19 +1100)]
glfeature: move internal functions into a private header

Don't expose them to the outside world

7 years agogl: GST_GL_TYPE -> GST_TYPE_GL
Matthew Waters [Wed, 5 Oct 2016 01:19:12 +0000 (12:19 +1100)]
gl: GST_GL_TYPE -> GST_TYPE_GL

Some deprecated symbols are kept for backwards compatibility

7 years agogl/docs: massive update
Matthew Waters [Thu, 3 Nov 2016 01:03:24 +0000 (12:03 +1100)]
gl/docs: massive update

- add Since: markers where necessary.
- document structs
- add documentation headers for each module (short_description,
  see_also, etc)
- reduce the number of warnings gtk-doc outputs
- fix spelling mistakes

7 years agogl/docs: document new API added in 1.10
Matthew Waters [Wed, 2 Nov 2016 10:21:33 +0000 (21:21 +1100)]
gl/docs: document new API added in 1.10

GstGLRenderbuffer
GstGLFramebuffer
GstGLQuery
GstEGLImage
GstGLMemoryEGL

7 years agogl/docs: update lists of included symbols
Matthew Waters [Tue, 1 Nov 2016 05:13:21 +0000 (16:13 +1100)]
gl/docs: update lists of included symbols

in the sections and types files.
Also remove some unneeded types from the documentation as they aren't
exposed as public API

7 years agoglsl: fix #version 150 not working with profiles
Matthew Waters [Tue, 1 Nov 2016 06:30:03 +0000 (17:30 +1100)]
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.

7 years agottml: Add meson.build
Sebastian Dröge [Wed, 2 Nov 2016 18:14:39 +0000 (20:14 +0200)]
ttml: Add meson.build

7 years agofdkaac: Add meson.build
Sebastian Dröge [Wed, 2 Nov 2016 18:14:23 +0000 (20:14 +0200)]
fdkaac: Add meson.build

7 years agodecklinkvideosink: Also stop scheduled playback when gst_element_lost_state() is...
Sebastian Dröge [Wed, 2 Nov 2016 14:12:42 +0000 (16:12 +0200)]
decklinkvideosink: Also stop scheduled playback when gst_element_lost_state() is called

Unfortunately this does not go through the normal state change
machinery, so we don't get notified about this in change_state().
However we need to stop scheduled playback, so that once PLAYING is
reached again we can start scheduled playback with the correct time.

Without this, flushing seeks in PLAYING will not work correctly:
decklinkvideosink will wait before showing the new frames for the amount
of time the pipeline was in PLAYING before.

7 years agodecklink: Use gst_clock_adjust_with_calibration() and unadjust_with_calibration()
Sebastian Dröge [Wed, 2 Nov 2016 13:00:36 +0000 (15:00 +0200)]
decklink: Use gst_clock_adjust_with_calibration() and unadjust_with_calibration()

Instead of hand-crafted versions of the same calculation. These
calculations are still too complicated though.

7 years agodtls: Fix compiler warnings with openssl 1.1 or newer
Sebastian Dröge [Wed, 2 Nov 2016 12:04:19 +0000 (14:04 +0200)]
dtls: Fix compiler warnings with openssl 1.1 or newer

- DTLSv1_method() is deprecated, and since 1.0.2 replaced by
  DTLS_method().
- CRYPTO_set_locking_callback() and CRYPTO_set_id_callback() are
  no-ops (empty macros) since 1.1 and are not supposed to be used
  anymore.

gstdtlsagent.c: In function ‘gst_dtls_agent_init’:
gstdtlsagent.c:173:3: error: ‘DTLSv1_method’ is deprecated [-Werror=deprecated-declarations]
   priv->ssl_context = SSL_CTX_new (DTLSv1_method ());
   ^~~~
In file included from /usr/include/openssl/ct.h:13:0,
                 from /usr/include/openssl/ssl.h:61,
                 from gstdtlsagent.c:40:
/usr/include/openssl/ssl.h:1614:1: note: declared here
 DEPRECATEDIN_1_1_0(__owur const SSL_METHOD *DTLSv1_method(void)) /* DTLSv1.0 */
 ^
At top level:
gstdtlsagent.c:103:1: error: ‘ssl_thread_id_function’ defined but not used [-Werror=unused-function]
 ssl_thread_id_function (void)
 ^~~~~~~~~~~~~~~~~~~~~~
gstdtlsagent.c:73:1: error: ‘ssl_locking_function’ defined but not used [-Werror=unused-function]
 ssl_locking_function (gint mode, gint lock_num, const gchar * file, gint line)
 ^~~~~~~~~~~~~~~~~~~~

7 years agowin32: Update for new GstPlayer API
Sebastian Dröge [Wed, 2 Nov 2016 09:21:36 +0000 (11:21 +0200)]
win32: Update for new GstPlayer API

7 years agodx9screencapsrc: add "cursor" option to draw the cursor
Florian Zwoch [Tue, 5 Jan 2016 17:50:45 +0000 (18:50 +0100)]
dx9screencapsrc: add "cursor" option to draw the cursor

Drawing is done via the GDI drawing functions. The cursor is
converted to a monochrome version before drawing. This is because
the GDI drawing functions seem to have undefined behavior with
cursor images including an alpha channel.

I could not find any other reliable way to draw these alpha
channel cursors without producing unwanted artifacts. These type
of cursors were introduced with Window Vista when run with it's
Aero theme.

Also adjust the cursor coordinates when capturing non-primary
screens via the "monitor" option.

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

7 years agoRevert "tests: rawvideoparse: add test for flow error handling"
Sebastian Dröge [Wed, 2 Nov 2016 07:36:04 +0000 (09:36 +0200)]
Revert "tests: rawvideoparse: add test for flow error handling"

This reverts commit 280b4ac2ffc63908a74944f50589b2630be16232.

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

7 years agodtls: Downgrade locking debug
Olivier Crête [Fri, 28 Oct 2016 20:39:13 +0000 (16:39 -0400)]
dtls: Downgrade locking debug

7 years agottml: Add plugin that supports TTML subtitles
Chris Bass [Wed, 29 Jun 2016 08:58:38 +0000 (09:58 +0100)]
ttml: Add plugin that supports TTML subtitles

Add a parser (ttmlparse) and renderer (ttmlrender) element that handle
subtitles that use the EBU-TT-D profile of TTML1.

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

7 years agotests: rawvideoparse: add test for flow error handling
Tim-Philipp Müller [Sat, 29 Oct 2016 10:33:18 +0000 (11:33 +0100)]
tests: rawvideoparse: add test for flow error handling

Also needs fixes in baseparse:
https://bugzilla.gnome.org/show_bug.cgi?id=773666

7 years agomeson: update version
Tim-Philipp Müller [Tue, 1 Nov 2016 18:10:23 +0000 (18:10 +0000)]
meson: update version

7 years agoplayer: Add configuration for enabling accurate seeks
Lyon Wang [Wed, 26 Oct 2016 08:28:10 +0000 (16:28 +0800)]
player: Add configuration for enabling accurate seeks

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

7 years agodecklinkaudiosrc: Ignore channel-mask when checking set_caps compatibility
Vivia Nikolaidou [Fri, 21 Oct 2016 11:01:11 +0000 (14:01 +0300)]
decklinkaudiosrc: Ignore channel-mask when checking set_caps compatibility

channel-mask doesn't matter in decklinkaudiosrc, and differences in it
can cause caps negotiations to fail without a real reason.

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

7 years agotests: add a test for srtp elements
Vincent Penquerc'h [Tue, 4 Oct 2016 15:59:09 +0000 (16:59 +0100)]
tests: add a test for srtp elements

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

7 years agosrtpdec: add stats readonly property, similar to srtpenc
Vincent Penquerc'h [Mon, 3 Oct 2016 08:52:07 +0000 (09:52 +0100)]
srtpdec: add stats readonly property, similar to srtpenc

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

7 years agoplayer: Cache duration and return cached duration
Sebastian Dröge [Mon, 26 Sep 2016 15:01:30 +0000 (18:01 +0300)]
player: Cache duration and return cached duration

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

7 years agobayer: fix stride inconsistencies for odd widths
Tim-Philipp Müller [Fri, 8 Jan 2016 21:41:56 +0000 (21:41 +0000)]
bayer: fix stride inconsistencies for odd widths

Consistently use GST_ROUND_UP_4(width) as stride for
bayer buffers. Bayer data will usually come in widths
that are multiples of 4 anyway, so hopefully this
should not have any adverse impact on anyone in
practice.

Before, bayer2rgb required input buffers to are sized
accordingly, but then didn't actually round up when
calculating row offsets. rgb2bayer didn't use a rounded
stride nor buffer size.

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

7 years agoBack to development
Sebastian Dröge [Tue, 1 Nov 2016 16:53:15 +0000 (18:53 +0200)]
Back to development

7 years agoRelease 1.10.0
Sebastian Dröge [Tue, 1 Nov 2016 15:58:20 +0000 (17:58 +0200)]
Release 1.10.0

7 years agoUpdate .po files
Sebastian Dröge [Tue, 1 Nov 2016 15:51:03 +0000 (17:51 +0200)]
Update .po files

7 years agopo: Update translations
Sebastian Dröge [Tue, 1 Nov 2016 15:42:37 +0000 (17:42 +0200)]
po: Update translations

7 years agodirectsoundsrc: Correctly cast mixer to uintptr
Artem Martynovich [Mon, 31 Oct 2016 13:26:31 +0000 (19:26 +0600)]
directsoundsrc: Correctly cast mixer to uintptr

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

7 years agohlsdemux: don't try to access non-existant iframe variant
Michael Olbrich [Fri, 28 Oct 2016 08:05:20 +0000 (10:05 +0200)]
hlsdemux: don't try to access non-existant iframe variant

If the playlist does not contain any iframe variants then
demux->master->iframe_variants is NULL. If the previous variant is an
iframe variant then there is at least one iframe variant and
demux->master->iframe_variants->data can be safely used.

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

7 years agotimidity: add support for libtimidity-0.2.x
sezero [Sun, 23 Oct 2016 09:02:00 +0000 (12:02 +0300)]
timidity: add support for libtimidity-0.2.x

mid_istream_open_mem() doesn't accept an autofree argument as of
libtimidity >= 0.2.0

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

7 years agodtls: port to OpenSSL 1.1.0
Daiki Ueno [Wed, 26 Oct 2016 12:51:01 +0000 (14:51 +0200)]
dtls: port to OpenSSL 1.1.0

Changes are:

- Use the wrapper functions to access opaque data types.  To preserve
  backward compatibility, define fallback definitions

- Remove the use of idiom "pqueue_size(ssl->d1->sent_messages)", since
  there is no replacement

- Use RSA_generate_key_ex instead of the deprecated RSA_generate_key

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

7 years agorawparse: pass flow returns upstream
Tim-Philipp Müller [Sat, 29 Oct 2016 10:31:28 +0000 (11:31 +0100)]
rawparse: pass flow returns upstream

rawvideoparse wouldn't error out on not-negotiated,
but would just keep on going, because it didn't pass
the flow return value back to the parent class and
thus upstream, so the source wouldnt' stop streaming.

7 years agobuild: Also need to define GST_EXPORTS for Autotools
Nirbheek Chauhan [Fri, 28 Oct 2016 01:47:56 +0000 (07:17 +0530)]
build: Also need to define GST_EXPORTS for Autotools

The change to use GST_EXPORT for symbols under Windows requires
GST_EXPORTS for internal use, and that is also needed under Autotools.
The same thing is done for gstreamer-1.0.dll in -core.

7 years agogstgl: Re-enable WINAPI on _MSC_VER
Nirbheek Chauhan [Fri, 28 Oct 2016 00:53:02 +0000 (06:23 +0530)]
gstgl: Re-enable WINAPI on _MSC_VER

The calling convention may be deprecated, but we still need it for
OpenGL. The build issue was caused by an incorrect syntax being used for
the WINAPI (__stdcall) prototype in function pointers which was accepted
by GCC but is rejected by MSVC.

7 years agoJust remove win32/common/libgstgl.def
Nirbheek Chauhan [Thu, 27 Oct 2016 17:39:38 +0000 (23:09 +0530)]
Just remove win32/common/libgstgl.def

It was always wrong since the symbols being exported in gstgl-1.0.dll
are platform-specific, and the check we do in dist checks it on all
platforms (which usually means Linux) and the list is instead
Linux-specific right now.

Even if we fix that, it can still never be right because it depends on
your configuration even on a specific platform. For instance, when we
start building EGL support on Windows using ANGLE, the symbol list will
change depending on whether that is enabled or not.

We also don't need this anymore since we use GST_EXPORT for all
functions exported on Windows now.

7 years agoplugins: Use explicit type conversion from enums
Nirbheek Chauhan [Thu, 27 Oct 2016 03:55:20 +0000 (09:25 +0530)]
plugins: Use explicit type conversion from enums

MSVC warns about this because it's a C++ compiler, and this actually
results in useful things such as the incorrect 'gboolean' return value
for functions that return GstFlowReturn, so let's do explicit
conversions to reduce the noise and increase its efficacy.

7 years agoExplicitly define float constants as float
Nirbheek Chauhan [Thu, 27 Oct 2016 03:41:26 +0000 (09:11 +0530)]
Explicitly define float constants as float

With MSVC, this gives the following warning:

warning C4305: 'function': truncation from 'double' to 'gfloat'

Apparently, MSVC does not figure out what type to use for constants
based on the assignment. This warning is very spammy, so let's try to
fix it.

7 years agoFix incorrect return type in several functions
Nirbheek Chauhan [Thu, 27 Oct 2016 03:38:41 +0000 (09:08 +0530)]
Fix incorrect return type in several functions

All these should return GstFlowReturn, not gboolean

7 years agomeson: Don't warn about C4146 with MSVC
Nirbheek Chauhan [Thu, 27 Oct 2016 03:36:33 +0000 (09:06 +0530)]
meson: Don't warn about C4146 with MSVC

The error is:

unary minus operator applied to unsigned type, result still unsigned

This is a commonly-done operation in gstreamer and it's done on purpose.
It's just noise.

7 years agogstgl: Add GST_EXPORT to all symbols used on Windows
Nirbheek Chauhan [Thu, 27 Oct 2016 02:47:58 +0000 (08:17 +0530)]
gstgl: Add GST_EXPORT to all symbols used on Windows

This is a requirement for those symbols to be exported in gstgl-1.0.dll
when building with the MSVC compiler

7 years agomeson: Add support for building WGL on Windows
Nirbheek Chauhan [Thu, 27 Oct 2016 01:59:36 +0000 (07:29 +0530)]
meson: Add support for building WGL on Windows

Currently only tested with MSVC.

7 years agoext/gl: Don't define boolean on Windows with MSVC
Nirbheek Chauhan [Thu, 27 Oct 2016 03:40:03 +0000 (09:10 +0530)]
ext/gl: Don't define boolean on Windows with MSVC

The headers we include already define boolean on Windows with MSVC, and
it leads to a typedef redefinition error with jpeglib.h which tries to
redefine it in jmorecfg.h

7 years agogstgl: Porting fixes for MSVC with Meson
Nirbheek Chauhan [Thu, 27 Oct 2016 02:00:19 +0000 (07:30 +0530)]
gstgl: Porting fixes for MSVC with Meson

GL/gl.h needs windows.h on MSVC

WINAPI should not be used with MSVC. It also causes a build error.

7 years agodvb/parsechannels: collapse notes on channel_name encoding conflict
Reynaldo H. Verdejo Pinochet [Mon, 24 Oct 2016 05:13:33 +0000 (22:13 -0700)]
dvb/parsechannels: collapse notes on channel_name encoding conflict

7 years agodvb/parsechannels: rename ZAP parser for clarity
Reynaldo H. Verdejo Pinochet [Mon, 24 Oct 2016 05:00:30 +0000 (22:00 -0700)]
dvb/parsechannels: rename ZAP parser for clarity

This function only does ZAP parsing. Additionally, remove redundant
comment while at it.

7 years agodvb: fix gtk-doc syntax for wrongly formatted comments
Reynaldo H. Verdejo Pinochet [Mon, 24 Oct 2016 04:37:46 +0000 (21:37 -0700)]
dvb: fix gtk-doc syntax for wrongly formatted comments

7 years agomeson: hls: Only build when any crypto_dep is found
Scott D Phillips [Fri, 21 Oct 2016 07:37:03 +0000 (00:37 -0700)]
meson: hls: Only build when any crypto_dep is found

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

7 years agomeson: directsound: Add ole32 library dependency
Scott D Phillips [Fri, 21 Oct 2016 07:39:32 +0000 (00:39 -0700)]
meson: directsound: Add ole32 library dependency

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

7 years agomeson: winscreencap depends on gstvideo
Scott D Phillips [Mon, 17 Oct 2016 16:35:41 +0000 (09:35 -0700)]
meson: winscreencap depends on gstvideo

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

7 years agomeson: Remove gstreamer-check-1.0 dependency
Scott D Phillips [Fri, 21 Oct 2016 07:35:09 +0000 (00:35 -0700)]
meson: Remove gstreamer-check-1.0 dependency

It will later be added under tests/check

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

7 years agoglsyncmeta: don't glFinish() everytime a sync point is set
Matthew Waters [Fri, 21 Oct 2016 02:10:47 +0000 (13:10 +1100)]
glsyncmeta: don't glFinish() everytime a sync point is set

At minimum, we only need to glFlush() if we are in a shared GL context
environment.  Move the glFinish() to when the actual wait is requested
which may be never.  Improves the throughput on older GL systems without
GL3/GLES3 and/or fence sync objects.

7 years agodash: do not use invalid stream duration
Thiago Santos [Sat, 16 Jul 2016 18:29:42 +0000 (15:29 -0300)]
dash: do not use invalid stream duration

If it is is unknown, consider it infinite

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

7 years agodash: properly inherit segmentlist from period
Thiago Santos [Sat, 16 Jul 2016 18:15:21 +0000 (15:15 -0300)]
dash: properly inherit segmentlist from period

Representation can inherit SegmentList from Period if none is available
from the AdaptationSet

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

7 years agomeson: gl: add support for building with dispmanx on the rpi
Matthew Waters [Wed, 19 Oct 2016 05:11:58 +0000 (16:11 +1100)]
meson: gl: add support for building with dispmanx on the rpi

7 years agogl/eglimage: Fix passing the destroy function to gst_egl_image_new_wrapped
Matthew Waters [Tue, 18 Oct 2016 11:29:19 +0000 (22:29 +1100)]
gl/eglimage: Fix passing the destroy function to gst_egl_image_new_wrapped

The function pointer and the user data arguments were swapped in both
uses.

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

7 years agomeson: Add missing gstvideo dep to segmentclip
Nirbheek Chauhan [Tue, 18 Oct 2016 07:31:04 +0000 (13:01 +0530)]
meson: Add missing gstvideo dep to segmentclip

In file included from ../subprojects/gst-plugins-base/gst-libs/gst/video/video.h:27:0,
                 from ../subprojects/gst-plugins-bad/gst/segmentclip/gstvideosegmentclip.c:25:
../subprojects/gst-plugins-base/gst-libs/gst/video/video-format.h:27:39: fatal error: gst/video/video-enumtypes.h: No such file or directory
 #include <gst/video/video-enumtypes.h>
                                       ^
compilation terminated.

https://ci.gstreamer.net/job/GStreamer-master-meson/269/console

7 years agoImplemented gst_video_overlay_set_window_handle()
Munez [Tue, 11 Oct 2016 11:36:23 +0000 (17:06 +0530)]
Implemented gst_video_overlay_set_window_handle()

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

7 years agomeson: gl: fix detection of glx without gl
Matthew Waters [Tue, 18 Oct 2016 03:11:26 +0000 (14:11 +1100)]
meson: gl: fix detection of glx without gl

We need to check for libGL if we may use desktop OpenGL *or* GLX.