Tim-Philipp Müller [Tue, 8 Aug 2017 17:58:11 +0000 (18:58 +0100)]
rtph265pay: don't add trailing zeros to VPS/PPS/SPS
This would happen if input is byte-stream with four-byte
sync markers instead of three-byte ones. The code that
scans for sync markers will place the start of the NALU
on the third-last byte of the NALU sync marker, which
means that any additional zeros may be counted as belonging
to the previous NALU instead of being part of the next sync
marker. Fix that so we don't send VPS/SPS/PPS with trailing
zeros in this case.
See https://bugzilla.gnome.org/show_bug.cgi?id=732758
Tim-Philipp Müller [Fri, 16 Jun 2017 11:41:49 +0000 (12:41 +0100)]
rtph265depay: assemble AUs into downstream-allocated memory
When merging NALs into AUs, use downstream-provided allocator
to allocate memory and copy NALs directly into that memory when
assembling them.
Tim-Philipp Müller [Fri, 16 Jun 2017 11:30:13 +0000 (12:30 +0100)]
rtph265depay: try to negotiate an allocator with downstream
Tim-Philipp Müller [Fri, 16 Jun 2017 11:13:32 +0000 (12:13 +0100)]
rtph265depay: simplify buffer accumulation control flow
There is no difference between pushing out a buffer directly
with gst_rtp_base_depayload_push() and returning it from the
process function. The base class will just call _depayload_push()
on the returned buffer as well.
So instead of marshalling buffers through three layers and back,
just push them from one place in handle_nal() and always return
NULL from the process vfunc. This simplifies the code a little.
Also rename _push_fragmentation_unit() to _finish_fragmentation_unit()
for clarity. Push sounds like it means being pushed out, whereas
it might just be pushed into an adapter.
This change has the side-effect that multiple NALs in a single STAP
(such as SPS/PPS) may no longer be pushed out as a single buffer if
we output NALs in byte-stream format (i.e. not aggregate AUs), but
that shouldn't really make any difference to anyone.
Tim-Philipp Müller [Fri, 16 Jun 2017 10:18:16 +0000 (11:18 +0100)]
rtph265depay: fix crash with empty sprops-parameters
https://bugzilla.gnome.org/show_bug.cgi?id=780040
Tim-Philipp Müller [Fri, 16 Jun 2017 11:20:34 +0000 (12:20 +0100)]
rtph265depay: minor clean-up
Declutter caps update code a bit.
Tim-Philipp Müller [Tue, 8 Aug 2017 12:10:15 +0000 (13:10 +0100)]
tests: rtp-payloading: add unit test for rtph264pay codec_data
Make sure no trailing zero bytes sneak into our SPS or PPS.
https://bugzilla.gnome.org/show_bug.cgi?id=732758
Philip Craig [Sat, 5 Jul 2014 06:21:48 +0000 (06:21 +0000)]
rtph264pay: don't add trailing zeros to PPS/SPS
This would happen if input is byte-stream with four-byte
sync markers instead of three-byte ones. The code that
scans for sync markers will place the start of the NALU
on the third-last byte of the NALU sync marker, which
means that any additional zeros may be counted as belonging
to the previous NALU instead of being part of the next sync
marker. Fix that so we don't send SPS/PPS with trailing
zeros in this case.
https://bugzilla.gnome.org/show_bug.cgi?id=732758
Tim-Philipp Müller [Sat, 20 May 2017 14:50:22 +0000 (15:50 +0100)]
tests: rtph264depay: add test for using downstream memory allocator
Tim-Philipp Müller [Fri, 2 Jun 2017 23:58:05 +0000 (00:58 +0100)]
rtph264depay: assemble AUs into downstream-allocated memory
When merging NALs into AUs, use downstream-provided allocator
to allocate memory and copy NALs directly into that memory when
assembling them.
Tim-Philipp Müller [Fri, 2 Jun 2017 20:27:40 +0000 (21:27 +0100)]
rtph264depay: try to negotiate an allocator with downstream
Tim-Philipp Müller [Fri, 2 Jun 2017 19:54:20 +0000 (20:54 +0100)]
rtph264depay: minor clean-up
Declutter caps update code a bit.
Edward Hervey [Thu, 23 Nov 2017 07:00:58 +0000 (08:00 +0100)]
qtdemux: Run gst-indent
Edward Hervey [Thu, 23 Nov 2017 06:59:07 +0000 (07:59 +0100)]
rganalysis: Fix left shift of signed values
left shifting signed values is undefined.
Instead of doing "x << offs" which is undefined, do the equivalent
"x * (1 << offs)" which is well defined
Edward Hervey [Thu, 23 Nov 2017 06:57:44 +0000 (07:57 +0100)]
qtdemux: Check presence of bitrate tags
Check whether the tag was present before printing it out
CID #1418501
Edward Hervey [Tue, 21 Nov 2017 08:33:49 +0000 (09:33 +0100)]
rtspsrc: Use the proper maximum value for seekable
it's a gfloat, not a gdouble
Jan Schmidt [Fri, 17 Nov 2017 15:27:50 +0000 (02:27 +1100)]
qtdemux: Use new GST_SEQNUM_INVALID constant
Jan Schmidt [Fri, 17 Nov 2017 15:01:58 +0000 (02:01 +1100)]
splitmuxsrc: Don't return FALSE from event handling.
Returning FALSE because we drop an event means that
internal sources like qtdemux might throw an error
and break the whole pipeline. The only time it can
happen is either flushing or shutdown, and those
will be handled anyway.
Jun Xie [Sun, 22 Oct 2017 10:26:12 +0000 (18:26 +0800)]
qtdemux: reset reused QtDemuxStream while parsing a new 'trak'
if QtDemuxStream is reused, then we need to reset it.
https://bugzilla.gnome.org/show_bug.cgi?id=788759
Seungha Yang [Mon, 13 Nov 2017 01:43:11 +0000 (10:43 +0900)]
isomp4: Add official fourcc for VP8 codec
fourcc for VP8 codec is "vp08" defined by spec. To follow it,
add it to demux and change legacy VP8 fourcc "VP80" to "vp08" in mux.
Also, enable sync table in case of VP8 codec.
See also https://www.webmproject.org/vp9/mp4/
https://bugzilla.gnome.org/show_bug.cgi?id=790026
Seungha Yang [Mon, 13 Nov 2017 01:38:06 +0000 (10:38 +0900)]
isomp4: Add support VP9 codec
Add fourcc for VP9 codec and support it by qtdemux and qtmux
See also https://www.webmproject.org/vp9/mp4/
https://bugzilla.gnome.org/show_bug.cgi?id=790026
Edward Hervey [Mon, 13 Nov 2017 12:51:20 +0000 (13:51 +0100)]
matroskademux: Remove bogus error message
It's just informational
Edward Hervey [Fri, 10 Nov 2017 14:51:05 +0000 (15:51 +0100)]
rtpmpvpay: Don't create empty buffer list
If there's nothing to send, just return
paul.kim [Mon, 13 Mar 2017 09:14:12 +0000 (18:14 +0900)]
souphttpsrc: Remove range header when seek to 0
This fixes the previous range header is remained if seek to 0 is
attempted.
https://bugzilla.gnome.org/show_bug.cgi?id=779957
Edward Hervey [Wed, 8 Nov 2017 15:34:01 +0000 (16:34 +0100)]
souphttpsrc: Fix seeking back to 0
This is a regression introduced by "03db374 - souphttpsrc: retry
request on early termination from the server"
The problem was that when seeking back to 0, we would not end up calling
add_range_header() which in addition to adding range headers *ALSO* sets
the read_position to the requested one.
This would result in a wide variety of later failures, like reading
again and again instead of stopping properly.
Seungha Yang [Tue, 7 Nov 2017 09:03:53 +0000 (18:03 +0900)]
matroskademux: Add parsing Colour element
... and forward colorimetry to downstream. The Colour element describes
various color information (similar to 'colr' box in isobmff).
Note that, due to the comparatively limited syntax for color information
in vpx codecs, the color information in mkv/wemb container level
should be used for sophisticated color handling (e.g., HDR video).
https://bugzilla.gnome.org/show_bug.cgi?id=790023
Jan Alexander Steffens (heftig) [Thu, 19 Oct 2017 12:02:37 +0000 (14:02 +0200)]
v4l2deviceprovider: Ignore touch sensing devices
With GST_V4L2_USE_LIBV4L2=1, my laptop's touchpad shows up as a video
source device in gst-device-monitor, but attempting to stream from it
fails because the device doesn't actually support any video formats.
name : Synaptics RMI4 Touch Sensor
class : Video/Source
caps : video/x-raw, format=(string)I420, framerate=(fraction)[ 0/1,
2147483647/1 ], width=(int)0, height=(int)0, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1;
video/x-raw, format=(string)YV12, framerate=(fraction)[ 0/1,
2147483647/1 ], width=(int)0, height=(int)0, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1;
video/x-raw, format=(string)BGR, framerate=(fraction)[ 0/1,
2147483647/1 ], width=(int)0, height=(int)0, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1;
video/x-raw, format=(string)RGB, framerate=(fraction)[ 0/1,
2147483647/1 ], width=(int)0, height=(int)0, interlace-mode=(string)progressive, pixel-aspect-ratio=(fraction)1/1;
properties:
udev-probed = true
device.bus_path = /sys/devices/rmi4-00/rmi4-00.fn54/video4linux/v4l-touch0
sysfs.path = /sys/devices/rmi4-00/rmi4-00.fn54/video4linux/v4l-touch0
device.subsystem = video4linux
device.product.name = "Synaptics\ RMI4\ Touch\ Sensor"
device.capabilities = :capture:
device.api = v4l2
device.path = /dev/v4l-touch0
v4l2.device.driver = rmi4_f54
v4l2.device.card = "Synaptics\ RMI4\ Touch\ Sensor"
v4l2.device.bus_info = rmi4:rmi4-00.fn54
v4l2.device.version = 265480 (0x00040d08)
v4l2.device.capabilities =
2501902337 (0x95200001)
v4l2.device.device_caps =
354418689 (0x15200001)
gst-launch-1.0 v4l2src device=/dev/v4l-touch0 ! ...
v4l2-ctl -d /dev/v4l-touch0 --list-formats reports:
ioctl: VIDIOC_ENUM_FMT
Index : 0
Type : Video Capture
Pixel Format: 'TD16'
Name : 16-bit signed deltas
Index : 1
Type : Video Capture
Pixel Format: 'TD08'
Name : 8-bit signed deltas
Index : 2
Type : Video Capture
Pixel Format: 'TU16'
Name : 16-bit unsigned touch data
https://bugzilla.gnome.org/show_bug.cgi?id=789197
Youness Alaoui [Fri, 3 Nov 2017 17:27:50 +0000 (13:27 -0400)]
rtpg722pay: Add encoding-params to the src caps template
The G722 payload only accepts G722 audio with channels=1, so it must
specify the encoding-params=1 in its src caps, otherwise it causes issues
with farstream which thinks it supports 2 channels G722 and when
confronted with a remote that has G722/8000/2, it will negotiate it
and error out with a not-negotiated when the caps don't intersect
at runtime.
https://bugzilla.gnome.org/show_bug.cgi?id=789878
Nicolas Dufresne [Fri, 6 Oct 2017 21:36:34 +0000 (17:36 -0400)]
v4l2allocator: Add support for data_offset
In MPLANE mode, the driver may set data_offset, which represent some
padding at the start of the buffer used internally. This portion of the
data need to be skipped, though it is included in bytesused.
This patch removes frame size sanity check as the method used will no
longer work. This check was simply there to help detect broken kernel
drivers. It would be re-implement by estimating the plane size, which is
not totally trivial and may be too much work for a simple debug check.
https://bugzilla.gnome.org/show_bug.cgi?id=733501
Sebastian Dröge [Mon, 17 Jul 2017 14:09:18 +0000 (17:09 +0300)]
rtspsrc: Add "accept-certificate" signal for manually checking a TLS certificate for validity
https://bugzilla.gnome.org/show_bug.cgi?id=785024
Sangkyu Park [Mon, 30 Oct 2017 10:15:56 +0000 (19:15 +0900)]
rtspsrc: Print RTSP/SDP messages to gstreamer log instead of stdout
- 'debug' property is deprecated
- All RTSP messages are printed to gstreamer log with 'log' level.
https://bugzilla.gnome.org/show_bug.cgi?id=788917
Justin Kim [Wed, 1 Nov 2017 06:29:58 +0000 (15:29 +0900)]
rtpsesson: downgrade message level to debug when detected XR
When XR packet is detected, warning message leads to misunderstandings.
Until RFC3611 is implemented in gst-plugins-base, the level needs to
be downgraded to avoid confusion.
https://bugzilla.gnome.org/show_bug.cgi?id=789746
Ashish Kumar [Tue, 24 Oct 2017 14:42:29 +0000 (20:12 +0530)]
gst-plugins-good: atoms_recovery: Handled buffer mapping failure
https://bugzilla.gnome.org/show_bug.cgi?id=789413
Thiago Santos [Sun, 9 Jul 2017 05:11:49 +0000 (22:11 -0700)]
atomsrecovery: read from mdat only what is on headers
It is possible that the mdat has more data than what was stored in the
headers file. If we put that to the output the file will have bogus data
at the end and some players will complain.
https://bugzilla.gnome.org/show_bug.cgi?id=784258
Thiago Santos [Thu, 6 Jul 2017 05:23:21 +0000 (22:23 -0700)]
isomp4: atomsrecovery: handle common and large atom headers
Do not assume all files are large files. Check and use the short or
extended atom size field only if needed.
https://bugzilla.gnome.org/show_bug.cgi?id=784258
Andreas Frisch [Fri, 20 Oct 2017 09:08:24 +0000 (11:08 +0200)]
pngdec: fix build with libpng versions between 1.2 and 1.5.1 (revised)
https://bugzilla.gnome.org/show_bug.cgi?id=765927
Andreas Frisch [Thu, 19 Oct 2017 16:23:34 +0000 (18:23 +0200)]
pngdec: fix build with libpng versions between 1.2 and 1.5.1
https://bugzilla.gnome.org/show_bug.cgi?id=765927
Andreas Frisch [Thu, 19 Oct 2017 14:17:45 +0000 (16:17 +0200)]
pngdec: Extract icc profiles and send them downstreams for colormanagement elements
https://bugzilla.gnome.org/show_bug.cgi?id=765927
Thibault Saunier [Mon, 16 Oct 2017 12:20:47 +0000 (14:20 +0200)]
rtsp: Add missing Since marker
Mathieu Duponchelle [Tue, 13 Jun 2017 16:51:32 +0000 (18:51 +0200)]
gstgdkpixbufdec: stop pretending to decode gifs.
If you can't decode an animated gif, you can't decode a gif,
so stop squatting GST_RANK_SECONDARY for that format, libav
does a better job.
https://bugzilla.gnome.org/show_bug.cgi?id=784683
Philippe Renon [Thu, 28 Sep 2017 20:51:57 +0000 (22:51 +0200)]
directsoundsink: simplify how DirecSoundBuffer is cleared
we always want to clear the whole buffer so no need to
start from offset even if the offset is always zero.
https://bugzilla.gnome.org/show_bug.cgi?id=788847
Philippe Renon [Thu, 28 Sep 2017 20:49:31 +0000 (22:49 +0200)]
directsoundsink: fix comment
https://bugzilla.gnome.org/show_bug.cgi?id=788847
Philippe Renon [Thu, 28 Sep 2017 20:48:41 +0000 (22:48 +0200)]
directsoundsink: don't call set_volume with private scaled volume
use get_volume() instead to get unscaled volume
https://bugzilla.gnome.org/show_bug.cgi?id=788847
Philippe Renon [Thu, 28 Sep 2017 20:46:23 +0000 (22:46 +0200)]
directsoundsink: remove duplicate volume initialization
https://bugzilla.gnome.org/show_bug.cgi?id=788847
Sebastian Dröge [Tue, 10 Oct 2017 15:04:50 +0000 (18:04 +0300)]
qtdemux: Fix compiler warning
qtdemux.c: In function ‘gst_qtdemux_configure_stream’:
qtdemux.c:7764:34: error: suggest parentheses around ‘&&’ within ‘||’ [-Werror=parentheses]
if ((stream->n_samples == 1) && (stream->first_duration == 0)
~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Nael Ouedraogo [Fri, 22 Sep 2017 16:41:52 +0000 (18:41 +0200)]
qtdemux: fix assert when moof containing one sample
Avoid computing frame rate when a stream contain moof with only one
sample, to avoid an assert. The moof is considered as still picture.
The same is already done for one sample given in the moov.
https://bugzilla.gnome.org/show_bug.cgi?id=782217
Thibault Saunier [Mon, 9 Oct 2017 12:17:25 +0000 (14:17 +0200)]
rtspsrc: Avoid potentially dereferencing NULL pointer
CID 1418986
Tim-Philipp Müller [Sat, 7 Oct 2017 23:07:43 +0000 (00:07 +0100)]
rtpjitterbuffer: fix debug message on pt mismatch
Nicolas Dufresne [Sat, 7 Oct 2017 21:11:41 +0000 (21:11 +0000)]
v4l2videoenc: Fix driver capability dectection
Use the right set of caps when checking if caps intersect. That makes
the check only select the supported devices.
Nicolas Dufresne [Wed, 20 Sep 2017 01:46:15 +0000 (01:46 +0000)]
v4l2videoenc/dec: Don't leak template caps
Nicolas Dufresne [Sat, 7 Oct 2017 21:17:53 +0000 (21:17 +0000)]
v4l2videodec: Protect against null pool in _stop
This may happen if the negotiation fails, as we will have never
created the pools.
Tim-Philipp Müller [Sat, 7 Oct 2017 14:55:24 +0000 (15:55 +0100)]
rtpbin, rtspsrc: fix compiler warnings about 64-bit integer signednes
"warning: this decimal constant is unsigned only in ISO C90" with
gcc 4.8.4 (Ubuntu/Linaro 4.8.4-2ubuntu1~14.04.3)
Tim-Philipp Müller [Sat, 7 Oct 2017 14:39:18 +0000 (15:39 +0100)]
v4l2: fix build without libv4l
https://bugzilla.gnome.org/show_bug.cgi?id=779466
Sebastian Dröge [Sat, 7 Oct 2017 11:06:38 +0000 (14:06 +0300)]
rtpsbcdepay: Fix potential NULL pointer dereference
CID 1418864
Sebastian Dröge [Fri, 6 Oct 2017 22:21:19 +0000 (01:21 +0300)]
audioecho: Micro-optimize
Gives 1.28x speedup in surround-delay=false mode
Sebastian Dröge [Fri, 6 Oct 2017 20:59:43 +0000 (23:59 +0300)]
audioecho: Don't do linear interpolation between samples
Linear interpolation adds quite some noise, and it's unlikely that
anybody will ever need sub-sample accurate delays. Proper resampling
before that will lead to better results.
Enrico Jorns [Sat, 30 Sep 2017 02:19:42 +0000 (22:19 -0400)]
v4l2object: auto-detect dmabuf export for V4L2_IO_AUTO on capture side
Issue an invalid VIDIOC_EXPBUF ioctl to the driver to check if the
driver supports dmabuf export. If the driver does not implement the
IOCTL, the error is ENOTTY. Any other error codes mean that the driver
implements VIDIOC_EXPBUF.
https://bugzilla.gnome.org/show_bug.cgi?id=779466
Nicolas Dufresne [Sun, 24 Sep 2017 18:35:01 +0000 (14:35 -0400)]
flvdemux: Only set pixel-aspect-ratio if specified
If it's not specified, we should let the decoder figure it out.
Apparently the code was already in place, all was to make the code
conditional.
https://bugzilla.gnome.org/show_bug.cgi?id=787795
Nicolas Dufresne [Sat, 23 Sep 2017 19:44:09 +0000 (15:44 -0400)]
flvdemux: Don't pull passed the EOS
When a truncated FLV is provided and processed in pull mode, we
may endup trying to pull passed EOS, causing a rather confusing
warning as the pull offset is an integer overflow.
https://bugzilla.gnome.org/show_bug.cgi?id=787795
Nicolas Dufresne [Sat, 23 Sep 2017 19:41:30 +0000 (15:41 -0400)]
flvdemux: Ignore invalid H.264 codec data
This code basically skip over codec_data with empty payload. In
this case, the codec_data variable is the size of the header for
the CODEC part of Video Tag. The remaining is supposed to be the
H.264 codec data, hence should not be empty.
https://bugzilla.gnome.org/show_bug.cgi?id=787795
Nicolas Dufresne [Sat, 23 Sep 2017 19:38:07 +0000 (15:38 -0400)]
flvdemux: Avoid integer overflow on invalid CTS
If the CTS is negative an would lead to a negtive PTS, clip
the CTS so the PTS will be 0.
https://bugzilla.gnome.org/show_bug.cgi?id=787795
Thibault Saunier [Thu, 5 Oct 2017 17:36:28 +0000 (14:36 -0300)]
docs: Update for git changes
Thibault Saunier [Thu, 5 Oct 2017 17:35:27 +0000 (14:35 -0300)]
rtspsrc: Fix build
Thibault Saunier [Thu, 13 Jul 2017 18:46:55 +0000 (14:46 -0400)]
rtspsrc: Handle TCP as lower transport with RTSP 2.0
Meaning that the interleave fields have to be updated as
if streams setup was working when using pipelined setup
request. Otherwise there is a mismatch between the server
channel count and our own.
This also makes RTSP 2.0 over HTTP working.
https://bugzilla.gnome.org/show_bug.cgi?id=781446
Thibault Saunier [Thu, 20 Apr 2017 20:45:39 +0000 (17:45 -0300)]
rtsp: Start implementing support for RTSP 2.0
- Handle version negotation:
Added a `default-version` property so that the user can configure
what to use in case the server does not support version negotation
(which actually exist)
- Handle pipelined requests, which allow avoiding full round trip to
setup the RTP streams (request are sent in a raw, and response are
handled as they arrive).
- Handle the new Media-Properties header
- Handle the new Seek-Style header
- Handle the new Accept-Ranges header
Handling of IPV6 should already be OK.
We are still missing (at least) the following features (which do not
seem really mandatory as they require a "persistent connection between
server and client"):
- Server to Client TEARDOWN command (Not so usefull fmpov)
- PLAY_NOTIFY (not needed for our server yet)
- Support for the new REDIRECT features
and probably some more protocol changes might not be handled yet.
https://bugzilla.gnome.org/show_bug.cgi?id=781446
Thibault Saunier [Wed, 3 May 2017 14:19:03 +0000 (11:19 -0300)]
rtspsrc: Use a macro to debug RTSP messages
Simplifying the code a little.
https://bugzilla.gnome.org/show_bug.cgi?id=781446
Reynaldo H. Verdejo Pinochet [Tue, 3 Oct 2017 23:30:10 +0000 (16:30 -0700)]
Use proper GtkDoc notation for NULL/FALSE/TRUE
Sebastian Dröge [Sun, 1 Oct 2017 14:09:13 +0000 (16:09 +0200)]
rtspsrc: Ignore medias marked as sendonly
We're never going to receive anything from them, so don't create pads
for them. These medias are destinations where *we* could send something.
Sebastian Dröge [Tue, 5 Sep 2017 08:41:35 +0000 (11:41 +0300)]
sbcdepay: Add property to ignore input timestamps
This then just counts samples and calculates the output timestamps based
on that and the very first observed timestamp. The timestamps on the
buffers are continued to be used to detect discontinuities that are too
big and reset the counter at that point.
When receiving data via Bluetooth, many devices put completely wrong
values into the RTP timestamp field. For example iOS seems to put a
timestamp in milliseconds in there, instead of something based on the
current sample offset (RTP clock-rate == sample rate).
https://bugzilla.gnome.org/show_bug.cgi?id=787297
Ponnam Srinivas [Thu, 21 Sep 2017 08:29:00 +0000 (13:59 +0530)]
rtph265depay: Fix Memory leak in error case
https://bugzilla.gnome.org/show_bug.cgi?id=787937
Deepak Srivastava [Fri, 22 Sep 2017 11:25:21 +0000 (16:55 +0530)]
deinterlace: Fixed memory leak in error code path
https://bugzilla.gnome.org/show_bug.cgi?id=788041
Ponnam Srinivas [Wed, 20 Sep 2017 04:07:59 +0000 (09:37 +0530)]
pngenc: fix memory leak in error code path
Don't leak row_pointers if frame can't be mapped.
https://bugzilla.gnome.org/show_bug.cgi?id=787885
Nicolas Dufresne [Tue, 19 Sep 2017 21:55:58 +0000 (17:55 -0400)]
v4l2videodec: Don't leak codec name
Nicolas Dufresne [Sat, 5 Aug 2017 16:23:30 +0000 (12:23 -0400)]
v4l2bufferpool: Don't stop streaming when pool is flushing
The purpose of being able to flush the buffer pool is only to
unlock any blocked operation. Doing streamoff/streamon had the
side effect of turning off and on the camera. As we do a flush_start
/ flush_stop sequence when shutting down, that would cause a really
quick sequence of streamoff/streamon/streamoff/close which was
causing some cameras to stop working.
https://bugzilla.gnome.org/show_bug.cgi?id=783945
Tim-Philipp Müller [Sun, 17 Sep 2017 15:18:48 +0000 (16:18 +0100)]
rtpjitterbuffer: implement basic chain_list function
Doesn't do anything fancy yet, but still avoids lots of
unnecessary locking/unlocking that would happen if the
default chain_list fallback function in GstPad got invoked.
Tim-Philipp Müller [Sun, 17 Sep 2017 11:50:30 +0000 (12:50 +0100)]
multifilesink: use new gst_buffer_list_calculate_size()
Patrick Radizi [Thu, 14 Sep 2017 11:00:56 +0000 (13:00 +0200)]
rtpbin: add option for sanity checking timestamp offset
Timestamp offsets needs to be checked to detect unrealistic values
caused for example by NTP clocks not in sync. The new parameter
max-ts-offset lets the user decide an upper offset limit. There
are two different cases for checking the offset based on if
ntp-sync is used or not:
1) ntp-sync enabled
Only negative offsest are allowed since a positive offset would
mean that the sender and receiver clocks are not in sync.
Default vaule of max-ts-offset = 0 (disabled)
2) ntp-sync disabled
Both positive and negative offsets are allowed.
Default vaule of max-ts-offset =
3000000000
The reason for different default values is to be backwards
compatible.
https://bugzilla.gnome.org/show_bug.cgi?id=785733
Patrick Radizi [Thu, 14 Sep 2017 09:20:17 +0000 (11:20 +0200)]
rtpbin: add option for increasing ts_offset gradually
Instant large changes to ts_offset may cause timestamps to move
backwards and also cause visible effects in media playback. The new
option max-ts-offset-adjustment lets the application control the rate to
apply changes to ts_offset.
https://bugzilla.gnome.org/show_bug.cgi?id=784002
Nicolas Dufresne [Wed, 13 Sep 2017 20:05:08 +0000 (16:05 -0400)]
v4l2src: Ensure all caps a fixated
The code relied on the list compare function to fixate the caps
but if the caps only has one structure, the compare function will
never get called. Capture device for which there is only one
structure in the caps would then get some assertion and later
fail badly.
Instead, fixate before inserting into the list and split the reading
and the fixation of the structures.
Nicolas Dufresne [Wed, 13 Sep 2017 15:52:09 +0000 (11:52 -0400)]
v4l2object: Don't leak the par value
Nicolas Dufresne [Wed, 13 Sep 2017 15:38:44 +0000 (11:38 -0400)]
v4l2-renegotiate: Don't leak the option context
Nicolas Dufresne [Wed, 13 Sep 2017 15:33:33 +0000 (11:33 -0400)]
v4l2src-renegotiate: Don't leak pipeline desc string
Nicolas Dufresne [Wed, 13 Sep 2017 15:32:09 +0000 (11:32 -0400)]
v4l2-renegotiate: Change --enable-dmabuf into --io-mode=
This gives allow testing dmabuf importation but also exportation buy
letting user pick anything from the io-mode property on v4l2src.
Mark Nauwelaerts [Mon, 11 Sep 2017 18:24:27 +0000 (20:24 +0200)]
matroskademux: search_cluster should find preceding cluster before target
... since failing this constraint takes search_pos by surprise which might
then end up in an infinite loop.
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=787538
George Kiagiadakis [Thu, 7 Sep 2017 11:33:57 +0000 (14:33 +0300)]
rtprtx{send,receive}: improve the debug messages
* use INFO/DEBUG/LOG/TRACE equaly and meaningfully;
previously rtprtxsend:LOG and rtprtxreceive:LOG would generate
a totally different amount of log traffic and sometimes it was
impossible to see the information you wanted without useless
spam being printed around
* improve the wording, give a reasonable and self-explanatory
amount of information
* print SSRCs in hex
* avoid G_FOO_FORMAT for readability (we are just printing integers)
Ian Jamison [Tue, 5 Sep 2017 14:30:40 +0000 (15:30 +0100)]
v4l2object: Handle BT2020 for colorspace and transfer
This was not fully handled in switches and
ub gst_v4l2_object_get_colorspace();
https://bugzilla.gnome.org/show_bug.cgi?id=787313
Ian Jamison [Tue, 5 Sep 2017 14:29:24 +0000 (15:29 +0100)]
v4l2object: Fix colorimetry transfer lookup for 4K video
https://bugzilla.gnome.org/show_bug.cgi?id=787160
Nicolas Dufresne [Wed, 6 Sep 2017 15:25:53 +0000 (11:25 -0400)]
v4l2src: Check if caps have changed after try_fmt
try_fmt will update the caps colorimetry and interlace-mode. Before this
call, those field are missing. The caps equality check was always
failing when a spurious reconfigure event was received.
Jan Schmidt [Wed, 6 Sep 2017 13:55:38 +0000 (23:55 +1000)]
qtmux: Allow MPEG layer 1/2, AC3 and Opus in qtmux
qtmux is supposed to be the muxer that allows all formats,
with others (mp4mux and friends) being profile-restricted.
Tim-Philipp Müller [Tue, 5 Sep 2017 11:56:44 +0000 (12:56 +0100)]
rtph265depay: fix keyunit detection
https://bugzilla.gnome.org/show_bug.cgi?id=787254
Sebastian Dröge [Tue, 5 Sep 2017 12:42:17 +0000 (15:42 +0300)]
jpegdec: Fix decoding of streams that don't signal exactly twice the height
... and also progressive streams.
Sebastian Dröge [Tue, 5 Sep 2017 10:28:16 +0000 (13:28 +0300)]
jpegdec: Handle interlaced MJPEG streams
These come with two JPEG images per buffer of half height than signalled
in the container.
Changes based on Tim-Philipp Müller's 0.10 branch:
https://cgit.freedesktop.org/~tpm/gst-plugins-good/log/?h=jpegdec-interlaced
https://bugzilla.gnome.org/show_bug.cgi?id=568555
Edward Hervey [Mon, 4 Sep 2017 15:06:39 +0000 (17:06 +0200)]
dcaparse: Really fix "usage before unmap"
Previous patch would try to unref a buffer that was pushed downstream.
Instead only unref when/if needed and keep usage of the cleanup: goto
block
Arun Raghavan [Sun, 3 Sep 2017 09:53:10 +0000 (15:23 +0530)]
dcaparse: Don't unmap buffer before accessing data from it
The previous patch added a check for a substream header after
gst_buffer_unmap(), which is incorrect.
Matej Knopp [Sat, 24 Jun 2017 16:47:14 +0000 (18:47 +0200)]
dcaparse: preserve DTS HD substream
Arun Raghavan [Mon, 14 Aug 2017 12:48:07 +0000 (18:18 +0530)]
rtpsbcpay: Fix some tabs that crept in somehow
Sebastian Dröge [Tue, 29 Aug 2017 16:13:58 +0000 (19:13 +0300)]
rtpbin: Also log local and SR RTP running times when doing ntp-sync=true
Matthew Waters [Thu, 24 Aug 2017 07:06:38 +0000 (17:06 +1000)]
rtpbin: also create session when creating the send_rtcp_src_%u pad
If one requests the send_rtcp_src_%u pad before a recv_rtcp_sink_%u pad,
the session/pad would never be created and NULL was returned.
Switching the request order would work.
https://bugzilla.gnome.org/show_bug.cgi?id=786718
Tim-Philipp Müller [Sat, 26 Aug 2017 11:59:35 +0000 (12:59 +0100)]
tests: mpg123audiodec: add files needed by unit tests
Tim-Philipp Müller [Sat, 26 Aug 2017 09:10:19 +0000 (10:10 +0100)]
tests: add basic unit test for twolame as well