platform/upstream/gstreamer.git
8 years agoglbasememory: assert for a valid allocator instead of segfaulting
Matthew Waters [Mon, 11 Jul 2016 11:29:10 +0000 (21:29 +1000)]
glbasememory: assert for a valid allocator instead of segfaulting

8 years agotsdemux: add support for LPCM with stream_type = 0x83
Michael Olbrich [Fri, 29 Apr 2016 12:42:34 +0000 (14:42 +0200)]
tsdemux: add support for LPCM with stream_type = 0x83

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

8 years agoplayer: Add some 'const' to config getters
Sebastian Dröge [Mon, 25 Jul 2016 10:06:46 +0000 (13:06 +0300)]
player: Add some 'const' to config getters

8 years agoplayer: G-I annotation fixes
Sebastian Dröge [Mon, 25 Jul 2016 10:06:36 +0000 (13:06 +0300)]
player: G-I annotation fixes

8 years agoplayer: move 'position-update-interval' setting to the config struct
Guillaume Desmottes [Mon, 25 Jul 2016 08:30:26 +0000 (10:30 +0200)]
player: move 'position-update-interval' setting to the config struct

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

8 years agoplayer: add API to change http user agent
Guillaume Desmottes [Tue, 19 Jul 2016 12:36:25 +0000 (14:36 +0200)]
player: add API to change http user agent

Introducing a new 'config' API similar to GstBufferPoolConfig.

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

8 years agoUpdate common submodule
Tim-Philipp Müller [Mon, 25 Jul 2016 09:54:32 +0000 (10:54 +0100)]
Update common submodule

For 'make update-exports' changes

8 years agoqml: Don't forget to unref the actual sink element after setting it on glsinkbin
Sebastian Dröge [Fri, 22 Jul 2016 14:00:14 +0000 (17:00 +0300)]
qml: Don't forget to unref the actual sink element after setting it on glsinkbin

8 years agoqml: Use glsinkbin instead of glupload directly
Sebastian Dröge [Fri, 22 Jul 2016 13:57:45 +0000 (16:57 +0300)]
qml: Use glsinkbin instead of glupload directly

8 years agoopenh264: fix up for API changes in v1.6.0
Tim-Philipp Müller [Mon, 18 Jul 2016 17:36:42 +0000 (18:36 +0100)]
openh264: fix up for API changes in v1.6.0

Update for API changes in v1.6.0.

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

8 years agogl: wayland: improve debug message when connecting to display
Tim-Philipp Müller [Mon, 18 Jul 2016 16:43:23 +0000 (17:43 +0100)]
gl: wayland: improve debug message when connecting to display

And another copy'n'paste-o.

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

8 years agohlsdemux: Fix clearing of decryption state
Jan Schmidt [Mon, 18 Jul 2016 16:11:54 +0000 (02:11 +1000)]
hlsdemux: Fix clearing of decryption state

Don't clear decryption state immediately after
initialising it in the start_fragment. Don't clear
the state of all streams when we want to only clear
the current stream.

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

8 years agotests: fix bus leak
Guillaume Desmottes [Fri, 15 Jul 2016 08:31:35 +0000 (10:31 +0200)]
tests: fix bus leak

gst_bus_remove_signal_watch() has to be called to release the ref
taken by gst_bus_add_signal_watch().

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

8 years agocamerabinpreview: fix bus leak
Guillaume Desmottes [Fri, 15 Jul 2016 09:48:25 +0000 (11:48 +0200)]
camerabinpreview: fix bus leak

We were never removing the watch introduced in
gst_camerabin_create_preview_pipeline() so its extra ref on the bus was
never released.

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

8 years agohlsdemux: make decryption key handling per-stream
Tim-Philipp Müller [Wed, 13 Jul 2016 13:02:10 +0000 (23:02 +1000)]
hlsdemux: make decryption key handling per-stream

Add demuxer instance-wide decryption key cache. The current and
last key url are per-stream, so make a shared cache. Move the
decryption handling into the stream object, and use the shared
cache for the keys.

8 years agohlsdemux: add hlsdemux-specific AdaptiveDemuxStream subclass
Jan Schmidt [Wed, 13 Jul 2016 13:02:10 +0000 (23:02 +1000)]
hlsdemux: add hlsdemux-specific AdaptiveDemuxStream subclass

Prepare hlsdemux for more than one single stream. Currently hlsdemux
assumes there'll only ever be one stream and most of the stream-specific
state is actually in the hlsdemux structure. Add a stream subclass
instead and move some stream-specific members there instead.

8 years agoadaptivedemux: Add more safeguards around state changes.
Jan Schmidt [Wed, 13 Jul 2016 13:02:10 +0000 (23:02 +1000)]
adaptivedemux: Add more safeguards around state changes.

Make state changes of internal elements more reliable by locking
their state, and ensuring that they aren't blocked pushing data
downstream before trying to set their state.

Add a boolean to avoid starting tasks when the main
thread is busy trying to shut the element down.

8 years agoadaptivedemux: Add debug code to change bitrate.
Jan Schmidt [Wed, 13 Jul 2016 13:02:10 +0000 (23:02 +1000)]
adaptivedemux: Add debug code to change bitrate.

Add some disabled-by-default debugging code that forces
bitrate changes by modulating the measured bitrate every
few fragments

8 years agoadaptivedemux: More locking/switching fixes
Jan Schmidt [Wed, 13 Jul 2016 13:02:10 +0000 (23:02 +1000)]
adaptivedemux: More locking/switching fixes

Try harder to make switching pads work better by
making sure concurrent downloads are finished before exposing
a new set of pads.

Release the manifest lock when signalling no-more-pads, as
that can call back into adaptivedemux again

8 years agoadaptivedemux: Don't switch streams and expose pads while downloading.
Jan Schmidt [Wed, 13 Jul 2016 13:02:10 +0000 (23:02 +1000)]
adaptivedemux: Don't switch streams and expose pads while downloading.

If other stream fragments are still downloading but new streams
have been scheduled, don't expose them yet - wait until the last
one finishes. Otherwise, we can cancel a partially downloaded
auxilliary stream and cause a gap.

8 years agoadaptivedemux: Drop the manifest lock during outbound actions
Jan Schmidt [Wed, 13 Jul 2016 13:02:10 +0000 (23:02 +1000)]
adaptivedemux: Drop the manifest lock during outbound actions

Drop the manifest lock when performing actions that might
call back into adaptivedemux and trigger deadlocks, such
as adding/removing pads or sending in-band events (EOS).

Unlock the manifest lock when changing the child bin state to
NULL, as it might call back to acquire the manifest lock when
shutting down pads.

Drop the manifest lock while pushing events.

8 years agonew plugin: Android hardware sensor source
Martin Kelly [Tue, 12 Jul 2016 21:51:47 +0000 (14:51 -0700)]
new plugin: Android hardware sensor source

ahssrc is a new plugin that enables Gstreamer to read from the
android.hardware.Sensor Android sensors. These sensors are treated as
buffers and can be passed through and manipulated by the pipeline.

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

8 years agolv2: make it build with older lilv
Stefan Sauer [Thu, 14 Jul 2016 17:38:26 +0000 (19:38 +0200)]
lv2: make it build with older lilv

Implementing the removal of presets is unfortunately not feasibla with
versions < 0.22.
Fixes #768595

8 years agowebrtcdsp: Add delay-agnostic property
Nicolas Dufresne [Thu, 14 Jul 2016 03:00:51 +0000 (23:00 -0400)]
webrtcdsp: Add delay-agnostic property

In this mode, we let WebRTC Audio Processing figure-out the delay. This
is useful when the latency reported by the stack cannot be trusted. Note
that in this mode, the leaking of echo during packet lost is much worst.
It is recommanded to use PLC (e.g. spanplc, or opus built-in plc).

In this mode, we don't do any synchronization. Instead, we simply process all
the available reverse stream data as it comes.

8 years agojpeg2000parse: Use correct enum type
Sebastian Dröge [Mon, 11 Jul 2016 21:02:53 +0000 (00:02 +0300)]
jpeg2000parse: Use correct enum type

GST_JPEG2000_SAMPLING_RGB instead of GST_JPEG2000_COLORSPACE_RGB

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

8 years agoAutomatic update of common submodule
Stefan Sauer [Mon, 11 Jul 2016 19:13:58 +0000 (21:13 +0200)]
Automatic update of common submodule

From f363b32 to f49c55e

8 years agokmssink: Fix offsets handling
Nicolas Dufresne [Mon, 11 Jul 2016 15:58:12 +0000 (11:58 -0400)]
kmssink: Fix offsets handling

The calculation of the offset table was done base on a plane size
estimation. This does not always work. Instead, use memory offset the
same we as it's implement in GstVideoMeta map functions.

8 years agoFix various gboolean vs GstFlowReturn problems
Nirbheek Chauhan [Mon, 11 Jul 2016 13:51:11 +0000 (19:21 +0530)]
Fix various gboolean vs GstFlowReturn problems

Caught by building with MSVC which gave warnings for these

8 years agogl/build: fix configure when --enable-cocoa is passed on OS X
Matthew Waters [Fri, 8 Jul 2016 09:03:06 +0000 (19:03 +1000)]
gl/build: fix configure when --enable-cocoa is passed on OS X

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

8 years agolv2: planning update
Stefan Sauer [Sun, 10 Jul 2016 18:43:17 +0000 (20:43 +0200)]
lv2: planning update

8 years agolv2: keep working with older versions
Stefan Sauer [Sun, 10 Jul 2016 18:42:42 +0000 (20:42 +0200)]
lv2: keep working with older versions

Provide a fallback impl. for the only new function we were using from 0.22.
Fixes #768595

8 years agocamerabin: update docs section
Tim-Philipp Müller [Fri, 8 Jul 2016 13:42:18 +0000 (14:42 +0100)]
camerabin: update docs section

8 years agoconfigure.ac: Cleanup unused variable
Nicolas Dufresne [Thu, 7 Jul 2016 17:22:02 +0000 (13:22 -0400)]
configure.ac: Cleanup unused variable

We only check for a header, no need for overriding LDFLAGS.

8 years agogaudi: fix documentation warning in GstGaussianBlur
Luis de Bethencourt [Thu, 7 Jul 2016 16:24:32 +0000 (17:24 +0100)]
gaudi: fix documentation warning in GstGaussianBlur

Fixing the following warning when generating documentation:
xml/element-gaussianblur.xml:72: element refsect2: validity error :
    ID GstGaussianBlur already defined
<refsect2 id="GstGaussianBlur" role="typedef">
                                             ^
Warning: multiple "IDs" for constraint linkend: GstGaussianBlur.
  DOC   Fixing cross-references

8 years agogaudi: fix documentation warning in GstChromium
Luis de Bethencourt [Thu, 7 Jul 2016 16:16:47 +0000 (17:16 +0100)]
gaudi: fix documentation warning in GstChromium

Fixing the following warning when generating documentation:
xml/element-chromium.xml:74: element refsect2: validity error :
    ID GstChromium already defined
<refsect2 id="GstChromium" role="typedef">
                                         ^
Warning: multiple "IDs" for constraint linkend: GstChromium.
  DOC   Fixing cross-references

8 years agowebrtcdsp: Relax C++11 check
Nicolas Dufresne [Thu, 7 Jul 2016 16:31:20 +0000 (12:31 -0400)]
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.

8 years agowebrtcdsp: Add Android GNUSTL support
Nicolas Dufresne [Thu, 7 Jul 2016 16:31:03 +0000 (12:31 -0400)]
webrtcdsp: Add Android GNUSTL support

8 years agowebrtcdsp: Set USE_WEBRTCDSP when disabled
Nicolas Dufresne [Thu, 7 Jul 2016 16:20:45 +0000 (12:20 -0400)]
webrtcdsp: Set USE_WEBRTCDSP when disabled

8 years agoadaptivedemux: Also consider more seek flags as "snap" seeks
Edward Hervey [Thu, 7 Jul 2016 15:20:58 +0000 (17:20 +0200)]
adaptivedemux: Also consider more seek flags as "snap" seeks

In the case of KEY_UNIT and TRICKMODE_KEY_UNITS seeks, we want to
"snap" to the closest fragment.

Without this, we end up pushing out a segment which does not match
the first fragment timestamp being pushed out, resulting in one or
more buffers being eventually dropped because they are out of segment.

8 years agowebrtcdsp: Also allow webrtc-audio-processing 0.3
Sebastian Dröge [Wed, 6 Jul 2016 11:29:04 +0000 (14:29 +0300)]
webrtcdsp: Also allow webrtc-audio-processing 0.3

It seems to work and is the version available in Debian.

8 years agomusepackdeck: unsigned can't be less than zero
Luis de Bethencourt [Wed, 6 Jul 2016 11:12:41 +0000 (12:12 +0100)]
musepackdeck: unsigned can't be less than zero

Less-than-zero comparison of an unsigned value, guint64, is never true

CID 1363334

8 years agoBack to development
Sebastian Dröge [Wed, 6 Jul 2016 10:51:06 +0000 (13:51 +0300)]
Back to development

8 years agoRelease 1.9.1
Sebastian Dröge [Wed, 6 Jul 2016 10:07:21 +0000 (13:07 +0300)]
Release 1.9.1

8 years agoUpdate .po files
Sebastian Dröge [Wed, 6 Jul 2016 08:52:11 +0000 (11:52 +0300)]
Update .po files

8 years agopo: Update translations
Sebastian Dröge [Wed, 6 Jul 2016 07:19:24 +0000 (10:19 +0300)]
po: Update translations

8 years agowebrtcdsp: Workaround GCC/MingW 4.7 limitations
Nicolas Dufresne [Tue, 5 Jul 2016 13:21:58 +0000 (09:21 -0400)]
webrtcdsp: Workaround GCC/MingW 4.7 limitations

It refuses to initialize a classes using brackets notation. This is
to allow building using our mingw version.

8 years agoconfigure.ac: Add missing double quotes
Nicolas Dufresne [Mon, 4 Jul 2016 18:57:11 +0000 (14:57 -0400)]
configure.ac: Add missing double quotes

That affectation was ignored. This worked on recent GCC as C++11 is
enabled by default now.

8 years agolv2: add support for saving presets
Stefan Sauer [Sat, 2 Jul 2016 08:24:51 +0000 (10:24 +0200)]
lv2: add support for saving presets

Plugns supporting the state interface can now save their presets under '.lv2'.

8 years agolv2: support for loading presets
Stefan Sauer [Wed, 15 Jun 2016 20:22:58 +0000 (22:22 +0200)]
lv2: support for loading presets

Detect if plugins can do presets. Lazily read a list of presets and add support
for loading.

8 years agomusepackdec: port to 1.0
Wim Taymans [Mon, 4 Jul 2016 14:54:53 +0000 (16:54 +0200)]
musepackdec: port to 1.0

8 years agoshmsrc: Do not call gst_poll_remove_fd upon stop if reading was never started
Marcin Lewandowski [Mon, 4 Jul 2016 10:19:36 +0000 (12:19 +0200)]
shmsrc: Do not call gst_poll_remove_fd upon stop if reading was never started

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

8 years agodvb/parsechannels: improve parsing-success message
Reynaldo H. Verdejo Pinochet [Fri, 1 Jul 2016 21:50:27 +0000 (14:50 -0700)]
dvb/parsechannels: improve parsing-success message

* Fix typo
* Give information on what was actually parsed

8 years agodvb/parsechannels: don't use default conf filename for messages
Reynaldo H. Verdejo Pinochet [Fri, 1 Jul 2016 21:37:37 +0000 (14:37 -0700)]
dvb/parsechannels: don't use default conf filename for messages

The file name can be user-defined.

8 years agoqt: fix build some more when QPA is not available
Tim-Philipp Müller [Fri, 1 Jul 2016 18:22:32 +0000 (19:22 +0100)]
qt: fix build some more when QPA is not available

Compiler would complain about include directory that didn't
exist because QPA_INCLUDE_PATH gets subst-ed regardless
(and if it didn't we'd have just an empty -I argument).

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

8 years agogstjpeg2000parse: no need for else after a goto
Luis de Bethencourt [Fri, 1 Jul 2016 13:05:49 +0000 (14:05 +0100)]
gstjpeg2000parse: no need for else after a goto

else clause is redundant when the end of the if statement is a jump.
If we haven't gone to the beach, we are in the false branch.

8 years agogstjpeg2000parse: improved parsing of jpc magic and j2c box
Aaron Boxer [Thu, 30 Jun 2016 11:47:50 +0000 (07:47 -0400)]
gstjpeg2000parse: improved parsing of jpc magic and j2c box

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

8 years agoadaptivedemux: Add custom flow return for allowing subclasses to specify when a fragm...
Sebastian Dröge [Wed, 25 May 2016 13:01:24 +0000 (16:01 +0300)]
adaptivedemux: Add custom flow return for allowing subclasses to specify when a fragment is finished

If it is finished before upstream going EOS.

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

8 years agodashdemux: Implement SIDX tracking based on buffer offset
Sebastian Dröge [Fri, 27 May 2016 13:08:09 +0000 (16:08 +0300)]
dashdemux: Implement SIDX tracking based on buffer offset

This simplifies the code but also removes a bug with tracking of the remaining
size for the initial subfragment: we were not considering the size between the
index and the start of the first moof here.

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

8 years agodashdemux: Properly keep track of current offset
Sebastian Dröge [Thu, 31 Mar 2016 10:39:59 +0000 (13:39 +0300)]
dashdemux: Properly keep track of current offset

GstAdapter does not guarantee to pass through all the offsets, we have to keep
track of it ourselves.

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

8 years agohlsdemux: Properly keep track of current offset
Sebastian Dröge [Thu, 31 Mar 2016 10:39:59 +0000 (13:39 +0300)]
hlsdemux: Properly keep track of current offset

GstAdapter does not guarantee to pass through all the offsets, we have to keep
track of it ourselves.

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

8 years agohlsdemux: Clear pending data when needed
Sebastian Dröge [Thu, 31 Mar 2016 10:01:00 +0000 (13:01 +0300)]
hlsdemux: Clear pending data when needed

When switching fragments we don't want to keep any data around from the last
one, and also forget about all data when doing flushing seeks or selecting new
bitrates.

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

8 years agoadaptivedemux: Get rid of internal stream adapter and let subclasses handle this...
Sebastian Dröge [Mon, 28 Mar 2016 10:45:36 +0000 (13:45 +0300)]
adaptivedemux: Get rid of internal stream adapter and let subclasses handle this directly

This allows subclasses to have more control and especially ensure that they
push data downstream with the correct offsets.

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

8 years agocodecparsers: jpeg2000: don't allow 0 value for array access with i-1
Tim-Philipp Müller [Fri, 1 Jul 2016 11:20:14 +0000 (12:20 +0100)]
codecparsers: jpeg2000: don't allow 0 value for array access with i-1

8 years agocodecparsers: jpeg2000: fix possible out-of-bounds array access
Tim-Philipp Müller [Fri, 1 Jul 2016 11:15:28 +0000 (12:15 +0100)]
codecparsers: jpeg2000: fix possible out-of-bounds array access

sizeof(array) != G_N_ELEMENTS(array).

CID 1362900

8 years agoopenh264enc: Set frame timestamps before sending to the encoder
Sebastian Dröge [Thu, 30 Jun 2016 21:38:26 +0000 (23:38 +0200)]
openh264enc: Set frame timestamps before sending to the encoder

8 years agoopenh264enc: Fix initial time-per-frame calculation
Sebastian Dröge [Thu, 30 Jun 2016 21:35:33 +0000 (23:35 +0200)]
openh264enc: Fix initial time-per-frame calculation

8 years agoopenh264enc: Remove meaningless drop bitrate handling
Sebastian Dröge [Thu, 30 Jun 2016 21:33:38 +0000 (23:33 +0200)]
openh264enc: Remove meaningless drop bitrate handling

This doesn't even have a property.

8 years agoopenh264enc: Expose maximum bitrate setting
Sebastian Dröge [Thu, 30 Jun 2016 21:29:13 +0000 (23:29 +0200)]
openh264enc: Expose maximum bitrate setting

8 years agoopenh264enc: Actually hook up the rate-control property
Sebastian Dröge [Thu, 30 Jun 2016 21:19:26 +0000 (23:19 +0200)]
openh264enc: Actually hook up the rate-control property

8 years agoopenh264enc: Use a constant SPS/PPS ID no matter if openh264 older or newer than...
Sebastian Dröge [Thu, 30 Jun 2016 21:06:29 +0000 (23:06 +0200)]
openh264enc: Use a constant SPS/PPS ID no matter if openh264 older or newer than 1.4 is used

8 years agoopenh264enc: Make slice settings more explicit and don't set any number if not a...
Sebastian Dröge [Thu, 30 Jun 2016 21:02:49 +0000 (23:02 +0200)]
openh264enc: Make slice settings more explicit and don't set any number if not a fixed number of slices is selected

8 years agowebrtcdsp: Rewrite echo data synchronization
Nicolas Dufresne [Wed, 29 Jun 2016 19:56:47 +0000 (15:56 -0400)]
webrtcdsp: Rewrite echo data synchronization

The previous code would run out of sync if there was packet lost
or clock skews. When that happened, the echo cancellation feature would
completely stop working. As this is crucial for audio calls, this patch
re-implement synchronization completely.

Instead of letting it drift until next discont, we now synchronize
against the record data at every iteration. This way we simply never
let the stream drift for longer then 10ms period. We also shorter the
delay by using the latency up the probe (basically excluding the sink
latency. This is a decent delay to avoid starving in the probe queue.

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

8 years agowebrtcdsp: We now fail if there is no echo probe
Nicolas Dufresne [Wed, 29 Jun 2016 19:55:19 +0000 (15:55 -0400)]
webrtcdsp: We now fail if there is no echo probe

When echo cancel is enabled, we now fail the pipeline if there is
not echo probe. For this reason there is no need to check if probe
pointer is set anymore.

8 years agoglviewconvert: fix transformation matrix usage
Matthew Waters [Thu, 30 Jun 2016 11:50:12 +0000 (21:50 +1000)]
glviewconvert: fix transformation matrix usage

Calling glUniformMatrix before the shader is bound is invalid and
would result in errors like:

GL_INVALID_OPERATION in glUniformMatrix(program not linked)

Move glUniformMatrix() to after the gst_gl_shader_use() call.

8 years agokmssink: fallback to universal planes if no overlay plane is found
Javier Martinez Canillas [Tue, 28 Jun 2016 20:07:43 +0000 (16:07 -0400)]
kmssink: fallback to universal planes if no overlay plane is found

Without setting the DRM_CLIENT_CAP_UNIVERSAL_PLANES capability bit, only
overlay planes are made available for compatibility with legacy clients.

But if a CRTC doesn't have an overlay plane associated, then kmssink is
not able to find a plane for the CRTC and the pipeline will fail, i.e:

ERROR                kmssink gstkmssink.c:482:gst_kms_sink_start:<kmssink0> Could not find a plane for crtc

If no overlay planes were found for a given CRTC, fallback to universal
planes so DRM will also return primary planes that can be used instead.

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

Signed-off-by: Javier Martinez Canillas <javier@osg.samsung.com>
8 years agokmssink: add a plane-id property
Javier Martinez Canillas [Wed, 29 Jun 2016 00:51:56 +0000 (20:51 -0400)]
kmssink: add a plane-id property

Without setting the DRM_CLIENT_CAP_UNIVERSAL_PLANES capability bit, only
overlay planes are made available for compatibility with legacy clients.

But if a CRTC doesn't have an overlay plane associated, then kmssink is
not able to find a plane for the CRTC and the pipeline will fail, i.e:

ERROR                kmssink gstkmssink.c:482:gst_kms_sink_start:<kmssink0> Could not find a plane for crtc

This patch adds a plane-id property to the kmssink element so a specific
plane can be used in case that a CRTC has only a primary plane associated.

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

8 years agoopenh264enc: Remove broken byte-stream to avc conversion and just output byte-stream...
Sebastian Dröge [Thu, 30 Jun 2016 08:33:30 +0000 (10:33 +0200)]
openh264enc: Remove broken byte-stream to avc conversion and just output byte-stream as generated by the encoder

The byte-stream to avc conversion did not consider NAL sizes bigger than 2^16,
multiple layers, multiple NALs per layer, and various other things. This
caused corrupted streams in higher bitrates and other circumstances.

Let's just forward byte-stream as generated by the encoder and let h264parse
handle conversion to avc if needed. That way we only have to keep around one
version of the conversion and don't have to fix it in multiple places.

8 years agoh264parse: Drop filler data
Edward Hervey [Wed, 29 Jun 2016 16:36:56 +0000 (18:36 +0200)]
h264parse: Drop filler data

When skipping data, check if they are filler bytes. If so, drop the
data instead of skipping. We don't want to output filler bytes, but they
shouldn't cause a discontinuity.

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

8 years agodvbbasebin: Use a non-timer GstPoll
Sebastian Dröge [Thu, 30 Jun 2016 06:31:20 +0000 (08:31 +0200)]
dvbbasebin: Use a non-timer GstPoll

set_flushing() causes inconsistent states on timer polls and also signals a
g_critical() nowadays because of that.

8 years agoglupload: fix raw data uploader with addition of GstVideoGLTextureType
Matthew Waters [Thu, 30 Jun 2016 04:04:36 +0000 (14:04 +1000)]
glupload: fix raw data uploader with addition of GstVideoGLTextureType

Fixes regression from 989200820d43c78fb179d7984827800d83787390

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

8 years agoglvideoconvert: RG/LA is available in OpenGL ES 3, so let that through
Olivier Crête [Thu, 30 Jun 2016 03:55:18 +0000 (23:55 -0400)]
glvideoconvert: RG/LA is available in OpenGL ES 3, so let that through

8 years agovtdec: use L/LA textures on GLES2 as well
Matthew Waters [Wed, 29 Jun 2016 08:35:17 +0000 (18:35 +1000)]
vtdec: use L/LA textures on GLES2 as well

8 years agoRevert "Revert "gl/eagl: try getting a gles3 context""
Matthew Waters [Fri, 24 Jun 2016 03:41:11 +0000 (13:41 +1000)]
Revert "Revert "gl/eagl: try getting a gles3 context""

This reverts commit eb142736318463e6e553c21707ba0d716f85a46f.

vtdec now successfully outputs textures that can be converted by
glcolorconvert in GLES3 contexts.

8 years agovtdec: add support for zerocopy decoding with GLES 3.x
Matthew Waters [Fri, 24 Jun 2016 14:05:37 +0000 (00:05 +1000)]
vtdec: add support for zerocopy decoding with GLES 3.x

It seems that Red/RG textures aren't supported anymore for zerocopy decoding
with GLES 3.x.  Instead use Luminance/Luminance Alpha textures which are.

8 years agoglmemory: add the texture type to allocate to parameters
Matthew Waters [Tue, 28 Jun 2016 03:51:22 +0000 (13:51 +1000)]
glmemory: add the texture type to allocate to parameters

Rather than assuming something.  e.g. zerocopy on iOS with GLES3 requires
the use of Luminance/Luminance Alpha formats and does not work with
Red/RG textures.

8 years agoglcolorconvert: don't assume Red/RG textures will be used
Matthew Waters [Tue, 28 Jun 2016 03:09:51 +0000 (13:09 +1000)]
glcolorconvert: don't assume Red/RG textures will be used

Take the used texture type from the memory instead.

Fixes conversion from multi-planar YUV formats with two components per plane
(NV12, NV21, YUY2, UYVY, GRAY16_*, etc) with Luminance Alpha input textures.

This is also needed for zerocopy decoding on iOS with GLES 3.x.

8 years agoglcontext: correct precondition for get_gl_version
Matthew Waters [Tue, 28 Jun 2016 03:02:32 +0000 (13:02 +1000)]
glcontext: correct precondition for get_gl_version

The intention was to assert if both maj and min were NULL (as there would be no
point calling the function).  Instead if either maj or min were NULL, the assert
would occur.

Fix that.

8 years agod3dvideosink: Replace some more gst_caps_to_string() with GST_PTR_FORMAT
Sebastian Dröge [Tue, 28 Jun 2016 16:26:29 +0000 (19:26 +0300)]
d3dvideosink: Replace some more gst_caps_to_string() with GST_PTR_FORMAT

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

8 years agod3dvideosink: leak on caps string
Jonathan Roy [Tue, 28 Jun 2016 15:50:59 +0000 (11:50 -0400)]
d3dvideosink: leak on caps string

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

8 years agojpeg2000parse: fix typo in sampling check
Luis de Bethencourt [Tue, 28 Jun 2016 10:08:22 +0000 (11:08 +0100)]
jpeg2000parse: fix typo in sampling check

Fixing small typo that changes the value of the return.

8 years agotests: Ignore kmssink for state change test
Olivier Crête [Tue, 28 Jun 2016 01:36:50 +0000 (21:36 -0400)]
tests: Ignore kmssink for state change test

It can only be put to READY if the DRM stuff is available.

8 years agoqmlglsink: Fix build error when don't have QPA installed.
Haihua Hu [Mon, 27 Jun 2016 10:15:08 +0000 (18:15 +0800)]
qmlglsink: Fix build error when don't have QPA installed.

Check header file existance and wrap the header file include
in the necessary #ifdef to avoid build error.

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

8 years agodvbbasebin: make sure we have an error in case of parsing failure
Reynaldo H. Verdejo Pinochet [Sat, 25 Jun 2016 01:14:06 +0000 (18:14 -0700)]
dvbbasebin: make sure we have an error in case of parsing failure

Drop a redundant comment and rellocate another one while at it.

8 years agodvb/parsechannels: implement channels.conf format autodetection
Reynaldo H. Verdejo Pinochet [Wed, 22 Jun 2016 23:14:33 +0000 (16:14 -0700)]
dvb/parsechannels: implement channels.conf format autodetection

Simple autodetection avoids having to call the parsers
one after the other.

8 years agodvb/parsechannels: rename v5/zap parsers for congruency
Reynaldo H. Verdejo Pinochet [Tue, 21 Jun 2016 23:08:57 +0000 (16:08 -0700)]
dvb/parsechannels: rename v5/zap parsers for congruency

Add function prototypes while at it.

8 years agodvb/parsechannels: fix modulation names
Reynaldo H. Verdejo Pinochet [Wed, 13 Apr 2016 04:04:25 +0000 (21:04 -0700)]
dvb/parsechannels: fix modulation names

Some names were incorrect. Authoritative source for
the dvbv5 format taken from v4l-utils' lib/libdvbv5/dvb-v5.c

Aditionally, add the missing setter mapping for the
modulation param.

This change makes ATSC work.

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

8 years agodvbbasebin: also accept DVBv5 channels.conf format
Thiago Santos [Thu, 25 Feb 2016 00:44:40 +0000 (21:44 -0300)]
dvbbasebin: also accept DVBv5 channels.conf format

Confirmed working with ISDB-T & ATSC conf files.

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

8 years agodvbsrc: fix ISDB-T property descriptions
Reynaldo H. Verdejo Pinochet [Tue, 21 Jun 2016 18:48:36 +0000 (11:48 -0700)]
dvbsrc: fix ISDB-T property descriptions

Drop some stale trailing whitespace while at it.

8 years agodvbsrc: fix misplaced space on doc block
Reynaldo H. Verdejo Pinochet [Tue, 21 Jun 2016 18:32:07 +0000 (11:32 -0700)]
dvbsrc: fix misplaced space on doc block

8 years agoh264parse: When input alignment=AU, always drain each packet.
Jan Schmidt [Mon, 9 May 2016 17:32:59 +0000 (03:32 +1000)]
h264parse: When input alignment=AU, always drain each packet.

If the input alignment claims AU alignment, each received
buffer should contain a complete video frame, so never hold over parts
of buffers for later processing. Also reduces latency, as packets
are parsed/converted and output immediately instead of 1 buffer
later.

Fixes a problem where an (arguably disallowed) padding byte on the
end of a buffer is detected as an extra byte in the following
start code, and messes up the timestamping that should apply to
that start code.