Commit graph

18572 commits

Author SHA1 Message Date
Thibault Saunier
bc8af2cca5 flvdemux: Do not error out if the first added and chained pad is not linked
And let it the oportunity to get its other pad linked

Example:

```
$ gst-launch-1.0 uridecodebin uri=file:///home/thiblahute/gst-validate.save/gst-integration-testsuites/testsuites/../medias/defaults/flv/819290236.flv caps=audio/x-raw expose-all-streams=FALSE ! fakesink
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
ERROR: from element /GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstFlvDemux:flvdemux0: Internal data stream error.
Additional debug info:
../subprojects/gst-plugins-good/gst/flv/gstflvdemux.c(2760): gst_flv_demux_loop (): /GstPipeline:pipeline0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstFlvDemux:flvdemux0:
streaming stopped, reason not-linked (-1)
ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...
```
2019-02-02 18:36:09 +00:00
Christopher Snowhill
818428ce9c webmmux: allow resolutions above 4096
Modify the caps string to allow width and height greater than 4096.
There is no need to restrict it since the matroska format allows the
width and height values to be up to eight bytes long, and this also
applies to the webm subset of the format.

Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/550
2019-02-02 15:40:53 +00:00
Nirbheek Chauhan
d677e635fc meson: qmlgl plugin iOS definitions
Tested with cross-ios-arm64 and cross-ios-x86, since those two are the
only archs shipped with the official Qt binaries.
2019-02-01 14:28:18 +05:30
Nirbheek Chauhan
0de89c0dbe qt: Don't define GLsync inside gstglfuncs.h
This was originally added for fixing conflicting definitions between
Android and Qt, but times have changed and now this breaks the build
on iOS:

 [...]/OpenGLES.framework/Headers/ES3/gl.h:1006:48: error: unknown type name 'gst_qt_GLsync'
 GL_API void           GL_APIENTRY glGetSynciv (GLsync sync, GLenum pname, GLsizei bufSize, GLsizei* length, GLint* values)   OPENGLES_DEPRECATED(ios(7.0, 12.0), tvos(9.0, 12.0));
                                               ^
 ../ext/qt/gstqtgl.h:49:16: note: expanded from macro 'GLsync'
 #define GLsync gst_qt_GLsync
                ^
 6 errors generated.

Instead, we simply avoid defining GLsync ourselves if we're using Qt.
2019-02-01 14:28:18 +05:30
Nirbheek Chauhan
1bdec4d055 meson: Fix indentation in qt plugin and add a FIXME comment 2019-02-01 14:28:18 +05:30
Nicolas Dufresne
6d3859bf70 rtph265depay; Fix handling of marker on aggregated packet
When multiple nals are aggrgated, the marker bit should be associated only
with the last NAL of the packet. Otherwise we may break rendering in with
AU alignment.
2019-01-31 19:30:14 +00:00
Nicolas Dufresne
98251f0158 rtph264depay: Fix handling or marker on STAP-A
Only forward the marker for the last NAL of the STAP-A. Otherwise each NAL
endup being assumed to be a full frame which may break rendering.

Fixes 557
2019-01-31 19:30:14 +00:00
Nicolas Dufresne
0725e54d6c test: h265depay: Add todo for testing aggregate packets with marker
We are missing a sample to test this, but a fix has been made, so add a
todo.
2019-01-31 19:30:14 +00:00
Nicolas Dufresne
cf3da6a443 test: rtph264depay: Check handling of STAP-A marker
Related to #557
2019-01-31 19:30:14 +00:00
Nirbheek Chauhan
ef118bd56e meson: orc-test is not required
This is especially never available on iOS.
2019-01-31 15:28:56 +05:30
Seungha Yang
fe7885b13e meson: Add support orc fallback
Allow fallback to orc subproject if any.
Additionally 'dependencies' keyword is removed from find_library,
because it's invalid keyword for find_library.
2019-01-30 19:44:37 +09:00
Mathieu Duponchelle
869e45d19c gdkpixbufdec: always output a TIME segment
It makes no sense for a decoder to output a BYTES segment, and
many elements one would plug downstream of a video decoder assume
the segments they receive are in TIME format, for example this fixes:

gst-validate-1.0 filesrc location=opacity01.svg ! gdkpixbufdec ! \
videobalance ! videoconvert ! fakesink

In that case, videobalance was emitting an assertion when trying to
call gst_object_sync_values()
2019-01-29 18:46:25 +00:00
Nirbheek Chauhan
e9b5e78c9e meson: Add macOS definitions for qmlgl plugin
Tested with Cerbero.
2019-01-29 12:19:37 +05:30
Nirbheek Chauhan
8f9ca07756 meson: Fix building of qmlgl plugin on Android
Needs gnustl for C++ STL support, which is the GNU STL on Android API
19 and older, and is a wrapper for the llvm-libc++ STL on newer APIs.

QtGui C++ templates use GL functions, so GLESv2 is needed at link time
2019-01-29 12:19:37 +05:30
Vincent Penquerc'h
a329a3a2c6 deinterleave: Allow switching between 1 channel configs
regardless of whether they're positioned, since positioning
with a 1 channel stream doesn't change anything.
2019-01-28 23:23:41 +00:00
Nirbheek Chauhan
eddaf49510 configure.ac: Fix Qt Android integration
The Qt Android integration is now signalled with HAVE_QT_ANDROID

See: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/merge_requests/86
2019-01-28 10:50:16 +00:00
Xavier Claessens
aaa7c60b52 Meson: fallback to libsoup subproject 2019-01-23 21:05:10 +00:00
Tim-Philipp Müller
8ed603958d meson: detect opengl api from -base .pc files correctly
There was a mismatch between the .pc files generated by
autotools and by meson that would lead to meson not detecting
that opengl api is available even though it is, if -base was
built with autotools. The mismatch has now been rectified in
-base, so we need to update for that.

This is mostly for consistency, this problem didn't seem
to affect anything in -good.

See https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/871
2019-01-22 13:47:56 +00:00
Tim-Philipp Müller
64a991d7b8 meson: ximage: check for XShmAttach()
Fixes FIXME.
2019-01-22 09:52:14 +00:00
Tim-Philipp Müller
e234932dc7 meson: add options for ximagesrc xshm, xfixes, xdamage checks
And rename x11 option to ximagesrc.

Fixes #553
2019-01-22 09:52:03 +00:00
George Kiagiadakis
0a1d048ee3 qmlgl: add README.md with information on building for non-linux platforms with qmake 2019-01-21 11:55:50 +02:00
George Kiagiadakis
f09807fc3d qmlgl: meson: fix theoretical support for building for android
The android code path is slightly different than the EGLFS one,
so I added previously a HAVE_QT_ANDROID define for use with qmake.
Here I also add it in meson, although I expect nobody will ever use
meson to build this, as it's complicated.
2019-01-21 11:55:50 +02:00
George Kiagiadakis
eab642b1c3 qmlgl: qmake: add support for MacOS target 2019-01-21 11:55:50 +02:00
George Kiagiadakis
66d0c41161 qmlgl: qmake: remove cerbero's include dir from the include path
pkg-config should do it's job here, this is unnecessary and implies using cerbero
2019-01-21 11:55:50 +02:00
George Kiagiadakis
e279903857 qmlgl: qualify Qt includes with their module and remove module include dir from the .pro file
it is perfectly legal to use the <module/class> style of includes with Qt
and it avoids the need for having the module's include dir in the include path
2019-01-21 11:55:50 +02:00
George Kiagiadakis
584c5afbe5 qmlgl: qmake: don't link against QtWidgets, it's not used 2019-01-21 11:55:50 +02:00
George Kiagiadakis
d75284cd83 qmlgl: qmake: fix building for android 2019-01-21 11:55:50 +02:00
Nirbheek Chauhan
00f14f34b5 meson: Generate pkg-config file for qmlgl plugin 2019-01-18 21:11:25 +00:00
Victor Toso
4a33b083f1 tests: rtp-payloading avoid -Wmaybe-uninitialized
More false positives as both of them are initialized in the line
before they are used, wrapped with fail_unless() check.
2019-01-18 13:53:18 +00:00
Victor Toso
2f77d877c3 tests: matroskamux avoid -Wmaybe-uninitialized
False positive for the three variables but some warnings like:

   ../tests/check/elements/matroskamux.c:875:10:
    warning: 'chapters_offset' may be used uninitialized in this function [-Wmaybe-uninitialized]
   *index = chapters_offset;
   ~~~~~~~^~~~~~~~~~~~~~~~~

The above is false positive as there is a gboolean to check if it was
initialized or not (found_chapters_declaration).
2019-01-18 13:53:18 +00:00
Arun Raghavan
f5bb377a78 pulse: Fix format info to caps conversion for PCM 2019-01-18 11:06:38 +00:00
Arun Raghavan
4e9a8e5883 Revert "pulsesrc: Move to extended stream API"
This reverts commit 4d67d1bd16.

Using the extended API for the capture path depends on a fix in
PulseAudio
(https://gitlab.freedesktop.org/pulseaudio/pulseaudio/merge_requests/49).

Until then, let's go back to the standard API.

Fixes: https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/552
2019-01-18 11:06:38 +00:00
Nirbheek Chauhan
9ece93dbd8 meson: Search for qmake-qt5 before qmake
The canonical name for the binary is qmake-qt5, and qmake is the
generic name that can also be a qt4 qmake.
2019-01-18 14:41:14 +05:30
Guillaume Desmottes
e7b84b0f6c v4l2: mark caps from probe as MAY_BE_LEAKED 2019-01-17 15:05:45 +00:00
Guillaume Desmottes
bb2063f632 v4l2transform: fix cdata caps leaks
The cdata structure was freed but not its caps.
It was already done in gst_v4l2_video_dec_subclass_init() and
gst_v4l2_video_enc_subclass_init().
2019-01-17 15:05:45 +00:00
Tim-Philipp Müller
e579614b1a Release 1.15.1 2019-01-17 01:59:33 +00:00
Tim-Philipp Müller
300f6ed614 Update docs 2019-01-17 01:59:28 +00:00
Tim-Philipp Müller
10014d1eac Update translations 2019-01-17 01:59:22 +00:00
Sebastian Dröge
db0eca886f gtk/gl: Only unbind buffers/vertex attrib arrays if we can't directly bind the vertex array to 0
Binding the vertex array to 0 will unbind everything else already.

In the previous order older versions of the Intel GL driver caused
errors to be printed for every single call when disabling the vertex
attrib arrays after binding the vertex array to 0.
2019-01-16 14:11:44 +02:00
Tim-Philipp Müller
6700c16989 meson: enable tests for orc code 2019-01-16 00:57:46 +00:00
Patrick Radizi
d3662bae00 rtspsrc: send GstRTSPSrcTimeout message on timeout
The GstRTSPSrcTimeout message is sent by the rtspsrc when it receives
the on-timeout signal from rtpsession. This can be used by an
application for error handling.

https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/499
2019-01-14 08:15:23 +00:00
Sebastian Dröge
ab8100e664 flvdemux: Handle the encoder metadata the same as metadatacreator
And store it in our ENCODER tag.
2019-01-13 13:22:41 +00:00
Sebastian Dröge
c28a9d5d9c flvmux: Add encoder metadata to the header
And also add a property for setting this. By default it has the same
value as the metadatacreator metadata.

Various software is using encoder instead of metadatacreator, others are
using them both for different purposes. As such it's useful to have
support for setting both here.
2019-01-13 13:22:41 +00:00
Arun Raghavan
4d67d1bd16 pulsesrc: Move to extended stream API
This is needed as a precursor to allowing capture of IEC61937
formats. We now also need to include the channel map while converting
format info to caps so that a correct channel mask is generated for
pulsesrc's caps.
2019-01-10 09:16:02 +00:00
Jan Alexander Steffens (heftig)
8f8de410c5 test: rtph265pay: Verify we only mark the last fragment 2019-01-09 15:36:40 +00:00
Jan Alexander Steffens (heftig)
03d138985f test: rtph265pay: Use a bigger test frame
The existing frame's last slice is too small to be used for
fragmentation tests.
2019-01-09 15:36:40 +00:00
Jan Alexander Steffens (heftig)
791711f9be test: rtph264pay: Verify we only mark the last fragment 2019-01-09 15:36:40 +00:00
Jan Alexander Steffens (heftig)
06b2bbd8c7 rtph265pay: Only mark the last fragment of an AU
Commit e721071dca removed the check for
the end of fragmentation. As a result, all fragments of an AU's last
NALU were marked.
2019-01-09 15:36:40 +00:00
Jan Alexander Steffens (heftig)
798f320ba7 rtph264pay: Only mark the last fragment of an AU
Commit 4add820cce removed the check for
the end of fragmentation. As a result, all fragments of an AU's last
NALU were marked.

Potential fix for https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/issues/540
2019-01-09 15:36:40 +00:00
Sebastian Dröge
3537c4d217 splitmuxsrc: Refactor part preparation code and remove "prepared" signal from reader helper object
We don't need a special signal anymore but can directly work with
async-done
2019-01-09 13:35:58 +02:00