Commit graph

2538 commits

Author SHA1 Message Date
Sebastian Dröge
3b7e0d7de3 decklinkvideosink: Scale down scheduled frame times to milliseconds
Scale down to milliseconds, otherwise at least some hardware has problems
scheduling the frames (or schedules them too slow) and we run out of available
frames.

https://bugzilla.gnome.org/show_bug.cgi?id=770282
2016-08-26 15:49:40 +03:00
Sebastian Dröge
6fdd4d8288 decklinkaudiosink: Add support for 8 and 16 channels 2016-08-26 15:49:40 +03:00
Alessandro Decina
7898bc5810 applemedia: changes to make GL memory mappable on CPU on iOS
This commit introduces IOSGLMemory which is a GLMemory that falls back to
GstAppleCoreVideoMemory for CPU access. This is a temporary solution until
IOSurface gets exposed as a public framework on iOS and so we can use
IOSurfaceMemory on both MacOS and iOS.

https://bugzilla.gnome.org/show_bug.cgi?id=769210
2016-08-26 17:44:48 +10:00
Fredrik Fornwall
c611c6c6c0 opensles: Add opensles.h to noinst_HEADERS
https://bugzilla.gnome.org/show_bug.cgi?id=770326
2016-08-24 13:35:45 +03:00
Matej Knopp
26c7ca4c24 vtdec: fix MPEG-2 video caps
Add systemstream=false to caps, otherwise the decoder
may be picked for MPEG-PS files. Also parsed=true,
as video toolbox expects entire frame in
VTDecompressionSessionDecodeFrame.

https://bugzilla.gnome.org/show_bug.cgi?id=770049
2016-08-22 20:25:03 +01:00
Nirbheek Chauhan
42af2d66d8 Add support for Meson as alternative/parallel build system
https://github.com/mesonbuild/meson

With contributions from:

Tim-Philipp Müller <tim@centricular.com>
Matej Knopp <matej.knopp@gmail.com>
Jussi Pakkanen <jpakkane@gmail.com> (original port)

Highlights of the features provided are:
* Faster builds on Linux (~40-50% faster)
* The ability to build with MSVC on Windows
* Generate Visual Studio project files
* Generate XCode project files
* Much faster builds on Windows (on-par with Linux)
* Seriously fast configure and building on embedded

... and many more. For more details see:

http://blog.nirbheek.in/2016/05/gstreamer-and-meson-new-hope.html
http://blog.nirbheek.in/2016/07/building-and-developing-gstreamer-using.html

Building with Meson should work on both Linux and Windows, but may
need a few more tweaks on other operating systems.
2016-08-20 11:35:54 +01:00
Nirbheek Chauhan
7e2b68fe2f plugins: Use stdint.h instead of _stdint.h
_stdint.h is generated by Autotools and we don't really need it. All
supported platforms now ship with stdint.h. The only stickler was MSVC,
and since Visual Studio 2015 it also ships stdint.h now.
2016-08-19 14:42:52 +01:00
Tim-Philipp Müller
c8321a3173 applemedia-nonpublic: remove bitrotten plugin that's no longer needed 2016-08-19 11:02:46 +01:00
Florian Zwoch
6de83e0515 avfvideosrc: account for retina displays when capturing screens
Fixes: https://bugzilla.gnome.org/show_bug.cgi?id=770030
2016-08-19 19:46:41 +10:00
Reynaldo H. Verdejo Pinochet
d31a6f8756 dvb/parsechannels: warn on ignored key/value pairs
Otherwise at runtine, users get the misleading
parsing-OK message with no info on, for example,
properties that failed to map because of a typo.
2016-08-18 11:27:57 -07:00
Reynaldo H. Verdejo Pinochet
c40e49c9b1 dvb/parsechannels: handle problems parsing dvbv5 config keys 2016-08-18 11:17:14 -07:00
Sergei Saveliev
fc6b17b6d2 avfassetsrc: Don't escape the URI another time in another location too
One location was forgotten in a913a0b967

https://bugzilla.gnome.org/show_bug.cgi?id=767492
2016-08-16 18:47:58 +03:00
Jan Schmidt
08311c51be winks: Fix RGB frame flipping and postprocessing
Uncompressed RGB frames can be (usually are) bottom-up
layout in DirectShow, and the code to flip them wasn't
properly ported from 0.10. Fix it.

Fix post-processing of RGB buffers. We need a writable
buffer, but the requests pool is holding an extra ref.
This could use more fixing to use a buffer pool
2016-08-16 00:43:39 +10:00
Jan Schmidt
b4a51e7835 winks: Give the ksvideosrc PRIMARY rank
It's the primary video source on Windows, so give it a
rank for autoplugging by camerabin and friends
2016-08-16 00:43:39 +10:00
Jan Schmidt
16fb11cf33 winks: Fix swapped RGBx/RGB caps mapping, and endianness.
The RGBx and RGB format mappings were reversed.

What Windows calls RGB are laid out as BGR in our parlance, so
switch that too
2016-08-16 00:43:39 +10:00
Sebastian Dröge
3db0fa37b7 amc: Fix call to realloc() to allocate the correct size of items 2016-08-08 11:29:04 +02:00
Vivia Nikolaidou
de1f42a284 decklinkvideosink: Add support for GstVideoTimeCode
The timecode will be fetched from the video buffer and outputted on the
decklink video sink.

https://bugzilla.gnome.org/show_bug.cgi?id=766419
2016-08-04 19:08:27 +03:00
Vivia Nikolaidou
8faa36e105 decklinkvideosrc: Add support for GstVideoTimeCode
The timecode will be fetched from the decklink source and attached to the
video buffer.

https://bugzilla.gnome.org/show_bug.cgi?id=766419
2016-08-04 19:08:27 +03:00
Sebastian Dröge
2ff2ad9353 androidmedia: Run gst-indent over everything once again 2016-08-01 19:57:06 +03:00
Sebastian Dröge
8748ce94f4 amc: If we find multiple codecs with the same name, just merge them
On the ODroid C1+ the H265 and H264 have the same name but are listed as two
different codecs. We have to handle them as the same one that supports both,
as otherwise we will register the same GType name twice which fails and we
then only have H265 support and not H264 support.
2016-08-01 19:57:03 +03:00
Sebastian Dröge
cce42ea5a6 amc: Use a GQueue for O(1) append instead of a GList 2016-08-01 10:15:04 +03:00
Sebastian Dröge
74158bbf37 amc: Print generated raw/encoded caps in debug logs 2016-07-29 08:54:00 +03:00
Martin Kelly
a04e6b0cb2 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
2016-07-14 17:13:30 -04:00
Nicolas Dufresne
f03fc663ef 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.
2016-07-11 12:07:04 -04:00
Marcin Lewandowski
b2880cdd03 shmsrc: Do not call gst_poll_remove_fd upon stop if reading was never started
https://bugzilla.gnome.org/show_bug.cgi?id=768365
2016-07-04 12:52:29 +02:00
Reynaldo H. Verdejo Pinochet
e666b3f759 dvb/parsechannels: improve parsing-success message
* Fix typo
* Give information on what was actually parsed
2016-07-01 14:57:40 -07:00
Reynaldo H. Verdejo Pinochet
5f869d8fbd dvb/parsechannels: don't use default conf filename for messages
The file name can be user-defined.
2016-07-01 14:56:13 -07:00
Javier Martinez Canillas
34c88dca2d 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>
2016-06-30 11:54:37 +02:00
Javier Martinez Canillas
c2cd60db0f 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
2016-06-30 11:54:36 +02:00
Sebastian Dröge
11a7362993 dvbbasebin: Use a non-timer GstPoll
set_flushing() causes inconsistent states on timer polls and also signals a
g_critical() nowadays because of that.
2016-06-30 08:32:04 +02:00
Matthew Waters
19a00b17ab vtdec: use L/LA textures on GLES2 as well 2016-06-29 20:39:26 +10:00
Matthew Waters
9a325f4a09 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.
2016-06-29 18:04:28 +10:00
Matthew Waters
989200820d 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.
2016-06-29 18:04:28 +10:00
Sebastian Dröge
dea792292e d3dvideosink: Replace some more gst_caps_to_string() with GST_PTR_FORMAT
https://bugzilla.gnome.org/show_bug.cgi?id=768146
2016-06-28 19:27:09 +03:00
Jonathan Roy
93191c92f1 d3dvideosink: leak on caps string
https://bugzilla.gnome.org/show_bug.cgi?id=768146
2016-06-28 19:27:09 +03:00
Reynaldo H. Verdejo Pinochet
756e785f39 dvbbasebin: make sure we have an error in case of parsing failure
Drop a redundant comment and rellocate another one while at it.
2016-06-24 18:23:28 -07:00
Reynaldo H. Verdejo Pinochet
219d4c132c dvb/parsechannels: implement channels.conf format autodetection
Simple autodetection avoids having to call the parsers
one after the other.
2016-06-24 18:23:17 -07:00
Reynaldo H. Verdejo Pinochet
d9e0e43ca7 dvb/parsechannels: rename v5/zap parsers for congruency
Add function prototypes while at it.
2016-06-24 18:20:56 -07:00
Reynaldo H. Verdejo Pinochet
cf86ec5874 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
2016-06-24 18:20:56 -07:00
Thiago Santos
dc93c448ca dvbbasebin: also accept DVBv5 channels.conf format
Confirmed working with ISDB-T & ATSC conf files.

https://bugzilla.gnome.org/show_bug.cgi?id=764957
2016-06-24 18:20:56 -07:00
Reynaldo H. Verdejo Pinochet
f6eeb314d3 dvbsrc: fix ISDB-T property descriptions
Drop some stale trailing whitespace while at it.
2016-06-24 18:20:56 -07:00
Reynaldo H. Verdejo Pinochet
fe193feb42 dvbsrc: fix misplaced space on doc block 2016-06-24 18:20:56 -07:00
Alessandro Decina
9a026799f0 vtdec: minimize renegotiation to make hw decoding more reliable
The hardware decoder can become (temporarily) unavailable across
VTDecompressionSessionCreate/Destroy calls. During negotiation if the currently
configured caps are still accepted by downstream we keep using them so we don't
have to destroy and recreate the decoding session.

This indirectly fixes https://bugzilla.gnome.org/show_bug.cgi?id=767429, by
making vtdec stick to GLMemory.
2016-06-23 11:45:27 +10:00
Nirbheek Chauhan
28f0df681c winks: Port to MSVC and pretend to be Windows XP
strcasecmp is not defined on MSVC, so just use the glib wrapper. Also pretend to
be Windows XP explicitly since the API we use was deprecated and removed
(ifdef-ed) from the SDK after this version of Windows. This will be especially
relevant once we stop supporting Windows XP soon:

https://bugzilla.gnome.org/show_bug.cgi?id=756866
2016-06-21 11:32:29 +01:00
Reynaldo H. Verdejo Pinochet
eb0a785841 dvbsrc: do not rely on temp var for fail detection
Use errno instead as local var might be overwritten
before the check.
2016-06-17 15:58:09 -07:00
Reynaldo H. Verdejo Pinochet
1824703c81 dvbsrc: rework set_pids()
- Reflow to avoid unneeded nesting
- Free aux pids array earlier
- Adjust debug output to deliver more meaningful information
2016-06-17 15:58:09 -07:00
Reynaldo H. Verdejo Pinochet
13efbf35d9 dvbsrc: drop pointless debug msg 2016-06-17 15:58:09 -07:00
Sebastian Dröge
a913a0b967 avfassetsrc: Don't escape the URI before passing it to NSURL
The URI must already be escaped by the caller, we don't support passing around
invalid (unescaped) URIs via the GstURIHandler interface.

Also it will escape too much of the URI in this case, e.g.
  ipod-library://item/item.m4a?id=3143338395173862951
becomes
  ipod-library://item/item.m4a%3Fid%3D3143338395173862951

https://bugzilla.gnome.org/show_bug.cgi?id=767492
2016-06-13 09:21:50 +03:00
Sebastian Dröge
0275007107 iosassetsrc: Print the correct URI if it was rejected
We were printing the previously set URI instead of the new one.
2016-06-13 09:21:50 +03:00
Reynaldo H. Verdejo Pinochet
ea7c0981ec dvbsrc: unify exit paths on _start() 2016-06-09 14:45:59 -07:00