Nicolas Dufresne [Mon, 11 Sep 2017 20:32:15 +0000 (16:32 -0400)]
kmsbufferpool: Removed unused member fd
https://bugzilla.gnome.org/show_bug.cgi?id=787593
Nicolas Dufresne [Mon, 11 Sep 2017 19:00:53 +0000 (15:00 -0400)]
kmssink: Check if we can prime export
This will be used later to decide if a DMABuf allocator should be
exposed.
https://bugzilla.gnome.org/show_bug.cgi?id=787593
Stefan Sauer [Thu, 5 Oct 2017 15:54:34 +0000 (17:54 +0200)]
audioaggregator: remove buffer!=NULL check
Acording to the logic this cannot happen (we already check this before). So
add a assert like we do above and remove the check. This make it clearer that
we check for the offset range.
Also remove a dead assignment since we reassign this a few lines below.
Stefan Sauer [Thu, 5 Oct 2017 15:52:37 +0000 (17:52 +0200)]
audioaggreator: update docs
Remove wrote references to collectpads. Document the units.
Havard Graff [Wed, 4 Oct 2017 12:29:20 +0000 (14:29 +0200)]
meson: remove vs_module_defs
The GST_EXPORT should handle it.
Rico Tzschichholz [Thu, 5 Oct 2017 12:30:43 +0000 (14:30 +0200)]
meson: Fix namespace and add some missing args in the gir generation
Stefan Sauer [Thu, 5 Oct 2017 06:11:29 +0000 (08:11 +0200)]
audioaggregator: pass blocksize to mix_buffer()
No need to recalc the value twice per run. Establishes that it is the same
value.
Stefan Sauer [Thu, 5 Oct 2017 06:12:45 +0000 (08:12 +0200)]
audioaggregator: rename _fill_buffer() to _queue_new_buffer()
It does not fill a buffer. Rename it and add a short comment.
Stefan Sauer [Tue, 3 Oct 2017 10:36:10 +0000 (12:36 +0200)]
aggregator: cleanup event forwarding
Don't copy the whole event struct. Set the input params when we call the
forwarding helper. Initialize the internal fields and return values in the
helper.
Stefan Sauer [Tue, 3 Oct 2017 10:08:42 +0000 (12:08 +0200)]
aggregator: simplify src_event
Avoid extra ref/unref, we have a ref and do_seek unrefs. Just return the result
as we have. This lets us remove the local var plus the label.
Nicolas Dufresne [Wed, 4 Oct 2017 14:00:48 +0000 (10:00 -0400)]
meson: Define GST_USE_UNSTABLE_API in the build system
This way meson and autotools both do the same thing and we don't need to
modify the code after all.
Reynaldo H. Verdejo Pinochet [Tue, 3 Oct 2017 22:26:34 +0000 (15:26 -0700)]
Fix autotools build broken by
25dee2f2cb21d3fdd
Build fails on GST_USE_UNSTABLE_API being redefined
Reynaldo H. Verdejo Pinochet [Mon, 2 Oct 2017 21:28:26 +0000 (14:28 -0700)]
Use proper GtkDoc notation for NULL/FALSE/TRUE
Reynaldo H. Verdejo Pinochet [Tue, 26 Sep 2017 23:46:10 +0000 (16:46 -0700)]
adaptivedemux: fix typos
Nicolas Dufresne [Tue, 3 Oct 2017 21:16:15 +0000 (17:16 -0400)]
meson: Build tsparser example
Nicolas Dufresne [Tue, 3 Oct 2017 21:14:53 +0000 (17:14 -0400)]
tsparses: Define GST_USE_UNSTABLE_API
This example is entirely based on unstable API, this avoids the expected
compilation warning.
Cassandra Rommel [Mon, 2 Oct 2017 19:35:48 +0000 (12:35 -0700)]
gl: Use GstGLDisplayEGL directly instead of creating a GstGLDisplayVIVFb subclass
This simplifies the code a lot without any functional changes apart from
not closing the display connection. Closing the display connection is
not safe to do as it is shared between all other code in the same
process and no reference counting or anything happens at the platform
layer.
Stefan Sauer [Mon, 2 Oct 2017 14:57:21 +0000 (16:57 +0200)]
audioaggregator: reduce variable scope
This is a non-functional change that makes the code more alike to the previous
check. I should be more obvious when we drop a buffer.
Stefan Sauer [Mon, 2 Oct 2017 07:40:50 +0000 (09:40 +0200)]
audioaggregator: update comment for aggregate
Replace collect-pads left-over. Remove first paragraph, we're not doing this.
Remove 3), 4) since this is not per pad.
Justin Kim [Mon, 2 Oct 2017 07:22:26 +0000 (16:22 +0900)]
glcontext_egl: Add gstglwindow header
Otherwise, compiler complains implicit function declaration warning.
https://bugzilla.gnome.org/show_bug.cgi?id=788413
Sebastian Dröge [Tue, 12 Sep 2017 13:43:26 +0000 (16:43 +0300)]
audiobuffersplit: Drain pending samples if the caps are changing
https://bugzilla.gnome.org/show_bug.cgi?id=787560
Sebastian Dröge [Tue, 12 Sep 2017 13:41:18 +0000 (16:41 +0300)]
audiobuffersplit: Use new GstAudioStreamAlign API
https://bugzilla.gnome.org/show_bug.cgi?id=787560
Ponnam Srinivas [Thu, 28 Sep 2017 10:50:53 +0000 (16:20 +0530)]
glfilter: Unmap video frame in error case
https://bugzilla.gnome.org/show_bug.cgi?id=788194
Sebastian Dröge [Thu, 28 Sep 2017 10:55:18 +0000 (13:55 +0300)]
decklinkaudio/videosrc: Put hardware reference timestamp in a reference timestamp meta
This can be useful to know on multi-channel cards which frames from
different channels were captured at the same time.
Ponnam Srinivas [Mon, 25 Sep 2017 11:50:58 +0000 (17:20 +0530)]
glmixer: Unmap video frame in error case
https://bugzilla.gnome.org/show_bug.cgi?id=788127
Ponnam Srinivas [Thu, 21 Sep 2017 12:43:19 +0000 (18:13 +0530)]
webpenc: Unmap video frame in failed case
https://bugzilla.gnome.org/show_bug.cgi?id=787985
James Stevenson [Fri, 22 Sep 2017 07:10:44 +0000 (08:10 +0100)]
autoconvert: Fix two memory leaks on error conditions
Both the sink_chain and sink_chain_list will neither pass
or free the buffer if the internal src pad doesn't exist yet.
https://bugzilla.gnome.org/show_bug.cgi?id=788035
Sebastian Dröge [Thu, 21 Sep 2017 11:40:06 +0000 (14:40 +0300)]
decklink: Free the correct memory in our own buffer pool
The buffer itself is 128 bytes into the allocated memory area, to be
able to store the size and other metadata before it. Freeing the buffer
directly will make malloc moderately unhappy.
George Kiagiadakis [Thu, 21 Sep 2017 08:46:22 +0000 (11:46 +0300)]
tests/check: disable all ipcpipeline tests until I find a way to make them run reliably
Haihua Hu [Wed, 20 Sep 2017 12:00:03 +0000 (20:00 +0800)]
glvidemixer: need reconfigure output gemotry after caps renegotiated
Matthew Waters [Thu, 21 Sep 2017 01:59:22 +0000 (11:59 +1000)]
Revert "glvideomixer: need update output geometry after src caps reconfigure"
This reverts commit
d6e538dc5651fb03c85d7c7614bcf6c689f2db2f.
Haihua Hu [Mon, 18 Sep 2017 07:42:00 +0000 (15:42 +0800)]
glvideomixer: need update output geometry after src caps reconfigure
Need update output geometry when sink caps changed and use
gst_structure_set to update caps if structure is fixed
https://bugzilla.gnome.org/show_bug.cgi?id=787820
Chris Bass [Tue, 19 Sep 2017 14:37:42 +0000 (15:37 +0100)]
ttmlparse: Ensure default showBackground behaviour is enacted
Ensure that region backgrounds are always show when tts:showBackground
is not explicitly set, in accordance with the default behavour given in
the TTML spec.
https://bugzilla.gnome.org/show_bug.cgi?id=787942
Per-Erik Brodin [Wed, 20 Sep 2017 00:18:48 +0000 (17:18 -0700)]
nvdec: Correctly set the discontinuity flag
Instead of clearing the "valid timestamp" flag, which would result in a
timestamp mismatch after a discontinuity.
https://bugzilla.gnome.org/show_bug.cgi?id=787926
Haihua Hu [Mon, 11 Sep 2017 08:00:24 +0000 (16:00 +0800)]
gl/viv-fb: transform screen coordinate to viewport coordinate
In y direction, screen coordinate are opposite to viewport coordinate.
https://bugzilla.gnome.org/show_bug.cgi?id=787394
Haihua Hu [Mon, 11 Sep 2017 07:12:53 +0000 (15:12 +0800)]
gl/viv-fb: fix wrong pos (x,y) calculate in queue_resize
queue_resize viewport coordinate calculate is wrong and
force queue_resize when do _set_render_rectangle in case
user input pos changed
https://bugzilla.gnome.org/show_bug.cgi?id=787394
Haihua Hu [Mon, 11 Sep 2017 08:11:19 +0000 (16:11 +0800)]
glimagesink: expose should do redisplay all the time
when using internal window, window resize should work
when pause state, but expose only do redisplay when
window_id is valid. So expose should do redisplay all
the time.
https://bugzilla.gnome.org/show_bug.cgi?id=787394
Stefan Sauer [Mon, 18 Sep 2017 04:05:03 +0000 (21:05 -0700)]
audioaggregator: fix typo in comment
Stefan Sauer [Sun, 17 Sep 2017 19:37:03 +0000 (12:37 -0700)]
aggregator: register func for do_events_and_queries
This fixes logging the func ptr from _iterate_sinkpads().
Stefan Sauer [Sun, 17 Sep 2017 19:30:37 +0000 (12:30 -0700)]
aggregator: only set clipped_buffer to NULL if needed
Stefan Sauer [Sun, 17 Sep 2017 19:25:37 +0000 (12:25 -0700)]
aggregator: rename check_events
This function also handles queries. Update the code to loop until all events and
queuries are handled.
Stefan Sauer [Sun, 17 Sep 2017 19:24:54 +0000 (12:24 -0700)]
aggregator: add a few more comments to PadPrivate struct
Stefan Sauer [Sun, 17 Sep 2017 18:39:12 +0000 (11:39 -0700)]
aggregator: rename buffers field to data
The queue stores buffers, events and queries.
Stefan Sauer [Sun, 17 Sep 2017 17:18:56 +0000 (10:18 -0700)]
aggregator: documentaion fixes
Fix typos and remove params docs, where the param was moved.
Stefan Sauer [Sun, 10 Sep 2017 18:55:07 +0000 (20:55 +0200)]
tests: simplify audiomixer test
Use _link_many() and reuse a helper to reduce the test code.
Tim-Philipp Müller [Fri, 15 Sep 2017 19:34:28 +0000 (20:34 +0100)]
mssdemux: fix caps leak in error code path
https://bugzilla.gnome.org/show_bug.cgi?id=787736
Philippe Renon [Fri, 15 Sep 2017 13:04:02 +0000 (15:04 +0200)]
player: introduce helper method to remove seek source
this incidentally fixes a missing g_source_destroy() call in _main()
https://bugzilla.gnome.org/show_bug.cgi?id=787727
Philippe Renon [Fri, 15 Sep 2017 12:58:56 +0000 (14:58 +0200)]
player: remove duplicate state_ret check in play internal
https://bugzilla.gnome.org/show_bug.cgi?id=787727
Jochen Henneberg [Wed, 6 Sep 2017 07:59:56 +0000 (07:59 +0000)]
qmlglsink: Expose itemInitialized as property
Instead of just signalling when ready exposing the state
as a property allows us to bind at any time if player is
loaded async.
Nicolas Dufresne [Fri, 8 Sep 2017 14:16:12 +0000 (10:16 -0400)]
kmssink: Don't leak the dumb buffer on drain
Nicolas Dufresne [Fri, 8 Sep 2017 13:28:19 +0000 (09:28 -0400)]
kmssink: Don't assume buffer pool won't touch buf pointer
Just for extra safety, let's not assume that gst_buffer_pool_acquire()
won't ever touch the buf pointer.
Guillaume Desmottes [Fri, 8 Sep 2017 12:57:06 +0000 (14:57 +0200)]
kms: fix crash if bo allocation failed when copying to dumb buffer
If bo allocation failed we destroy the buffer and return GST_FLOW_ERROR,
but the @buffer pointer was still pointing to the address of the
destroyed buffer. gst_kms_sink_copy_to_dumb_buffer() was then trying to
unref it when bailing out causing a crash.
Leave @buffer untouched if allocation failed to fix the crash.
Also remove the check on *buffer being not NULL as gst_buffer_new()
will abort if it failed.
https://bugzilla.gnome.org/show_bug.cgi?id=787442
Tim-Philipp Müller [Thu, 7 Sep 2017 08:39:13 +0000 (09:39 +0100)]
qt: fix build with qmake
Move the package defines for GST_PLUGIN_DEFINE from the
command line into the source file to avoid quoting issues
(-DPACKAGE_NAME="foo" means the quotes won't actually make
it to the compiler and then it no longer gets a string constant).
Thibault Saunier [Wed, 6 Sep 2017 19:04:49 +0000 (16:04 -0300)]
dfbvideosink: Pass the VideoInfo to gst_video_info_from_caps
Fixing the build
Nicolas Dufresne [Tue, 5 Sep 2017 20:20:44 +0000 (16:20 -0400)]
Request minimum buffer even if need_pool is FALSE
When tee is used, it will not request a pool, but still it wants to
know how many buffers are required.
https://bugzilla.gnome.org/show_bug.cgi?id=730758
George Kiagiadakis [Tue, 5 Sep 2017 12:07:03 +0000 (15:07 +0300)]
hlsdemux: fix compilation with OpenSSL 1.1.0
OpenSSL 1.1.0 no longer allows stack-allocated structures;
it hides the implementation behind typedefs
https://bugzilla.gnome.org/show_bug.cgi?id=787309
Edward Hervey [Tue, 5 Sep 2017 12:26:52 +0000 (14:26 +0200)]
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)
Matthew Waters [Thu, 31 Aug 2017 08:56:37 +0000 (18:56 +1000)]
amc: actually use the provided application class loader
For the camera and sensor
Fixes a couple of ClassNotFound java exceptions when initializing GStreamer
off the main thread.
Matthew Waters [Tue, 5 Sep 2017 06:14:02 +0000 (16:14 +1000)]
gl/wayland: call eglTerminate() before wl_display_disconnect()
Calling these two functions in the wrong order will result in
use-after-free inside wayland.
https://bugzilla.gnome.org/show_bug.cgi?id=787293
Matthew Waters [Fri, 1 Sep 2017 05:00:12 +0000 (15:00 +1000)]
gtkglsink: expose the created display and context correctly
1. Propagate the GstGLDisplay we create
2. Add the created GstGLContext to the propagated GstGLDisplay
Otherwise with multi-branch GL pipelines involving gtkglsink, things
will fall apart and errors will be genarated somewhere.
Sebastian Dröge [Tue, 5 Sep 2017 07:56:12 +0000 (10:56 +0300)]
sbcenc: Fix typo in docs
Edward Hervey [Tue, 5 Sep 2017 07:51:41 +0000 (09:51 +0200)]
plugin: Rename libde265 to de265 for consistency
And avoids it being blacklisted
George Kiagiadakis [Mon, 4 Sep 2017 13:13:41 +0000 (16:13 +0300)]
examples: Makefile.am: add ipcpipeline in SUBDIRS if enabled
George Kiagiadakis [Mon, 4 Sep 2017 13:00:02 +0000 (16:00 +0300)]
ipcpipeline: cleanup header includes
We are only using read(), write(), memcpy(), strlen() and errno
in ipcpipelinecomm.c. Everything else is glib/gstreamer.
George Kiagiadakis [Mon, 4 Sep 2017 12:52:03 +0000 (15:52 +0300)]
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
George Kiagiadakis [Mon, 4 Sep 2017 07:39:58 +0000 (10:39 +0300)]
examples: ipcpipeline: get rid of yet another use of SOCK_NONBLOCK
https://bugzilla.gnome.org/show_bug.cgi?id=786763
Nicola Murino [Mon, 4 Sep 2017 06:30:58 +0000 (08:30 +0200)]
opencv: allow compilation against 3.3.0
https://bugzilla.gnome.org/show_bug.cgi?id=787234
Edward Hervey [Fri, 1 Sep 2017 13:56:04 +0000 (15:56 +0200)]
qt: Only include qtgui-config.h on qt >= 5.9.0
The file does not exist in previous versions
Edward Hervey [Wed, 30 Aug 2017 06:37:04 +0000 (08:37 +0200)]
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
Edward Hervey [Tue, 29 Aug 2017 09:14:59 +0000 (11:14 +0200)]
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
George Kiagiadakis [Thu, 31 Aug 2017 12:07:45 +0000 (15:07 +0300)]
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
George Kiagiadakis [Thu, 31 Aug 2017 11:57:34 +0000 (14:57 +0300)]
tests: ipcpipeline: provide pipe2() on systems that don't have it
https://bugzilla.gnome.org/show_bug.cgi?id=786763
Matthew Waters [Thu, 31 Aug 2017 04:40:44 +0000 (14:40 +1000)]
qt: the defines for QT_OPENGL_ES_2 have moved
Update the includes to account for that
Jochen Henneberg [Wed, 26 Apr 2017 11:50:41 +0000 (13:50 +0200)]
qt: ensure GL_DRAW_FRAMEBUFFER
George Kiagiadakis [Wed, 30 Aug 2017 15:11:27 +0000 (18:11 +0300)]
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
George Kiagiadakis [Wed, 30 Aug 2017 13:37:21 +0000 (16:37 +0300)]
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
George Kiagiadakis [Wed, 30 Aug 2017 11:37:32 +0000 (14:37 +0300)]
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
Philippe Normand [Wed, 30 Aug 2017 14:18:58 +0000 (15:18 +0100)]
examples/gl/gtk: build fix for the 3dvideo example on macOS
Philippe Normand [Wed, 30 Aug 2017 14:16:39 +0000 (15:16 +0100)]
examples/gl/gtk: fix overlay handling for macOS
The GTK+ window requires a NSView sub-view, not an NSWindow.
Per-Erik Brodin [Tue, 29 Aug 2017 23:52:07 +0000 (16:52 -0700)]
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
Edward Hervey [Tue, 29 Aug 2017 08:37:11 +0000 (10:37 +0200)]
tsdemux: Properly error out on jp2k parsing errors
Avoids crashes later on where we assume buffer exists
Matthew Waters [Mon, 28 Aug 2017 02:56:34 +0000 (12:56 +1000)]
gl: fix build for ios/win32/android after
2fd84a6c
Some missing GL includes.
Tim-Philipp Müller [Sat, 26 Aug 2017 12:08:27 +0000 (13:08 +0100)]
isoff: make debug category private
Otherwise it shows up in .def file in autotools build.
Tim-Philipp Müller [Sat, 26 Aug 2017 11:03:06 +0000 (12:03 +0100)]
meson: fix build for isoff lib addition
Tim-Philipp Müller [Sat, 26 Aug 2017 11:02:51 +0000 (12:02 +0100)]
isoff: export symbols
Seungha Yang [Wed, 17 May 2017 13:09:48 +0000 (22:09 +0900)]
smoothstreaming: Use isoff to parse tfxd/tfrf
https://bugzilla.gnome.org/show_bug.cgi?id=777825
Seungha Yang [Sun, 2 Jul 2017 05:27:33 +0000 (14:27 +0900)]
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
Seungha Yang [Fri, 2 Jun 2017 14:19:36 +0000 (23:19 +0900)]
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
Seungha Yang [Thu, 25 May 2017 09:14:09 +0000 (18:14 +0900)]
isoff: Move isoff to gst-libs
Also rename unit test dash_isoff to isoff
https://bugzilla.gnome.org/show_bug.cgi?id=777825
Tim-Philipp Müller [Fri, 25 Aug 2017 19:37:39 +0000 (20:37 +0100)]
gl: install new glfuncs.h header
Tim-Philipp Müller [Fri, 25 Aug 2017 18:33:41 +0000 (19:33 +0100)]
tests: ipcpipeline: skip broken tests
These fail on the build bots. Blacklist until someone
investigates.
https://bugzilla.gnome.org/show_bug.cgi?id=786006
Philippe Normand [Thu, 24 Aug 2017 12:43:18 +0000 (13:43 +0100)]
tests/player: check for media-info-updated before duration-changed
The media-info-updated signal is now emitted before duration-changed since
commit
8a29da8023604a1419ac5f2cae7f165198d6fbbf.
https://bugzilla.gnome.org/show_bug.cgi?id=786201
Matthew Waters [Thu, 24 Aug 2017 08:00:41 +0000 (18:00 +1000)]
srtp: zero out session member on dealloc
Fixes a user-after-free retrieving stats from _get_property()
Matthew Waters [Wed, 23 Aug 2017 15:18:40 +0000 (01:18 +1000)]
gl/checks: fix build
Matthew Waters [Wed, 23 Aug 2017 06:36:09 +0000 (16:36 +1000)]
gl/meson: add build for the vivante fb backend
Matthew Waters [Wed, 23 Aug 2017 06:34:39 +0000 (16:34 +1000)]
meson: build allocators library
Matthew Waters [Wed, 23 Aug 2017 06:32:57 +0000 (16:32 +1000)]
gl/meson: detect valid configuration from enabled apis/platform/winsys
Matthew Waters [Wed, 23 Aug 2017 06:23:07 +0000 (16:23 +1000)]
gl/build: also check for the GL/gl.h header
In order to successfully build against a detected libGL library we also need headers
Matthew Waters [Thu, 17 Aug 2017 03:46:04 +0000 (13:46 +1000)]
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
Matthew Waters [Thu, 17 Aug 2017 03:42:21 +0000 (13:42 +1000)]
gltransformation: draw with GL_TRIANGLES
Drawing 5 vertices with GL_TRIANGLE_STRIP will draw an extra unneeded
triangle.