platform/upstream/gstreamer.git
5 years agoRelease 1.15.2
Tim-Philipp Müller [Tue, 26 Feb 2019 11:47:29 +0000 (11:47 +0000)]
Release 1.15.2

5 years agoUpdate docs
Tim-Philipp Müller [Tue, 26 Feb 2019 11:47:29 +0000 (11:47 +0000)]
Update docs

5 years agoUpdate translations
Tim-Philipp Müller [Tue, 26 Feb 2019 11:47:25 +0000 (11:47 +0000)]
Update translations

5 years agov4l2: accept Bayer as possible input/output for V4L2 codecs
Mauro Carvalho Chehab [Fri, 22 Feb 2019 15:22:04 +0000 (12:22 -0300)]
v4l2: accept Bayer as possible input/output for V4L2 codecs

A V4L2 transform codec may input/output data on Bayer format.

Add support for that.

5 years agov4l2: fix a typo on a debug message at v4l2_calls
Mauro Carvalho Chehab [Fri, 22 Feb 2019 15:22:44 +0000 (12:22 -0300)]
v4l2: fix a typo on a debug message at v4l2_calls

suppored -> supported

5 years agov4l2dec: also remove the colorimetry and chroma-site fields
Matthew Waters [Mon, 25 Feb 2019 08:08:08 +0000 (19:08 +1100)]
v4l2dec: also remove the colorimetry and chroma-site fields

If a different format is chosen, then these values are incorrect.

5 years agortpsession: Fix EOS forwarding
Nicolas Dufresne [Fri, 22 Feb 2019 21:02:12 +0000 (16:02 -0500)]
rtpsession: Fix EOS forwarding

So far we assumed that if all sources are bye, this meant we needed to
send an EOS on the RTCP sink. The problem is that this case may happens
if we only had one internal source and it detected a collision.

So now we limit the EOS forwarding to when there is a send_rtp_sink pad
and that this pad has received EOS. We don'tcheck the recv_rtp_sink
since the code does not wait for the bye to be send before sending EOS
to the RTCP src pad.

5 years agowavparse: Declare support for RF64
Jan Schmidt [Sun, 24 Feb 2019 14:12:56 +0000 (01:12 +1100)]
wavparse: Declare support for RF64

RF64 encode support was added to wavenc quite some time
ago, but not declared in wavparse. It seems wavparse can
decode it though, so add it to the sink pad.

The RF64 support was added in
https://bugzilla.gnome.org/show_bug.cgi?id=735627

5 years agortp: Add property to disable RTCP reports per internal rtpsource
Nicolas Dufresne [Tue, 12 Feb 2019 23:28:40 +0000 (18:28 -0500)]
rtp: Add property to disable RTCP reports per internal rtpsource

This is useful when implementing custom retransmission mechanism like
RIST to prevent RTCP from being produces for the retransmitted SSRC.
This would also be used in general for various purpose when customizing
an RTP base pipeline.

5 years agortpsession: Emit on-new-sender-ssrc for RTX ssrc also
Olivier Crête [Tue, 12 Feb 2019 23:26:21 +0000 (18:26 -0500)]
rtpsession: Emit on-new-sender-ssrc for RTX ssrc also

5 years agortp jitterbuffer test: Test for queue filling
Olivier Crête [Tue, 15 Jan 2019 23:04:09 +0000 (18:04 -0500)]
rtp jitterbuffer test: Test for queue filling

5 years agortpjitterbuffer: Limit size to 2^15 packets
Olivier Crête [Fri, 11 Jan 2019 22:53:43 +0000 (17:53 -0500)]
rtpjitterbuffer: Limit size to 2^15 packets

If it goes over 2^15 packets, it will think it has rolled over
and start dropping all packets. So make sure the seqnum distance is not too big.

But let's not limit it to a number that is too small to avoid emptying it
needlessly if there is a spurious huge sequence number, let's allow at
least 10k packets in any case.

5 years agortpjitterbuffer: There is no automatic reorder threshold
Olivier Crête [Mon, 11 Feb 2019 16:33:32 +0000 (11:33 -0500)]
rtpjitterbuffer: There is no automatic reorder threshold

5 years agopulse: Post DEVICE_CHANGED on modification
Thibault Saunier [Wed, 30 Jan 2019 13:47:49 +0000 (10:47 -0300)]
pulse: Post DEVICE_CHANGED on modification

5 years agopulse: Mark default devices as "default"
Thibault Saunier [Mon, 26 Nov 2018 16:48:56 +0000 (13:48 -0300)]
pulse: Mark default devices as "default"

5 years agoflvmux: Use 8kHz sample rate for alaw/mulaw audio
Ilya Smelykh [Fri, 8 Feb 2019 16:10:25 +0000 (16:10 +0000)]
flvmux: Use 8kHz sample rate for alaw/mulaw audio

5 years agoflvdemux: set sample rate to 8KHz for G.711 audio
Ilya Smelykh [Thu, 7 Feb 2019 09:54:31 +0000 (09:54 +0000)]
flvdemux: set sample rate to 8KHz for G.711 audio

5 years agoqtmux: Only write timecode trak for video
Vivia Nikolaidou [Fri, 8 Feb 2019 11:59:19 +0000 (13:59 +0200)]
qtmux: Only write timecode trak for video

Recent changes in ccextractor were attaching timecode meta to the closed
caption track. We shouldn't write timecode information for the closed
caption trak.

5 years agovpx: Fix build against libvpx 1.8
Jan Alexander Steffens (heftig) [Tue, 5 Feb 2019 21:14:18 +0000 (22:14 +0100)]
vpx: Fix build against libvpx 1.8

The deprecated debug visualizer was removed.

5 years agomisc: Fix warnings on Cerbero's mingw (gcc 4.7)
Nirbheek Chauhan [Tue, 5 Feb 2019 14:11:51 +0000 (19:41 +0530)]
misc: Fix warnings on Cerbero's mingw (gcc 4.7)

error: this decimal constant is unsigned only in ISO C90 [-Werror]

5 years agopulsesink: Deal with not being able to convert a format to caps
Arun Raghavan [Wed, 6 Feb 2019 09:13:18 +0000 (14:43 +0530)]
pulsesink: Deal with not being able to convert a format to caps

It is possible that PulseAudio adds formats that are not yet supported
in pulsesink, and in those cases, we want to gracefully skip them rather
than cause an assert on a NULL caps.

5 years agoqtdemux: Remove trailing '\n' in debug
Edward Hervey [Thu, 17 Jan 2019 08:22:18 +0000 (09:22 +0100)]
qtdemux: Remove trailing '\n' in debug

5 years agoqmlgl: Fix opengl header guard changes again
Matthew Waters [Tue, 5 Feb 2019 04:27:49 +0000 (15:27 +1100)]
qmlgl: Fix opengl header guard changes again

Reapply 3d708a5bfa8961cc37671bc3226976dfc9ba50ad in the correct place
after the iOS additions.

5 years agortspsrc: use the correct segment seqnum
Mathieu Duponchelle [Sat, 2 Feb 2019 01:29:10 +0000 (02:29 +0100)]
rtspsrc: use the correct segment seqnum

5 years agortpjitterbuffer: use the correct segment seqnum
Mathieu Duponchelle [Sat, 2 Feb 2019 01:26:47 +0000 (02:26 +0100)]
rtpjitterbuffer: use the correct segment seqnum

5 years agortpsession: use the correct segment seqnum
Mathieu Duponchelle [Sat, 2 Feb 2019 01:24:01 +0000 (02:24 +0100)]
rtpsession: use the correct segment seqnum

5 years agoflvdemux: Do not error out if the first added and chained pad is not linked
Thibault Saunier [Sat, 26 Jan 2019 13:35:31 +0000 (10:35 -0300)]
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 ...
```

5 years agowebmmux: allow resolutions above 4096
Christopher Snowhill [Thu, 17 Jan 2019 07:54:25 +0000 (23:54 -0800)]
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

5 years agomeson: qmlgl plugin iOS definitions
Nirbheek Chauhan [Fri, 1 Feb 2019 08:57:11 +0000 (14:27 +0530)]
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.

5 years agoqt: Don't define GLsync inside gstglfuncs.h
Nirbheek Chauhan [Fri, 1 Feb 2019 08:57:11 +0000 (14:27 +0530)]
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.

5 years agomeson: Fix indentation in qt plugin and add a FIXME comment
Nirbheek Chauhan [Fri, 1 Feb 2019 08:57:11 +0000 (14:27 +0530)]
meson: Fix indentation in qt plugin and add a FIXME comment

5 years agortph265depay; Fix handling of marker on aggregated packet
Nicolas Dufresne [Sun, 27 Jan 2019 02:02:27 +0000 (21:02 -0500)]
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.

5 years agortph264depay: Fix handling or marker on STAP-A
Nicolas Dufresne [Sun, 27 Jan 2019 02:01:08 +0000 (21:01 -0500)]
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

5 years agotest: h265depay: Add todo for testing aggregate packets with marker
Nicolas Dufresne [Sun, 27 Jan 2019 14:19:00 +0000 (09:19 -0500)]
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.

5 years agotest: rtph264depay: Check handling of STAP-A marker
Nicolas Dufresne [Sun, 27 Jan 2019 01:42:40 +0000 (20:42 -0500)]
test: rtph264depay: Check handling of STAP-A marker

Related to #557

5 years agomeson: orc-test is not required
Nirbheek Chauhan [Thu, 31 Jan 2019 09:53:43 +0000 (15:23 +0530)]
meson: orc-test is not required

This is especially never available on iOS.

5 years agomeson: Add support orc fallback
Seungha Yang [Wed, 30 Jan 2019 10:44:01 +0000 (19:44 +0900)]
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.

5 years agogdkpixbufdec: always output a TIME segment
Mathieu Duponchelle [Thu, 17 Jan 2019 20:06:54 +0000 (21:06 +0100)]
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()

5 years agomeson: Add macOS definitions for qmlgl plugin
Nirbheek Chauhan [Tue, 29 Jan 2019 06:42:51 +0000 (12:12 +0530)]
meson: Add macOS definitions for qmlgl plugin

Tested with Cerbero.

5 years agomeson: Fix building of qmlgl plugin on Android
Nirbheek Chauhan [Tue, 29 Jan 2019 06:42:51 +0000 (12:12 +0530)]
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

5 years agodeinterleave: Allow switching between 1 channel configs
Vincent Penquerc'h [Thu, 24 Jan 2019 21:21:12 +0000 (16:21 -0500)]
deinterleave: Allow switching between 1 channel configs

regardless of whether they're positioned, since positioning
with a 1 channel stream doesn't change anything.

5 years agoconfigure.ac: Fix Qt Android integration
Nirbheek Chauhan [Tue, 22 Jan 2019 06:15:49 +0000 (11:45 +0530)]
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

5 years agoMeson: fallback to libsoup subproject
Xavier Claessens [Tue, 18 Dec 2018 19:46:25 +0000 (14:46 -0500)]
Meson: fallback to libsoup subproject

5 years agomeson: detect opengl api from -base .pc files correctly
Tim-Philipp Müller [Tue, 22 Jan 2019 12:52:25 +0000 (12:52 +0000)]
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

5 years agomeson: ximage: check for XShmAttach()
Tim-Philipp Müller [Tue, 22 Jan 2019 09:51:33 +0000 (09:51 +0000)]
meson: ximage: check for XShmAttach()

Fixes FIXME.

5 years agomeson: add options for ximagesrc xshm, xfixes, xdamage checks
Tim-Philipp Müller [Tue, 22 Jan 2019 09:32:31 +0000 (09:32 +0000)]
meson: add options for ximagesrc xshm, xfixes, xdamage checks

And rename x11 option to ximagesrc.

Fixes #553

5 years agoqmlgl: add README.md with information on building for non-linux platforms with qmake
George Kiagiadakis [Mon, 21 Jan 2019 09:53:53 +0000 (11:53 +0200)]
qmlgl: add README.md with information on building for non-linux platforms with qmake

5 years agoqmlgl: meson: fix theoretical support for building for android
George Kiagiadakis [Sat, 19 Jan 2019 14:46:41 +0000 (15:46 +0100)]
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.

5 years agoqmlgl: qmake: add support for MacOS target
George Kiagiadakis [Sat, 19 Jan 2019 14:37:45 +0000 (15:37 +0100)]
qmlgl: qmake: add support for MacOS target

5 years agoqmlgl: qmake: remove cerbero's include dir from the include path
George Kiagiadakis [Sat, 19 Jan 2019 14:21:43 +0000 (15:21 +0100)]
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

5 years agoqmlgl: qualify Qt includes with their module and remove module include dir from the...
George Kiagiadakis [Sat, 19 Jan 2019 14:19:26 +0000 (15:19 +0100)]
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

5 years agoqmlgl: qmake: don't link against QtWidgets, it's not used
George Kiagiadakis [Sat, 19 Jan 2019 14:10:09 +0000 (15:10 +0100)]
qmlgl: qmake: don't link against QtWidgets, it's not used

5 years agoqmlgl: qmake: fix building for android
George Kiagiadakis [Sat, 19 Jan 2019 14:07:44 +0000 (15:07 +0100)]
qmlgl: qmake: fix building for android

5 years agomeson: Generate pkg-config file for qmlgl plugin
Nirbheek Chauhan [Fri, 18 Jan 2019 21:09:32 +0000 (02:39 +0530)]
meson: Generate pkg-config file for qmlgl plugin

5 years agotests: rtp-payloading avoid -Wmaybe-uninitialized
Victor Toso [Thu, 17 Jan 2019 15:26:56 +0000 (16:26 +0100)]
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.

5 years agotests: matroskamux avoid -Wmaybe-uninitialized
Victor Toso [Thu, 17 Jan 2019 15:19:40 +0000 (16:19 +0100)]
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).

5 years agopulse: Fix format info to caps conversion for PCM
Arun Raghavan [Mon, 28 May 2018 09:09:53 +0000 (14:39 +0530)]
pulse: Fix format info to caps conversion for PCM

5 years agoRevert "pulsesrc: Move to extended stream API"
Arun Raghavan [Fri, 18 Jan 2019 06:57:34 +0000 (12:27 +0530)]
Revert "pulsesrc: Move to extended stream API"

This reverts commit 4d67d1bd16bcf25acf89d8acd952badcd5b9a657.

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

5 years agomeson: Search for qmake-qt5 before qmake
Nirbheek Chauhan [Fri, 18 Jan 2019 09:11:14 +0000 (14:41 +0530)]
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.

5 years agov4l2: mark caps from probe as MAY_BE_LEAKED
Guillaume Desmottes [Thu, 17 Jan 2019 14:30:25 +0000 (15:30 +0100)]
v4l2: mark caps from probe as MAY_BE_LEAKED

5 years agov4l2transform: fix cdata caps leaks
Guillaume Desmottes [Tue, 15 Jan 2019 17:06:11 +0000 (18:06 +0100)]
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().

5 years agoRelease 1.15.1
Tim-Philipp Müller [Thu, 17 Jan 2019 01:59:28 +0000 (01:59 +0000)]
Release 1.15.1

5 years agoUpdate docs
Tim-Philipp Müller [Thu, 17 Jan 2019 01:59:28 +0000 (01:59 +0000)]
Update docs

5 years agoUpdate translations
Tim-Philipp Müller [Thu, 17 Jan 2019 01:59:18 +0000 (01:59 +0000)]
Update translations

5 years agogtk/gl: Only unbind buffers/vertex attrib arrays if we can't directly bind the vertex...
Sebastian Dröge [Wed, 16 Jan 2019 12:11:44 +0000 (14:11 +0200)]
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.

5 years ago meson: enable tests for orc code
Tim-Philipp Müller [Wed, 16 Jan 2019 00:57:46 +0000 (00:57 +0000)]
 meson: enable tests for orc code

5 years agortspsrc: send GstRTSPSrcTimeout message on timeout
Patrick Radizi [Thu, 29 Nov 2018 15:07:08 +0000 (16:07 +0100)]
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

5 years agoflvdemux: Handle the encoder metadata the same as metadatacreator
Sebastian Dröge [Wed, 9 Jan 2019 15:52:28 +0000 (17:52 +0200)]
flvdemux: Handle the encoder metadata the same as metadatacreator

And store it in our ENCODER tag.

5 years agoflvmux: Add encoder metadata to the header
Sebastian Dröge [Wed, 9 Jan 2019 15:48:36 +0000 (17:48 +0200)]
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.

5 years agopulsesrc: Move to extended stream API
Arun Raghavan [Mon, 28 May 2018 09:11:05 +0000 (14:41 +0530)]
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.

5 years agotest: rtph265pay: Verify we only mark the last fragment
Jan Alexander Steffens (heftig) [Wed, 9 Jan 2019 15:27:16 +0000 (16:27 +0100)]
test: rtph265pay: Verify we only mark the last fragment

5 years agotest: rtph265pay: Use a bigger test frame
Jan Alexander Steffens (heftig) [Wed, 9 Jan 2019 15:24:54 +0000 (16:24 +0100)]
test: rtph265pay: Use a bigger test frame

The existing frame's last slice is too small to be used for
fragmentation tests.

5 years agotest: rtph264pay: Verify we only mark the last fragment
Jan Alexander Steffens (heftig) [Wed, 9 Jan 2019 14:59:16 +0000 (15:59 +0100)]
test: rtph264pay: Verify we only mark the last fragment

5 years agortph265pay: Only mark the last fragment of an AU
Jan Alexander Steffens (heftig) [Wed, 9 Jan 2019 15:25:36 +0000 (16:25 +0100)]
rtph265pay: Only mark the last fragment of an AU

Commit e721071dcac9f231e5e10b4bb31323658a6cdd1a removed the check for
the end of fragmentation. As a result, all fragments of an AU's last
NALU were marked.

5 years agortph264pay: Only mark the last fragment of an AU
Jan Alexander Steffens (heftig) [Wed, 9 Jan 2019 14:56:51 +0000 (15:56 +0100)]
rtph264pay: Only mark the last fragment of an AU

Commit 4add820cce278213ede3d5fce427ea92e0619b6f 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

5 years agosplitmuxsrc: Refactor part preparation code and remove "prepared" signal from reader...
Sebastian Dröge [Wed, 9 Jan 2019 09:48:52 +0000 (11:48 +0200)]
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

5 years agosplitmuxsrc: Implement state change asynchronously instead of blocking
Sebastian Dröge [Wed, 9 Jan 2019 09:42:36 +0000 (11:42 +0200)]
splitmuxsrc: Implement state change asynchronously instead of blocking

Blocking in change_state() is a recipe for disaster, even more so if
we wait for another thread that also calls into various element API and
could then lead to deadlocks on e.g. the state lock.

5 years agopulsesrc: fix checking for invalid stream index
Marc-André Lureau [Sat, 5 Jan 2019 19:10:46 +0000 (23:10 +0400)]
pulsesrc: fix checking for invalid stream index

PA_INVALID_INDEX, the default value, is unfortunately !0.

Setting the volume before the stream is created will put the ring
buffer in error state. Unfortunately, that's what spice-gtk does.

5 years agoqtdemux: Split CEA608 buffers correctly so that each output buffer represents a singl...
Sebastian Dröge [Thu, 20 Dec 2018 10:14:46 +0000 (12:14 +0200)]
qtdemux: Split CEA608 buffers correctly so that each output buffer represents a single frame

5 years agoqtdemux: Refactor buffer pushing into its own function
Sebastian Dröge [Thu, 20 Dec 2018 09:45:36 +0000 (11:45 +0200)]
qtdemux: Refactor buffer pushing into its own function

5 years agoqtdemux: Extract CEA608 framerate from the (first) video stream
Sebastian Dröge [Thu, 20 Dec 2018 09:31:58 +0000 (11:31 +0200)]
qtdemux: Extract CEA608 framerate from the (first) video stream

EA608 closed caption tracks are a bit special in that each sample
can contain CCs for multiple frames, and CCs can be omitted and have to
be inferred from the duration of the sample then.

As such we take the framerate from the (first) video track here for
CEA608 as there must be one CC byte pair for every video frame
according to the spec.

For CEA708 all is fine and there is one sample per frame.

5 years agotests: Enable more unit tests on Windows
Seungha Yang [Sun, 30 Dec 2018 12:55:28 +0000 (21:55 +0900)]
tests: Enable more unit tests on Windows

5 years agotests: Remove pointless unistd.h include
Seungha Yang [Sun, 30 Dec 2018 12:54:44 +0000 (21:54 +0900)]
tests: Remove pointless unistd.h include

5 years agomatroskademux: Don't leak allocated index memory
Seungha Yang [Wed, 26 Dec 2018 11:27:58 +0000 (20:27 +0900)]
matroskademux: Don't leak allocated index memory

Don't forget to free returned memory from _search_pos()

5 years agotests: dist new rtph265.rtp file
Tim-Philipp Müller [Tue, 25 Dec 2018 14:31:44 +0000 (15:31 +0100)]
tests: dist new rtph265.rtp file

Fixes make distcheck.

5 years agoaudiofx: add stereo element which was moved from -bad to build
Tim-Philipp Müller [Tue, 25 Dec 2018 13:51:38 +0000 (14:51 +0100)]
audiofx: add stereo element which was moved from -bad to build

Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/457

5 years agoMove stereo plugin from -bad
Tim-Philipp Müller [Tue, 25 Dec 2018 12:07:23 +0000 (13:07 +0100)]
Move stereo plugin from -bad

https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/457

5 years agoqtdemux: Offset correction for track language code parsing
Philippe Normand [Sat, 22 Dec 2018 16:55:51 +0000 (17:55 +0100)]
qtdemux: Offset correction for track language code parsing

The duration field being a uint64, is stored in 8 bytes, not 4. So the offset of
the following field, language code, needs to be updated accordingly so that the
parsed language code is not garbage.

5 years agortspsrc: Accept NULL for "port-range" property
Juan Navarro [Fri, 21 Dec 2018 09:59:22 +0000 (10:59 +0100)]
rtspsrc: Accept NULL for "port-range" property

The documentation of "port-range" implies that passing NULL should be
valid, but currently it is not. Without this check, the sscanf() call
will crash.

5 years agoRevert "rtpbin: receive bundle support"
Mathieu Duponchelle [Wed, 19 Dec 2018 13:28:54 +0000 (14:28 +0100)]
Revert "rtpbin: receive bundle support"

This reverts commit dcd3ce9751cdef0b5ab1fa118355f92bdfe82cb3.

This functionality was implemented for gstopenwebrtc, but it
turned out this was not actually needed for webrtc bundling
support, as shown in webrtcbin. It also doesn't correspond
to any standards.

This is an API break, but nothing should actually depend on
this, at least not for its initial purpose.

Changes in rtpbin.c were reverted manually, to preserve some
refactoring that had occurred in the original commit.

Fixes #537

5 years agortph264pay/rtph265pay: Fix use after free
Nicolas Dufresne [Wed, 19 Dec 2018 16:36:37 +0000 (11:36 -0500)]
rtph264pay/rtph265pay: Fix use after free

We can't assume a buffer that has been pushed in the adapter is still
valid. This fixes a use after free detect when running test on jenkins.

5 years agotagschecking: Use gst_message_parse_warning in case of GST_MESSAGE_WARNING
KimTaeSoo [Wed, 19 Dec 2018 13:51:11 +0000 (22:51 +0900)]
tagschecking: Use gst_message_parse_warning in case of GST_MESSAGE_WARNING

Bus message handler of tags checking unit test uses gst_message_parse_error()
in case of GST_MESSAGE_ERROR and GST_MESAGE_WARNING.
If gst_message_parse_error() is called in case of GST_MESSAGE_WARNING, assert occurs.
So modified to use gst_message_parse_warning() in case of GST_MESSAGE_WARNING.

5 years agotest: rtph264/265: Add libgstrtp in auto-tool makefile
Nicolas Dufresne [Wed, 19 Dec 2018 14:51:10 +0000 (09:51 -0500)]
test: rtph264/265: Add libgstrtp in auto-tool makefile

5 years agotest: rtph265: Copy and port tests from rtph264
Nicolas Dufresne [Tue, 18 Dec 2018 17:43:30 +0000 (12:43 -0500)]
test: rtph265: Copy and port tests from rtph264

This copy and port all the relevant tests from rtph264.

5 years agotest: rtph264depay: Check the marker is converted to flag
Nicolas Dufresne [Fri, 14 Dec 2018 22:54:36 +0000 (17:54 -0500)]
test: rtph264depay: Check the marker is converted to flag

5 years agotest: rtph264depay: Check that EOS drains the depayloaded
Nicolas Dufresne [Fri, 14 Dec 2018 22:53:17 +0000 (17:53 -0500)]
test: rtph264depay: Check that EOS drains the depayloaded

In AU mode, the depayloader may have accumulated NALs, test that
these NALs are drained and not dropped.

5 years agotest: rtph264pay: Add tests for marker bit
Nicolas Dufresne [Fri, 14 Dec 2018 20:30:21 +0000 (15:30 -0500)]
test: rtph264pay: Add tests for marker bit

Test that marker bit is transferred when input buffer has the
marker flag set but also that it's set whenever the payloader
receives complete AU.

5 years agotest: rtph264pay: Verify slices timestamp
Nicolas Dufresne [Thu, 13 Dec 2018 20:57:24 +0000 (15:57 -0500)]
test: rtph264pay: Verify slices timestamp

This test make sure that timestamps are properly transfered
to each NALU.

5 years agotest: rtph264pay: Add reserved nals test
Nicolas Dufresne [Tue, 4 Dec 2018 21:06:15 +0000 (16:06 -0500)]
test: rtph264pay: Add reserved nals test

5 years agortph265pay: Don't wait for next nal when input is aligned
Nicolas Dufresne [Tue, 18 Dec 2018 18:16:44 +0000 (13:16 -0500)]
rtph265pay: Don't wait for next nal when input is aligned

This is the same as what was done on rtph264pay in the patch
d5d28055c1e816e90e8c2d1151816b0c3e760ff3