Commit graph

2018 commits

Author SHA1 Message Date
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
Tim-Philipp Müller
26b13f16d6 autotools: stop controlling symbol visibility with -export-symbols-regex
Instead, use -fvisibility=hidden and explicit exports via GST_EXPORT.
This should result in consistent behaviour for the autotools and
Meson builds.
2017-11-26 16:25:50 +00:00
Mario Alfredo Carrillo Arevalo
b7dad57e9e opencv: Update version for building plugins
This commit allows to build the OpenCV plugin with OpenCV >= 2.3.0 to < 3.4.0.

https://bugzilla.gnome.org/show_bug.cgi?id=790192
2017-11-23 10:05:39 +02:00
Justin Kim
f78be9d698 srt: Introduce SRT source and sink
SRT[0] is an open source transport technology[1] that optimizes
streaming performance across unpredictable networks.

Although SRT is based on UDP, it works like connection-oriented
protocol. However, it doesn't mean that the SRT server or client
is necessarily to link to a receiver or a sender so, here, the
pairs of source and sink elements are introduced.

 - srtserversink: SRT server to feed SRT stream
 - srtclientsrc:  SRT client to get SRT stream from srtserversink

 - srtclientsink: SRT client to send SRT stream
 - srtserversrc:  SRT server to listen from srtclientsink

[0] https://github.com/Haivision/srt
[1] http://www.srtalliance.org/

https://bugzilla.gnome.org/show_bug.cgi?id=785730
2017-11-07 14:34:48 -05:00
Vivia Nikolaidou
1998ccf1fb Revert "timecodestamper: LTC from audio"
This reverts commit c01afab9f7.

Was not ready to be pushed yet
2017-11-07 21:12:32 +02:00
Georg Lippitsch
c01afab9f7 timecodestamper: LTC from audio
Add support for parsing linear time code from
an audio source using libltc

https://github.com/x42/libltc

The user can now choose between 3 different and independently
running timecode sources. The old override-existing property
has been replaced by timecode-source.

https://bugzilla.gnome.org/show_bug.cgi?id=784295
2017-11-07 16:45:52 +02:00
Sebastian Dröge
62f04e801b msdk: Allow building against mfx_dispatcher
E.g. from https://github.com/lu-zero/mfx_dispatch
2017-10-30 18:20:23 +02:00
Florent Thiéry
ee2d4c955f configure.ac: fix fdk-aac version check
https://bugzilla.gnome.org/show_bug.cgi?id=789471
2017-10-25 16:26:24 +02:00
Jan Alexander Steffens (heftig)
e5977b8794 openjpeg: Remove compatibility with openjpeg 2.0
Everyone seems to be shipping 2.1 as the oldest v2 version, even debian
oldstable (jessie).

Also remove an unneeded (debug?) #include <stdio.h>.

https://bugzilla.gnome.org/show_bug.cgi?id=788703
2017-10-20 12:27:30 +02:00
Jan Alexander Steffens (heftig)
bff2d834a4 openjpeg: Support building with openjpeg 2.3, simpler
OpenJPEG 2.3 installs its headers to /usr/include/openjpeg-2.3. However,
since libopenjp2.pc seems to provide the right includedir CFLAGS at
least since version 2.1, instead of adding yet another version check,
just remove the subdir and the check for 2.2.

https://bugzilla.gnome.org/show_bug.cgi?id=788703
2017-10-20 12:27:30 +02:00
Jan Alexander Steffens (heftig)
d1cbeb4fe7 Revert "openjpeg: Support building with openjpeg 2.3"
This reverts commit ef4d6b93e6.

A better fix follows.

https://bugzilla.gnome.org/show_bug.cgi?id=788703
2017-10-20 12:27:30 +02:00
Andreas Frisch
07d6b7f56d lcms: Add LCMS ICC color correction element
https://bugzilla.gnome.org/show_bug.cgi?id=765927
2017-10-19 16:46:24 +02:00
Thibault Saunier
ef4d6b93e6 openjpeg: Support building with openjpeg 2.3
And avoid failling the build each time openjpeg releases a new version.
2017-10-16 11:05:12 +02: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
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
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
Clemens Lang
15f24fef53 openjpeg: Fix build against openjpeg 2.2
OpenJPEG 2.2 has some API changes and thus ships its headers in a new
include path. Add a configure check (to both meson and autoconf) to
detect the newer version of OpenJPEG and add conditional includes.

Fix the autoconf test for OpenJPEG 2.1, which checked for HAVE_OPENJPEG,
which was always set even for 2.0.

https://bugzilla.gnome.org/show_bug.cgi?id=786250
2017-08-14 10:25:07 +03:00
George Kiagiadakis
30f5abc32c ipcpipeline: move to sys/ and make it dependent on platform support for unix sockets 2017-08-02 10:40:24 +03:00
George Kiagiadakis
e97877dc7e tests/examples: add manual tests/examples for the ipcpipeline elements
ipcpipeline1 is a very simple test that shows a short videotestsrc fragment.

ipc-play is a clone of gst-play that splits the pipeline in two
processes, running the source & demuxer on the master process
and the decoders & sinks on the slave.
2017-08-01 14:43:06 +03:00
George Kiagiadakis
3089d142b0 ipcpipeline: introduce new plugin for inter-process pipelines
These elements allow splitting a pipeline across several processes,
with communication done by the ipcpipelinesink and ipcpipelinesrc
elements. The main use case is to split a playback pipeline into
a process that runs networking, parser & demuxer and another process
that runs the decoder & sink, for security reasons.

https://bugzilla.gnome.org/show_bug.cgi?id=752214
2017-08-01 14:42:53 +03:00
Nirbheek Chauhan
a163dff91d decklink: Fix building with MSYS2's MinGW
Reported and tested by Philippe Renon.

https://bugzilla.gnome.org/show_bug.cgi?id=784943
2017-07-20 19:18:28 +05:30
Nirbheek Chauhan
528ae2c15d decklink: Add autotools support on Windows
Also add a missing windows file to EXTRA_DIST

https://bugzilla.gnome.org/show_bug.cgi?id=784943
2017-07-14 17:21:13 +05:30
Per-Erik Brodin
ab9d87f168 nvdec: New plugin for NVIDIA hardware video decode
https://bugzilla.gnome.org/show_bug.cgi?id=781537
2017-06-27 08:59:59 +03:00
Jan Schmidt
4f7b077737 configure: Add --with-moc/uic/rcc options
For cross-compiling, it's easier to be able to specify the
actual paths to the tools
2017-06-22 01:01:40 +10:00
Tim-Philipp Müller
c402496916 Require wildmidi >= 0.4
https://bugzilla.gnome.org/show_bug.cgi?id=768576
2017-05-23 09:58:08 +01:00
Carlos Rafael Giani
e7a5fdfde4 openmpt: Add openmptdec element
https://bugzilla.gnome.org/show_bug.cgi?id=768576
2017-05-22 16:34:05 +02:00
Haihua Hu
ea2959bd88 qml: Add EGL platform support for x11 backend
Add support for EGL platform when x11 is available. This can work
e.g. on imx6 platform.

https://bugzilla.gnome.org/show_bug.cgi?id=782718
2017-05-17 10:33:48 +03:00
Nicolas Dufresne
4261692187 Remove plugin specific static build option
Static and dynamic plugins now have the same interface. The standard
--enable-static/--enable-shared toggle are sufficient.
2017-05-16 14:05:52 -04:00
Jens Georg
791e7522eb build: Check for GLES3/gl3ext.h existence
Some OpenGL drivers do not ship this but use GLES2/gl2ext.h instead.
This is also in line with Khronos's recommendations

https://bugzilla.gnome.org/show_bug.cgi?id=781885
2017-05-11 20:05:14 +10:00
Sebastian Dröge
09fe080e6a Back to development 2017-05-04 18:59:14 +03:00
Sebastian Dröge
da5b0d7ad3 Release 1.12.0 2017-05-04 15:39:05 +03:00
Josep Torra
367b4a353f qtkit: drop the qtkitvideosrc element
The QTKit framework had been deprecated for long in favour of AVFundation
framework and we already have avfvideosrc that provides the same
functionality.

https://bugzilla.gnome.org/show_bug.cgi?id=782078
2017-05-03 13:21:42 +02:00
Sebastian Dröge
b73339d751 Release 1.11.91 2017-04-27 17:30:38 +03:00
Ole André Vadla Ravnås
b721a47a50 nvenc: Add support for the Cuda 8.0 SDK
https://bugzilla.gnome.org/show_bug.cgi?id=781410
2017-04-19 11:51:52 +01:00
Tim-Philipp Müller
5b458bf829 ttml: build, but don't autoplug unless GST_TTML_AUTOPLUG env var is set
Don't hide build behind --enable-experimental. Our goal is to not
autoplug it for now, so let's just always build it if the dependencies
are there and hide autoplugging enablement behind an env var.
2017-04-13 11:33:41 +01:00
Fabian Orccon
456153cec9 faceoverlay: Port to GStreamer 1.x
https://bugzilla.gnome.org/show_bug.cgi?id=764011
2017-04-11 11:22:01 +03:00
Fabian Orccon
d4797e4455 faceoverlay: Revert deletion
https://bugzilla.gnome.org/show_bug.cgi?id=764011
2017-04-11 11:22:01 +03:00
Sebastian Dröge
75acc1afad Release 1.11.90 2017-04-07 16:32:24 +03:00
Sebastian Dröge
ed1e4c16fb glupload: Add support for Vivante DirectTexture uploads
Together with the upcoming gstreamer-imx patch, this allows zerocopy
between imxvpudec and other elements and glimagesink.

This is losely based on a patch by Haihua Hu <b55597@freescale.com>
from https://github.com/Freescale/meta-freescale/blob/master/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/

https://bugzilla.gnome.org/show_bug.cgi?id=779067
2017-02-27 10:42:05 +02:00
Sebastian Dröge
5cdf3a3976 allocators: Add GstPhysMemoryAllocator abstraction
This can be used in a generic way as common interface by all platforms that,
in one way or another, pass around physical memory addresses.

https://bugzilla.gnome.org/show_bug.cgi?id=779067
2017-02-27 10:42:05 +02:00
Sebastian Dröge
2132ba9a94 qml: Add support for Vivante EGL FS windowing system
https://bugzilla.gnome.org/show_bug.cgi?id=778825
2017-02-27 10:42:05 +02:00
Sebastian Dröge
e9327d4928 gl: Add support for Vivante EGL FB windowing system
This is very similar to how dispmanx on the Raspberry Pi works.

Based on a patch by Haihua Hu <b55597@freescale.com> from
https://github.com/Freescale/meta-freescale/tree/master/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad

https://bugzilla.gnome.org/show_bug.cgi?id=778825
2017-02-27 10:42:05 +02:00
Sebastian Dröge
3e8aba8fba Back to development 2017-02-24 15:37:40 +02:00
Sebastian Dröge
6083c9cf5c Release 1.11.2 2017-02-24 15:07:38 +02:00
Vivia Nikolaidou
fa47edf846 audiomixmatrix: New element that mixes audio channels
This element transforms a given number of input channels into a given number of
output channels according to a given transformation matrix. The matrix
coefficients must be between -1 and 1. In the auto mode, input/output channels
are automatically negotiated and the transformation matrix is a truncated or
zero-padded identity matrix.

https://bugzilla.gnome.org/show_bug.cgi?id=777376
2017-02-23 21:02:44 +02:00
Sebastian Dröge
0c902ff249 configure: Remove unused Mali EGL/fbdev_window support
This existed a long time ago but there's no actual code for this
anymore.
2017-02-16 20:09:40 +02:00
Nicola Murino
9b778f7264 opencv: allow compilation against 3.2.0
https://bugzilla.gnome.org/show_bug.cgi?id=778142
2017-02-05 11:44:06 +00:00
Lars Wendler
a68f961908 iqa: Move AM_CONDITIONAL(HAVE_DSSIM) outside of the iqa check block
or else configure fails with

  error: conditional "HAVE_DSSIM" was never defined.

when iqa is not installed.

https://bugzilla.gnome.org/show_bug.cgi?id=777652
2017-01-23 18:04:34 +02:00
Stefan Sauer
d847812d57 fdk-aac: fix version number
As pointed out on irc, the version was menat to be 0.1.4.
2017-01-20 16:44:42 +01:00
Sebastian Dröge
8120848478 Back to development 2017-01-12 16:32:49 +02:00
Sebastian Dröge
47847a4d5d opencv: Fix build with OpenCV < 3
We only need the opencv2/bgsegm.hpp header for OpenCV >= 3 and have
compat code for older versions.
2017-01-12 16:03:27 +02:00
Sebastian Dröge
ce9c82af47 Release 1.11.1 2017-01-12 15:39:06 +02:00
Matthew Waters
6d17a4133b gl/pkg-config: add the configured platform/api/winsys
Allows users to query this from pkg-config instead of requiring them to
compile mini programs checking defines in gstglconfig.h
2017-01-10 13:57:37 +11:00
Stepan Salenikovich
db7f8ec3b9 configure: improve QPA check for cross compilation
Prefix the $QPA_INCLUDE_PATH with $PKG_CONFIG_SYSROOT_DIR just
like when checking for opencv dir.

https://bugzilla.gnome.org/show_bug.cgi?id=776399
2016-12-23 12:13:40 +02:00
Sebastian Dröge
243829098c configure: Remove left-over file 2016-12-21 13:31:18 +02:00
Sebastian Dröge
9b5de05399 Remove various unported plugins
If they were not ported after 4+ years it seems unlikely that anybody is
ever going to need them again. They're still in the GIT history if
needed.

https://bugzilla.gnome.org/show_bug.cgi?id=774530
2016-12-21 11:17:11 +02:00
Tim-Philipp Müller
936995ba8d win32: remove generation of pre-made config.h for msvc builds
This is no longer needed with the Meson build.
2016-12-16 19:16:10 +00:00
Tim-Philipp Müller
ebe8ff3ac1 Remove generated .spec file
Likely extremely bitrotten, and we should not ship this anyway.
2016-12-16 17:22:29 +00:00
Stefan Sauer
f149f6bc0e fdkaac: fix the build for older fdkaac versions
Support for 7.1 was added in 0.1.14.
2016-12-07 16:08:41 +01:00
Philippe Renon
bf11338d6f opencv: check presence of required opencv_contrib headers
https://bugzilla.gnome.org/show_bug.cgi?id=772822
2016-11-29 21:26:19 -05:00
Tim-Philipp Müller
de4bb6e1d4 dataurisrc: remove plugin, moved to core
https://bugzilla.gnome.org/show_bug.cgi?id=774527
2016-11-28 11:26:50 +00:00
Sebastian Dröge
0acb3d87bb audiobuffersplit: New element that splits raw audio buffers into equal-sized buffers
This is useful e.g. if audio buffers should be exactly the duration of a
video frame, or if a audio buffers should never be too large because of
latency constraints.

The element is taking a fractional buffer duration, to allow working
with e.g. 1001/30000 as output duration and it accumulates rounding
errors in the buffer durations and compensates for them by making some
buffers one sample larger than the others.

https://bugzilla.gnome.org/show_bug.cgi?id=774689
2016-11-23 18:18:46 +02:00
Michael Tretter
12e82aac28 kmssink: remove dependency on libkms
libkms should not be used, because it imposes limitations on the DRM
API, especially regarding bpp and stride. Instead the DRM IOCTL should
be used directly.

Switch from libkms to the IOCTL interface. Set bpp and height for
framebuffer allocation to properly handle planar video formats.

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

Signed-off-by: Víctor Jáquez <vjaquez@igalia.com>
2016-11-23 16:43:28 +01:00
Tim-Philipp Müller
ad661999ad mimic: remove ancient codec
This was used by MSN messenger in prehistoric times, it's safe
to say no one needs or wants this any more these days. For
decoding old recordings there's still a decoder in ffmpeg.

https://bugzilla.gnome.org/show_bug.cgi?id=597616
2016-11-23 10:33:37 +00:00
Reynaldo H. Verdejo Pinochet
7c64ea4832 wayland: avoid prefix clash in combined pkg-config check
Adittionally, remove leftover WAYLAND_DRM_ include flags var

Fixes building of ext/wayland/* broken by dfd86de67a

Related to:

https://bugzilla.gnome.org/show_bug.cgi?id=773927
2016-11-18 10:41:16 -08:00
Thibault Saunier
ca3020cf46 videomeasure: Remove old unported videomeasure plugin as it is now replaced by IQA 2016-11-17 13:25:40 -03:00
Mathieu Duponchelle
087d9bc376 Adds a new Image Quality Assessment plugin.
It only offers one metric for now, "dssim", available if
https://github.com/pornel/dssim was installed on the system
at the time the plugin was compiled.

The spearman correlation for dssim against the TID2008 dataset
is 0.81, against 0.70 for the old ssim implementation, and
it runs 15 times faster.

https://bugzilla.gnome.org/show_bug.cgi?id=751324
2016-11-17 13:25:33 -03:00
Sebastian Dröge
c7192f0450 ttml: Hide behind --enable-experimental
The elements are autoplugged and currently assert on invalid streams.
2016-11-16 18:50:53 +02:00
Luis de Bethencourt
dfd86de67a configure: fix build if wayland-client is not available
Simplify the PKG_CHECK_MODULES related to Wayland to avoid the confusion
of NOT_FOUND cases when there are 3 nested checks. Group those 3 checks
together since there are no conditions specific to each one.

Thanks to https://ci.gstreamer.net/ for alerting of the problem.

https://bugzilla.gnome.org/show_bug.cgi?id=773927
2016-11-15 18:53:20 +01:00
Luis de Bethencourt
2132b6b452 configure: fix build if libdrm is not available
If the NOT_FOUND part of the check PKG_CHECK_MODULES is not written, it
defaults to error. Addind the else clause of this check as
HAVE_WAYLAND="no"

https://bugzilla.gnome.org/show_bug.cgi?id=773927
2016-11-15 16:01:22 +01:00
Philippe Renon
5594c7e53e opencv: move base opencv filter class and utilities to gst-libs
https://bugzilla.gnome.org/show_bug.cgi?id=774223
2016-11-14 18:25:57 +00:00
Scott D Phillips
22551a42cc msdk: add to build
https://bugzilla.gnome.org/show_bug.cgi?id=770990
2016-11-14 15:17:01 +01:00
Matthew Waters
4f6c226bd2 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.
2016-11-08 15:14:26 +11:00
Tim-Philipp Müller
bdcc9d1704 kms: rename variable used
Since this includes kms.
2016-11-04 09:27:06 +00:00
Tim-Philipp Müller
9229e34a6b wayland: include drm_fourcc.h properly and fix build 2016-11-04 09:21:59 +00:00
Luis de Bethencourt
81d1b207ad 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.
2016-11-03 17:44:33 +00:00
Chris Bass
d82ae6949f 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
2016-11-01 20:46:46 +02:00
Sebastian Dröge
9e6f39fdc7 Back to development 2016-11-01 18:53:15 +02:00
Sebastian Dröge
f2df164f88 Release 1.10.0 2016-11-01 17:58:20 +02:00
Sebastian Dröge
72b7677914 Release 1.9.90 2016-09-30 13:02:55 +03:00
Tim-Philipp Müller
b6a85dc45b configure: fix --disable-external
conditional "USE_VULKAN" was never defined
2016-09-19 10:18:22 +01:00
Scott D Phillips
a5ead086f9 wayland: Update from scaler to viewporter protocol
Signed-off-by: Scott D Phillips <scott.d.phillips@intel.com>

https://bugzilla.gnome.org/show_bug.cgi?id=767671
2016-09-15 12:10:59 -04:00
Sebastian Dröge
3f44aea2e1 configure: Depend on gstreamer 1.9.2.1 2016-09-14 11:30:54 +02:00
Víctor Manuel Jáquez Leal
fa4786a401 kmssink: update libdrm dependency to 2.4.55
The latest libdrm feature supported by kmssink is the universal plane, which
was added in 2.4.55. Let's update the dependency to that version.

https://bugzilla.gnome.org/show_bug.cgi?id=770146
2016-09-14 10:39:51 +02:00
Matthew Waters
f3b0b22c48 build/vulkan: fix winsys detection based on the previously set variables
The X11/Wayland winsys checks weren't being used to enable the vulkan element.
Use them.
2016-09-07 00:15:02 +10:00
Sebastian Dröge
42e1dcac00 Back to development 2016-09-01 12:28:22 +03:00
Sebastian Dröge
e19307edfe Release 1.9.2 2016-09-01 12:27:59 +03:00
Sebastian Dröge
807b0322c5 applemedia: Conditionally compile qtkitvideosrc
The API was deprecated in 10.9 and apparently does not exist in the SDK for
macOS Sierra anymore.

https://bugzilla.gnome.org/show_bug.cgi?id=770587
2016-08-31 10:03:15 +03:00
Josep Torra
0208168952 build: unconditionally check for video, audio and pbutils modules
Check for modules in configure and use GST_*_LIBS vars to link with
the libraries instead of hardcoding them.
2016-08-25 16:27:41 +02:00
Tim-Philipp Müller
c8321a3173 applemedia-nonpublic: remove bitrotten plugin that's no longer needed 2016-08-19 11:02:46 +01:00
Matthew Waters
c42eb9932e build: bump graphene requirement to 1.4 2016-08-19 17:11:13 +10:00
Matthew Waters
2b6841da32 gl/build: add configure check for possibly missing EGLAttrib
Fixes the build on older android targets.
2016-08-16 16:51:02 +10:00
Tim-Philipp Müller
31fffdad10 fdkaac: actually build and dist 2016-08-07 20:53:30 +01:00
Sebastian Dröge
24501c6358 fdkaac: Initial plugin skeleton 2016-08-07 15:31:09 +03:00
Vivia Nikolaidou
a2c6e2b64a timecodestamper: New element to attach SMPTE timecode to buffers
The timecodestamper element attaches a SMPTE timecode to each video buffer.
This timecode corresponds to the current stream time.

https://bugzilla.gnome.org/show_bug.cgi?id=766419
2016-08-04 19:08:27 +03:00
Matthew Waters
2ae16c2f68 gl/build: fix configure when --enable-cocoa is passed on OS X
https://bugzilla.gnome.org/show_bug.cgi?id=768553
2016-07-11 11:29:07 +10:00
Stefan Sauer
13d963fbf0 lv2: keep working with older versions
Provide a fallback impl. for the only new function we were using from 0.22.
Fixes #768595
2016-07-10 20:44:19 +02:00
Nicolas Dufresne
c57d4f3e5e configure.ac: Cleanup unused variable
We only check for a header, no need for overriding LDFLAGS.
2016-07-07 13:22:47 -04:00
Nicolas Dufresne
4d6a21926e webrtcdsp: Relax C++11 check
The library does not require any STL C++11 specific headers.
This fixes our OSX build as we target a SDK version that does not
support C++11 STL.
2016-07-07 12:31:20 -04:00
Nicolas Dufresne
928dcd93ef webrtcdsp: Add Android GNUSTL support 2016-07-07 12:31:03 -04:00