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.
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.
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]
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.
Edward Hervey [Thu, 17 Jan 2019 08:22:18 +0000 (09:22 +0100)]
qtdemux: Remove trailing '\n' in debug
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.
Mathieu Duponchelle [Sat, 2 Feb 2019 01:29:10 +0000 (02:29 +0100)]
rtspsrc: use the correct segment seqnum
Mathieu Duponchelle [Sat, 2 Feb 2019 01:26:47 +0000 (02:26 +0100)]
rtpjitterbuffer: use the correct segment seqnum
Mathieu Duponchelle [Sat, 2 Feb 2019 01:24:01 +0000 (02:24 +0100)]
rtpsession: use the correct segment seqnum
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 ...
```
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
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.
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.
Nirbheek Chauhan [Fri, 1 Feb 2019 08:57:11 +0000 (14:27 +0530)]
meson: Fix indentation in qt plugin and add a FIXME comment
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.
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
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.
Nicolas Dufresne [Sun, 27 Jan 2019 01:42:40 +0000 (20:42 -0500)]
test: rtph264depay: Check handling of STAP-A marker
Related to #557
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.
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.
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()
Nirbheek Chauhan [Tue, 29 Jan 2019 06:42:51 +0000 (12:12 +0530)]
meson: Add macOS definitions for qmlgl plugin
Tested with Cerbero.
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
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.
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
Xavier Claessens [Tue, 18 Dec 2018 19:46:25 +0000 (14:46 -0500)]
Meson: fallback to libsoup subproject
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
Tim-Philipp Müller [Tue, 22 Jan 2019 09:51:33 +0000 (09:51 +0000)]
meson: ximage: check for XShmAttach()
Fixes FIXME.
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
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
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.
George Kiagiadakis [Sat, 19 Jan 2019 14:37:45 +0000 (15:37 +0100)]
qmlgl: qmake: add support for MacOS target
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
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
George Kiagiadakis [Sat, 19 Jan 2019 14:10:09 +0000 (15:10 +0100)]
qmlgl: qmake: don't link against QtWidgets, it's not used
George Kiagiadakis [Sat, 19 Jan 2019 14:07:44 +0000 (15:07 +0100)]
qmlgl: qmake: fix building for android
Nirbheek Chauhan [Fri, 18 Jan 2019 21:09:32 +0000 (02:39 +0530)]
meson: Generate pkg-config file for qmlgl plugin
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.
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).
Arun Raghavan [Mon, 28 May 2018 09:09:53 +0000 (14:39 +0530)]
pulse: Fix format info to caps conversion for PCM
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
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.
Guillaume Desmottes [Thu, 17 Jan 2019 14:30:25 +0000 (15:30 +0100)]
v4l2: mark caps from probe as MAY_BE_LEAKED
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().
Tim-Philipp Müller [Thu, 17 Jan 2019 01:59:28 +0000 (01:59 +0000)]
Release 1.15.1
Tim-Philipp Müller [Thu, 17 Jan 2019 01:59:28 +0000 (01:59 +0000)]
Update docs
Tim-Philipp Müller [Thu, 17 Jan 2019 01:59:18 +0000 (01:59 +0000)]
Update translations
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.
Tim-Philipp Müller [Wed, 16 Jan 2019 00:57:46 +0000 (00:57 +0000)]
meson: enable tests for orc code
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
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.
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.
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.
Jan Alexander Steffens (heftig) [Wed, 9 Jan 2019 15:27:16 +0000 (16:27 +0100)]
test: rtph265pay: Verify we only mark the last fragment
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.
Jan Alexander Steffens (heftig) [Wed, 9 Jan 2019 14:59:16 +0000 (15:59 +0100)]
test: rtph264pay: Verify we only mark the last fragment
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.
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
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
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.
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.
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
Sebastian Dröge [Thu, 20 Dec 2018 09:45:36 +0000 (11:45 +0200)]
qtdemux: Refactor buffer pushing into its own function
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.
Seungha Yang [Sun, 30 Dec 2018 12:55:28 +0000 (21:55 +0900)]
tests: Enable more unit tests on Windows
Seungha Yang [Sun, 30 Dec 2018 12:54:44 +0000 (21:54 +0900)]
tests: Remove pointless unistd.h include
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()
Tim-Philipp Müller [Tue, 25 Dec 2018 14:31:44 +0000 (15:31 +0100)]
tests: dist new rtph265.rtp file
Fixes make distcheck.
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
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
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.
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.
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
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.
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.
Nicolas Dufresne [Wed, 19 Dec 2018 14:51:10 +0000 (09:51 -0500)]
test: rtph264/265: Add libgstrtp in auto-tool makefile
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.
Nicolas Dufresne [Fri, 14 Dec 2018 22:54:36 +0000 (17:54 -0500)]
test: rtph264depay: Check the marker is converted to flag
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.
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.
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.
Nicolas Dufresne [Tue, 4 Dec 2018 21:06:15 +0000 (16:06 -0500)]
test: rtph264pay: Add reserved nals test
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
Nicolas Dufresne [Tue, 18 Dec 2018 17:53:15 +0000 (12:53 -0500)]
rtph265depay: Drain on EOS event
Nicolas Dufresne [Tue, 18 Dec 2018 17:50:40 +0000 (12:50 -0500)]
rtph265depay: Factor out the code that push
This will be needed to implement draining on EOS.
Nicolas Dufresne [Mon, 17 Dec 2018 21:48:53 +0000 (16:48 -0500)]
rtph264depay: Drain on EOS event
Nicolas Dufresne [Fri, 14 Dec 2018 23:19:42 +0000 (18:19 -0500)]
rtph264depay: Factor out the code that push
This will be needed to implement draining on EOS.
Nicolas Dufresne [Fri, 14 Dec 2018 20:51:51 +0000 (15:51 -0500)]
rtph26xpay: Remove unused IS_ACCESS_UNIT macro
This macro is not longer used. It was secretly checking if that nal was
a slice, and confusingly name to that one may think it was checking if
the nal is an AUD.
Nicolas Dufresne [Wed, 3 Oct 2018 18:14:17 +0000 (14:14 -0400)]
rtph265pay: Fix reading timestamps from adapter
The code was reading the timestamp from the adapter before pushing the
new buffer into it. As a side effect, if the adapter was empty, we'd end
up using an older timestamp. In alignment=au, it means that all
timestamp was likely one frame in the past, while in alignment=nal, with
multiple slices per frame, the first slice would have the timestamp of
the previous one.
Nicolas Dufresne [Wed, 3 Oct 2018 17:46:08 +0000 (13:46 -0400)]
rtph265pay: Forward the marker bit as buffer flag
We have a buffer flag to represent the marker bit (when present).
Forward this bit by setting the buffer flag accordingly.
Nicolas Dufresne [Wed, 3 Oct 2018 17:44:56 +0000 (13:44 -0400)]
rtph265pay: Properly set the marker bit
The marker bit is used for efficient decoding. The assumption that
it should be set on the AUD is wrong, since the AUD is conceptually
starts the frame, while the marker is to indicate the end.
So properly set the marker bit as soon as we know we are ending an
AU and also whenever upstream have set the GST_BUFFER_FLAG_MARKER
flag.
Nicolas Dufresne [Tue, 25 Sep 2018 15:49:52 +0000 (11:49 -0400)]
rtph264pay: Fix reading timestamps from adapter
The code was reading the timestamp from the adapter before pushing the
new buffer into it. As a side effect, if the adapter was empty, we'd end
up using an older timestamp. In alignment=au, it means that all
timestamp was likely one frame in the past, while in alignment=nal, with
multiple slices per frame, the first slice would have the timestamp of
the previous one.
Nicolas Dufresne [Mon, 24 Sep 2018 19:31:12 +0000 (15:31 -0400)]
rtph264pay: Properly set the marker bit
The marker bit is used for efficient decoding. The assumption that
it should be set on the AUD is wrong, since the AUD is conceptually
starts the frame, while the marker is to indicate the end.
So properly set the marker bit as soon as we know we are ending an
AU and also whenever upstream have set the GST_BUFFER_FLAG_MARKER
flag.
Nicolas Dufresne [Mon, 24 Sep 2018 19:27:41 +0000 (15:27 -0400)]
rtph264depay: Forward the marker bit as buffer flag
We have a buffer flag to represent the marker bit (when present).
Forward this bit by setting the buffer flag accordingly.
Nicolas Dufresne [Fri, 21 Sep 2018 20:22:43 +0000 (20:22 +0000)]
rtph264pay: Protect against use of reserved NAL types
Don't allow external encoder to use one of the reserved NAL type
implicated in NAL aggreation. These out-of-spec NAL types, if passed
from the outside world will lead to an invalid RTP payload being
created.
Seungha Yang [Fri, 7 Dec 2018 12:46:12 +0000 (21:46 +0900)]
tests: Enable unit test on Windows
Allow run some unit tests on Windows.
* Remove hardcoded path separator in whitelist env for Meson to choose
OS-specific separator automatically (i.e., ';' for windows and ':' for *nix)
* Add dependency explicitly for some test cases, otherwise plugins couldn't be
loaded on uninstalled environment of Windows.
Seungha Yang [Tue, 18 Dec 2018 11:39:40 +0000 (20:39 +0900)]
meson: Prefer to use join_paths() over '/'
... to avoid mixing '/' and '\' in a path string on Windows.
Jonny Lamb [Mon, 17 Dec 2018 18:04:37 +0000 (18:04 +0000)]
rtpulpfec: stop and start the harness when setting error-after
gstreamer!55 makes some changes to how the `error-after` counter works
which breaks this test. This change makes the test not rely on the
ability to alter `error-after` at runtime and explicitly stops and
starts the harness before pushing data.
An alternative would be to add another argument to
`harness_rtpulpfecdec` to set `error-after` on construction but that's
slightly more long-winded. so I went for this approach instead.
Fixes #532, even though that's already closed.
Mathieu Duponchelle [Mon, 17 Dec 2018 17:59:34 +0000 (18:59 +0100)]
tests: remove rtpaux test
The initial mission statement for this test was:
* demonstrate usage of the request-aux-* signals in rtpbin
* test the rtx elements
We have examples that serve the first use case, and better
(harnessed) tests for the second use case.
This test is slow and racy, it served its purpose but can now
be removed.
Fixes #533
Nicola Murino [Mon, 17 Dec 2018 18:18:43 +0000 (19:18 +0100)]
souphttpsrc: check difference in time from the last socket read before changing blocksize
If the pipeline consumes the data slower than the available network speed,
for example because sync=true, is useless to increase the blocksize and
reading in too big blocksizes can cause the connection to time out
Closes #463