platform/upstream/gst-plugins-good.git
6 years agoPort to latest GstAggregator segment API
Mathieu Duponchelle [Wed, 28 Feb 2018 23:34:20 +0000 (00:34 +0100)]
Port to latest GstAggregator segment API

The aggregator segment is now exposed on the src pad

https://bugzilla.gnome.org/show_bug.cgi?id=793945

6 years agodirectsoundsink: Downgrade rank to match directsoundsrc in -bad
Nirbheek Chauhan [Thu, 1 Mar 2018 10:04:13 +0000 (15:34 +0530)]
directsoundsink: Downgrade rank to match directsoundsrc in -bad

As stated in commit c2956036b8da4b8f22a63a4f5a254be03e870aa6 in -bad,
the wasapi elements are now better than directsound, and should be
preferred if they are available.

For a later release, once the elements have more testing, we can
consider moving them to -good.

6 years agomatroskamux: Only mark new clusters as keyframe if they start on a keyframe or we...
Sebastian Dröge [Wed, 28 Feb 2018 17:21:53 +0000 (19:21 +0200)]
matroskamux: Only mark new clusters as keyframe if they start on a keyframe or we're muxing only audio

Based on a patch by Nicola Murino <nicola.murino@gmail.com>

https://bugzilla.gnome.org/show_bug.cgi?id=792775

6 years agomatroskamux: Clip maximum cluster duration to the maximum possible value
Sebastian Dröge [Wed, 28 Feb 2018 17:19:10 +0000 (19:19 +0200)]
matroskamux: Clip maximum cluster duration to the maximum possible value

Only up to timescale * G_MAXINT16 is possible as cluster duration, which
is already higher than our default value. Using higher values would
cause overflows and broken files.

Based on the investigation by Nicola Murino <nicola.murino@gmail.com>

https://bugzilla.gnome.org/show_bug.cgi?id=792775

6 years agomatroska-mux: Refuse caps changes after starting to write headers
Sebastian Dröge [Mon, 26 Feb 2018 11:03:59 +0000 (13:03 +0200)]
matroska-mux: Refuse caps changes after starting to write headers

Matroska does not support changing the stream type and stream properties
after the headers were started to be written, and for example H264
codec_data changes can't be supported.

https://bugzilla.gnome.org/show_bug.cgi?id=782949

6 years agotests: fix redenc tests
Mathieu Duponchelle [Tue, 27 Feb 2018 15:33:53 +0000 (16:33 +0100)]
tests: fix redenc tests

The default of the allow-no-red-blocks property was changed in a
previous commit, thus breaking the test assumptions

6 years agortp: fix another debug log printf format warning on 32-bit systems
Tim-Philipp Müller [Tue, 27 Feb 2018 13:13:49 +0000 (13:13 +0000)]
rtp: fix another debug log printf format warning on 32-bit systems

rtpulpfeccommon.c:432:27: error: format ‘%lx’ expects argument of type
‘long unsigned int’, but argument 10 has type ‘guint64 {aka long long unsigned int}’

https://bugzilla.gnome.org/show_bug.cgi?id=793732

6 years agortpptdemux: provide example usage for ignored-payload-types
Mathieu Duponchelle [Mon, 26 Feb 2018 16:02:52 +0000 (17:02 +0100)]
rtpptdemux: provide example usage for ignored-payload-types

6 years agortpbin, rtpptdemux: Add missing Since markers
Mathieu Duponchelle [Mon, 26 Feb 2018 15:53:08 +0000 (16:53 +0100)]
rtpbin, rtpptdemux: Add missing Since markers

6 years agoFEC elements: document, remove irrelevant properties
Mathieu Duponchelle [Mon, 26 Feb 2018 14:57:28 +0000 (15:57 +0100)]
FEC elements: document, remove irrelevant properties

The ulpfecenc "mux-seq" and "ssrc" properties were initially added
because the element did more than implement ULPFEC. As it was
decided that FLEXFEC would be implemented in a separate element,
both properties are now unneeded and confusing.

Change the default for the ulpfecenc multi-packet property,
as it is expected that most users of this element will be protecting video
streams.

Change the default property for the rtpredenc allow-no-red-blocks
property, as it should also be its default mode of operation.

https://bugzilla.gnome.org/show_bug.cgi?id=793843

6 years agortpgstdepay: do not warn when caps were not yet received
Mathieu Duponchelle [Sat, 24 Feb 2018 19:05:05 +0000 (20:05 +0100)]
rtpgstdepay: do not warn when caps were not yet received

It is expected that when connecting to a stream that has
already started, the caps will only arrive at the interval
specified on rtpgstpay, we shouldn't be warning as this is
a normal mode of operation.

https://bugzilla.gnome.org/show_bug.cgi?id=793798

6 years agortpulpfec: fix debug log printf format warning on 32-bit platforms
Arnaud Bonatti [Thu, 22 Feb 2018 20:53:40 +0000 (21:53 +0100)]
rtpulpfec: fix debug log printf format warning on 32-bit platforms

https://bugzilla.gnome.org/show_bug.cgi?id=793732

6 years agodocs: hook up new RTP FEC elements
Tim-Philipp Müller [Thu, 22 Feb 2018 14:58:12 +0000 (14:58 +0000)]
docs: hook up new RTP FEC elements

https://bugzilla.gnome.org/show_bug.cgi?id=792696

6 years agodocs: update for git master
Tim-Philipp Müller [Thu, 22 Feb 2018 14:57:58 +0000 (14:57 +0000)]
docs: update for git master

6 years ago.gitignore more test binaries
Tim-Philipp Müller [Thu, 22 Feb 2018 10:54:02 +0000 (10:54 +0000)]
.gitignore more test binaries

6 years agotests: also dist new fec test header file
Tim-Philipp Müller [Wed, 21 Feb 2018 20:46:10 +0000 (20:46 +0000)]
tests: also dist new fec test header file

6 years agortp: dist new header files
Tim-Philipp Müller [Wed, 21 Feb 2018 20:44:26 +0000 (20:44 +0000)]
rtp: dist new header files

Fixes make distcheck

6 years agortp: fec: fix build with gstreamer debug log system disabled
Tim-Philipp Müller [Wed, 21 Feb 2018 18:52:44 +0000 (18:52 +0000)]
rtp: fec: fix build with gstreamer debug log system disabled

6 years agortpptdemux: do no assume sink caps are non NULL
Mathieu Duponchelle [Wed, 21 Feb 2018 18:59:04 +0000 (19:59 +0100)]
rtpptdemux: do no assume sink caps are non NULL

6 years agocheck: Fix ulpfec test build
Mathieu Duponchelle [Wed, 21 Feb 2018 17:51:17 +0000 (18:51 +0100)]
check: Fix ulpfec test build

The test name was updated but not the build definition

6 years agortpbin: Expose FEC support signals
Mathieu Duponchelle [Tue, 28 Nov 2017 05:02:05 +0000 (06:02 +0100)]
rtpbin: Expose FEC support signals

Also slightly refactor complete_session_src

https://bugzilla.gnome.org/show_bug.cgi?id=792696

6 years agortp: Implement ULPFEC (RFC 5109)
Mikhail Fludkov [Fri, 17 Nov 2017 02:52:03 +0000 (03:52 +0100)]
rtp: Implement ULPFEC (RFC 5109)

We expose a set of new elements:

* ULPFEC encoder / decoder
* A storage element, which should be placed before jitterbuffers,
  and is used to store packets in order to attempt reconstruction
  after the jitterbuffer has sent PacketLost events
* RED encoder / decoder (RFC 2198), these are necessary to
  use FEC in webrtc, as browsers will propose and expect ulpfec
  packets to be wrapped in red packets

With contributions from:

Mathieu Duponchelle <mathieu@centricular.com>
Sebastian Dröge <sebastian@centricular.com>

https://bugzilla.gnome.org/show_bug.cgi?id=792696

6 years agortpptdemux: Add ignored-payload-types property
Mathieu Duponchelle [Tue, 28 Nov 2017 00:11:54 +0000 (01:11 +0100)]
rtpptdemux: Add ignored-payload-types property

Packets with these payload types will be dropped. A use case
for this is FEC, where we want FEC packets to go through the
jitterbuffer, but not be output by rtpbin.

https://bugzilla.gnome.org/show_bug.cgi?id=792696

6 years agortpptdemux: Add ssrc to output caps
Mathieu Duponchelle [Mon, 20 Nov 2017 17:08:38 +0000 (18:08 +0100)]
rtpptdemux: Add ssrc to output caps

It may be useful downstream

https://bugzilla.gnome.org/show_bug.cgi?id=792696

6 years agogtk: fix compiler warning with recent glib
Arnaud Bonatti [Wed, 21 Feb 2018 10:12:10 +0000 (11:12 +0100)]
gtk: fix compiler warning with recent glib

https://bugzilla.gnome.org/show_bug.cgi?id=793688

6 years agoqt: don't use libEGL functions when we don't link to libEGL
Matthew Waters [Wed, 21 Feb 2018 00:35:33 +0000 (11:35 +1100)]
qt: don't use libEGL functions when we don't link to libEGL

Use the provided wrapper available from libgstgl.

https://bugzilla.gnome.org/show_bug.cgi?id=793547

6 years agomonoscope: Forward the SEGMENT event from the chain function
Sebastian Dröge [Sun, 18 Feb 2018 20:38:13 +0000 (21:38 +0100)]
monoscope: Forward the SEGMENT event from the chain function

Otherwise we'll break the event order and forward the SEGMENT event
before sending a CAPS event.

6 years agortspsrc: Fix missing read property of backchannel
James Stevenson [Fri, 16 Feb 2018 12:25:29 +0000 (12:25 +0000)]
rtspsrc: Fix missing read property of backchannel

Add missing read property code for backchannel

https://bugzilla.gnome.org/show_bug.cgi?id=793507

6 years agoexamples: rtsp: fix meson build take 2
Tim-Philipp Müller [Fri, 16 Feb 2018 09:42:59 +0000 (09:42 +0000)]
examples: rtsp: fix meson build take 2

6 years agortsp: Fix meson.build of the example
Sebastian Dröge [Fri, 16 Feb 2018 09:30:01 +0000 (11:30 +0200)]
rtsp: Fix meson.build of the example

6 years agortspsrc: Implement ONVIF backchannel support via TCP
Sebastian Dröge [Fri, 26 Jan 2018 14:33:21 +0000 (16:33 +0200)]
rtspsrc: Implement ONVIF backchannel support via TCP

6 years agortspsrc: Implement ONVIF backchannel support
Nirbheek Chauhan [Fri, 13 Oct 2017 15:05:54 +0000 (18:05 +0300)]
rtspsrc: Implement ONVIF backchannel support

Set backchannel=onvif to enable, and use the 'push-backchannel-sample'
action signal with the correct stream id.

6 years agosplitmuxsrc: Improve not-linked handling.
Jan Schmidt [Thu, 15 Feb 2018 14:49:57 +0000 (01:49 +1100)]
splitmuxsrc: Improve not-linked handling.

Don't report not-linked unless all pads have
returned not-linked.

6 years agoBack to development
Tim-Philipp Müller [Thu, 15 Feb 2018 19:44:19 +0000 (19:44 +0000)]
Back to development

6 years agoRelease 1.13.1
Tim-Philipp Müller [Thu, 15 Feb 2018 17:06:10 +0000 (17:06 +0000)]
Release 1.13.1

6 years agodocs: update plugin docs
Tim-Philipp Müller [Thu, 15 Feb 2018 17:05:23 +0000 (17:05 +0000)]
docs: update plugin docs

6 years agopo: update translations
Tim-Philipp Müller [Thu, 15 Feb 2018 13:32:20 +0000 (13:32 +0000)]
po: update translations

6 years agortpjitterbuffer: allow timestamps to move backwards
Patrick Radizi [Wed, 14 Feb 2018 15:38:07 +0000 (16:38 +0100)]
rtpjitterbuffer: allow timestamps to move backwards

The original solution for #784002 incorrectly assumed that timestamps
may not move backwards and changed timestamps that did so.

https://bugzilla.gnome.org/show_bug.cgi?id=784002

6 years agodocs: remove pointless Since: 0.10.x markers
Tim-Philipp Müller [Thu, 15 Feb 2018 00:58:38 +0000 (00:58 +0000)]
docs: remove pointless Since: 0.10.x markers

6 years agortpvorbisdepay: fix unbounded memory usage
Alban Bedel [Wed, 27 Sep 2017 14:01:35 +0000 (16:01 +0200)]
rtpvorbisdepay: fix unbounded memory usage

All received configurations are parsed and added to a list, this lead
to an unbounded memory usage. As the configuration is resent every
second this quickly lead to a large memory usage.

Add a check to only add the config if it is not already available in
the list. This fix only handle the typical case of a well behaved
stream, a malicious server could still send many useless
configurations to raise the client memory usage.

6 years agodocs: add qt plugin
Tim-Philipp Müller [Mon, 12 Feb 2018 18:41:41 +0000 (18:41 +0000)]
docs: add qt plugin

https://bugzilla.gnome.org/show_bug.cgi?id=754094

6 years agoqt: hook up to build
Tim-Philipp Müller [Mon, 12 Feb 2018 18:34:16 +0000 (18:34 +0000)]
qt: hook up to build

https://bugzilla.gnome.org/show_bug.cgi?id=754094

6 years agoMove qt plugin from -bad
Tim-Philipp Müller [Mon, 12 Feb 2018 18:13:17 +0000 (18:13 +0000)]
Move qt plugin from -bad

https://bugzilla.gnome.org/show_bug.cgi?id=754094

6 years agoconfigure: fix build with --disable-external
Tim-Philipp Müller [Mon, 12 Feb 2018 15:44:35 +0000 (15:44 +0000)]
configure: fix build with --disable-external

6 years agodocs: add moved gtk plugin to docs
Tim-Philipp Müller [Sat, 10 Feb 2018 20:31:49 +0000 (20:31 +0000)]
docs: add moved gtk plugin to docs

6 years agodocs: update for git master
Tim-Philipp Müller [Sat, 10 Feb 2018 20:28:46 +0000 (20:28 +0000)]
docs: update for git master

6 years agogtk: hook up to meson build
Tim-Philipp Müller [Mon, 12 Feb 2018 11:02:12 +0000 (11:02 +0000)]
gtk: hook up to meson build

6 years agogtk: hook up to autotools build
Tim-Philipp Müller [Sat, 10 Feb 2018 13:20:43 +0000 (13:20 +0000)]
gtk: hook up to autotools build

6 years agoMove gtk plugin from -bad
Tim-Philipp Müller [Sat, 10 Feb 2018 12:49:36 +0000 (12:49 +0000)]
Move gtk plugin from -bad

https://bugzilla.gnome.org/show_bug.cgi?id=754094

6 years agoqtdemux: Fix comment typo in previous commit
Edward Hervey [Fri, 9 Feb 2018 10:26:56 +0000 (11:26 +0100)]
qtdemux: Fix comment typo in previous commit

6 years agoqtdemux: More 'meta' atom parsing fixes
Edward Hervey [Fri, 9 Feb 2018 10:20:38 +0000 (11:20 +0100)]
qtdemux: More 'meta' atom parsing fixes

Turns out everybody is doing it their own way, so peek into the
meta atom itself to figure out which spec it is following

6 years agoqtmux: Add support for muxing svmi atom for stereoscopic video information
Sebastian Dröge [Fri, 2 Feb 2018 11:51:49 +0000 (13:51 +0200)]
qtmux: Add support for muxing svmi atom for stereoscopic video information

https://bugzilla.gnome.org/show_bug.cgi?id=793120

6 years agoqtdemux: Minor cleanup
Edward Hervey [Fri, 9 Feb 2018 07:59:56 +0000 (08:59 +0100)]
qtdemux: Minor cleanup

Just move variables to the blocks where they are used.

That function is massive, could do with some splitting up for
readability :(

6 years agoqtdemux: Cope with difference between QTFF and ISO BMFF specs
Edward Hervey [Fri, 9 Feb 2018 07:54:05 +0000 (08:54 +0100)]
qtdemux: Cope with difference between QTFF and ISO BMFF specs

The 'meta' atom is defined differently in QTFF and BMFF, so try
to guess which spec the current stream applies to by looking
at the major file type.

6 years agoisomp4: Make 'hdlr' atom dump more flexible
Edward Hervey [Fri, 9 Feb 2018 07:35:52 +0000 (08:35 +0100)]
isomp4: Make 'hdlr' atom dump more flexible

The smallest possible is 24 (and not 25) bytes.

The last "name" field can according to QTFF specifications not be present
at all. The parser will handle this fine and so will the rest of
the qtdemux code.

6 years agoUpdate ORC files
Edward Hervey [Fri, 9 Feb 2018 07:35:25 +0000 (08:35 +0100)]
Update ORC files

6 years agomeson: make version numbers ints and fix int/string comparison
Tim-Philipp Müller [Thu, 8 Feb 2018 19:09:45 +0000 (19:09 +0000)]
meson: make version numbers ints and fix int/string comparison

WARNING: Trying to compare values of different types (str, int).
The result of this is undefined and will become a hard error
in a future Meson release.

6 years agoosxvideosink: fix build on macOS versions < 12.0
Jérôme Laheurte [Sun, 1 Oct 2017 16:21:26 +0000 (18:21 +0200)]
osxvideosink: fix build on macOS versions < 12.0

Use value instead of version macro when testing for mac OS version,
since the define for the newer version may not be defined when
compiling against older versions.

https://bugzilla.gnome.org/show_bug.cgi?id=788402

6 years agoqt: don't #include platform specific gstglcontext_*.h headers
Matthew Waters [Wed, 7 Feb 2018 09:15:00 +0000 (20:15 +1100)]
qt: don't #include platform specific gstglcontext_*.h headers

They aren't public headers

6 years agoautotools: use -fno-strict-aliasing where supported
Tim-Philipp Müller [Sun, 4 Feb 2018 10:47:05 +0000 (11:47 +0100)]
autotools: use -fno-strict-aliasing where supported

https://bugzilla.gnome.org/show_bug.cgi?id=769183

6 years agoqtmux: send stream warning when refusing video caps
Justin Kim [Mon, 4 Dec 2017 11:12:40 +0000 (20:12 +0900)]
qtmux: send stream warning when refusing video caps

If codec_data is changed, the stream is no longer valid.
Rather than keeping running when refusing new caps,
this patch send a warning  to the bus.

Also fix up splitmuxsink to ignore this warning while changing caps.

https://bugzilla.gnome.org/show_bug.cgi?id=790000

6 years agortph264depay: update output caps regardless format
Justin Kim [Wed, 29 Nov 2017 12:30:11 +0000 (21:30 +0900)]
rtph264depay: update output caps regardless format

`codec_data` should be transfered if any information of
SPS/PPS is changed.

https://bugzilla.gnome.org/show_bug.cgi?id=790000

6 years agoisomp4: Add gmhd/gmin debugging
Edward Hervey [Wed, 31 Jan 2018 18:11:16 +0000 (19:11 +0100)]
isomp4: Add gmhd/gmin debugging

* gmhd is a container, mark it as such so we can see/dump
  what is contained within
* Add dumping for the Base Media Information atom (gmin)

6 years agojpegenc: add snapshot property
Matthieu Crapet [Wed, 23 Sep 2015 08:01:32 +0000 (10:01 +0200)]
jpegenc: add snapshot property

Like pngenc, automatically send an EOS message.

Example of bin:
appsrc ! jpegenc snapshot=true ! filesink location=out.jpg

This is especially useful for limited/slow hardware.

Otherwise calling gst_video_convert_sample() is a better option
(internally uses videoconvert and videoscale).

https://bugzilla.gnome.org/show_bug.cgi?id=755453

6 years agointerleave: fix memory leak of GAP buffers
Philippe Normand [Wed, 31 Jan 2018 15:02:50 +0000 (15:02 +0000)]
interleave: fix memory leak of GAP buffers

https://bugzilla.gnome.org/show_bug.cgi?id=793067

6 years agoqtdemux_dump: Demote verbose logging to TRACE level
Edward Hervey [Wed, 31 Jan 2018 10:38:35 +0000 (11:38 +0100)]
qtdemux_dump: Demote verbose logging to TRACE level

6 years agoqtdemux: Re-enable full debug logging of stsz entries
Edward Hervey [Wed, 31 Jan 2018 10:22:23 +0000 (11:22 +0100)]
qtdemux: Re-enable full debug logging of stsz entries

No idea why it was disabled (was the case since 2007)

6 years agomeson: use -fno-strict-aliasing where supported
Tim-Philipp Müller [Tue, 30 Jan 2018 20:34:32 +0000 (20:34 +0000)]
meson: use -fno-strict-aliasing where supported

https://bugzilla.gnome.org/show_bug.cgi?id=769183

6 years agoqtdemux: Remove white space at end of line
Seungha Yang [Mon, 11 Dec 2017 15:14:02 +0000 (00:14 +0900)]
qtdemux: Remove white space at end of line

https://bugzilla.gnome.org/show_bug.cgi?id=791483

6 years agoqtdemux: Apply qtdemux debug category to gstisoff
Seungha Yang [Mon, 11 Dec 2017 15:11:24 +0000 (00:11 +0900)]
qtdemux: Apply qtdemux debug category to gstisoff

.. instead of the use of default debug category.
And, make new header to declare the debug category

https://bugzilla.gnome.org/show_bug.cgi?id=791483

6 years agosplitmuxsrc: properly set total duration on outgoing segment
Tim-Philipp Müller [Thu, 25 Jan 2018 00:46:57 +0000 (00:46 +0000)]
splitmuxsrc: properly set total duration on outgoing segment

We would accidentally pass through the duration value from the
demuxer from a single fragment, which causes problems when
feeding the stream from splitmuxsrc to rtsp-server. Streaming
would stop after one fragment due to that.

https://bugzilla.gnome.org/show_bug.cgi?id=792861

6 years agosplitmuxsrc: don't respond to duration query with CLOCK_TIME_NONE
Tim-Philipp Müller [Thu, 25 Jan 2018 00:42:52 +0000 (00:42 +0000)]
splitmuxsrc: don't respond to duration query with CLOCK_TIME_NONE

total_duration is initialised to CLOCK_TIME_NONE, not 0, so check
for that as well in order not to return an invalid duration to
a duration query. Doesn't fix anything particular observed in
practice, just seemed inconsistent.

6 years agoqtdemux: Add more prose to the comment of gst_qtdemux_find_sample()
Alicia Boya García [Thu, 25 Jan 2018 19:48:42 +0000 (20:48 +0100)]
qtdemux: Add more prose to the comment of gst_qtdemux_find_sample()

https://bugzilla.gnome.org/show_bug.cgi?id=792910

6 years agovpx: add VP8_DEBUG_TXT_* flags for postprocessing
Oleksij Rempel [Wed, 9 Feb 2011 12:48:00 +0000 (12:48 +0000)]
vpx: add VP8_DEBUG_TXT_* flags for postprocessing

https://bugzilla.gnome.org/show_bug.cgi?id=641399

6 years agodirectsoundsink: Add missing \ in multi-line #define
Sebastian Dröge [Thu, 25 Jan 2018 19:22:10 +0000 (21:22 +0200)]
directsoundsink: Add missing \ in multi-line #define

6 years agodirectsoundsink: Add support for a DeviceProvider
Sebastian Dröge [Mon, 22 Jan 2018 13:07:38 +0000 (15:07 +0200)]
directsoundsink: Add support for a DeviceProvider

https://bugzilla.gnome.org/show_bug.cgi?id=792782

6 years agomultifilesrc: fix up uri handler a little
Tim-Philipp Müller [Tue, 23 Jan 2018 18:37:09 +0000 (18:37 +0000)]
multifilesrc: fix up uri handler a little

Fix path escaping when creating URI from location in get_uri().

Return FALSE with an error when URI can't be parsed in set_uri().

https://bugzilla.gnome.org/show_bug.cgi?id=783581

6 years agomultifilesrc: implement uri handler
Dimitrios Katsaros [Thu, 15 Jun 2017 11:37:28 +0000 (13:37 +0200)]
multifilesrc: implement uri handler

With this patch we can now provide a set of files
created by multifilesink as a source for uri elements.

e.g. gst-launch-1.0 playbin uri=multifile://img%25d.ppm

Note that for the %d pattern you need to replace % with %25.
This is to be compliant with URL naming standards.

https://bugzilla.gnome.org/show_bug.cgi?id=783581

6 years agoqtmux: Make sure timecode uses the same timescale as video
Vivia Nikolaidou [Fri, 19 Jan 2018 13:05:26 +0000 (15:05 +0200)]
qtmux: Make sure timecode uses the same timescale as video

Don't blindly derive it from the frame rate, but try to get the per-pad
configured timescale first (if it exists)

https://bugzilla.gnome.org/show_bug.cgi?id=792680

6 years agoqtmux: Allow configuring trak timescale per pad/trak
Sebastian Dröge [Thu, 18 Jan 2018 16:36:27 +0000 (18:36 +0200)]
qtmux: Allow configuring trak timescale per pad/trak

It generally makes not much sense to configure it for all pads/traks at
once as this value is usually different for each of them. As such, add a
new property on the pads in addition to the existing property on the
whole muxer.

https://bugzilla.gnome.org/show_bug.cgi?id=792649

6 years agoUpdate for renamed aggregator pad API
Tim-Philipp Müller [Tue, 23 Jan 2018 09:46:32 +0000 (09:46 +0000)]
Update for renamed aggregator pad API

https://bugzilla.gnome.org/show_bug.cgi?id=791204

6 years agortspsrc: Fix up sendonly/recvonly attribute handling
Sebastian Dröge [Mon, 22 Jan 2018 10:24:18 +0000 (12:24 +0200)]
rtspsrc: Fix up sendonly/recvonly attribute handling

We can't handle recvonly streams, sendonly streams are perfectly fine.

The direction is the one from the point of view of the SDP offerer
(i.e. the RTSP server), and a recvonly stream would be one where the
server expects us to send media.

RFC 3264, section 5.1:
   If the offerer wishes to only send media on a stream to its peer, it
   MUST mark the stream as sendonly with the "a=sendonly" attribute.

This is mixed up in the ONVIF streaming specification examples, but
actual implementations and conformance tools seem to not care at all
about the attributes.

https://bugzilla.gnome.org/show_bug.cgi?id=792376

6 years agosouphttpsrc: Reset retry_count to 0 when GST_FLOW_FLUSHING
paul.kim [Sat, 11 Nov 2017 04:49:22 +0000 (13:49 +0900)]
souphttpsrc: Reset retry_count to 0 when GST_FLOW_FLUSHING

If a lot of seek method is called very quickly, sometimes data reading
and do_request occurs while seek flush event is occurring and error
occurs because retry_count
reaches to the max. Thus, reset retry_count if flush occurs after
do_request and read_buffer.

https://bugzilla.gnome.org/show_bug.cgi?id=790199

6 years agotests: aacparser: Test that short raw frames don't get concatenated
Jan Alexander Steffens (heftig) [Thu, 18 Jan 2018 14:09:04 +0000 (15:09 +0100)]
tests: aacparser: Test that short raw frames don't get concatenated

https://bugzilla.gnome.org/show_bug.cgi?id=792644

6 years agoaacparse: When parsing raw input, accept frames of any size
Jan Alexander Steffens (heftig) [Thu, 18 Jan 2018 13:23:07 +0000 (14:23 +0100)]
aacparse: When parsing raw input, accept frames of any size

Raw AAC streams might have very small frames, e.g. 6 byte frames
when encoding silence. These frames are then smaller than aacparse's
default min_frame_size of 10 bytes (ADTS_MAX_SIZE).

When passthrough is disabled or aacparse has to output ADTS, GstBaseParse
will concatenate these short frames to the following frame before
handling them to aacparse, which processes each input buffer as a single
frame, producing bad output.

To avoid this problem, set the min_frame_size to 1 when receiving a raw
stream.

https://bugzilla.gnome.org/show_bug.cgi?id=792644

6 years agoshout2send: print actual username in debug log out
Adrián Pardini [Wed, 3 May 2017 00:24:06 +0000 (21:24 -0300)]
shout2send: print actual username in debug log out

https://bugzilla.gnome.org/show_bug.cgi?id=782093

6 years agortpbin: fix leak of elements requested by signals
Mathieu Duponchelle [Mon, 15 Jan 2018 17:13:37 +0000 (18:13 +0100)]
rtpbin: fix leak of elements requested by signals

When the signal returns a floating reference, as its return type
is transfer full, we need to sink it ourselves before passing
it to gst_bin_add (which is transfer floating).

This allows us to unref it in bin_remove_element later on, and
thus to also release the reference we now own if the signal
returns a non-floating reference as well.

As we now still hold a reference to the element when removing it,
we also need to lock its state and setting it to NULL before
unreffing it

Also update the request_aux_sender test.

https://bugzilla.gnome.org/show_bug.cgi?id=792543

6 years agov4l2: fix division by 0 for complex video formats
Guillaume Desmottes [Wed, 17 Jan 2018 10:10:37 +0000 (11:10 +0100)]
v4l2: fix division by 0 for complex video formats

So complex video formats have 0 as pstride. Don't try to divide the
stride in such cases.

https://bugzilla.gnome.org/show_bug.cgi?id=792596

6 years agov4l2: display stride and width values if stride is too small
Guillaume Desmottes [Wed, 17 Jan 2018 10:08:25 +0000 (11:08 +0100)]
v4l2: display stride and width values if stride is too small

https://bugzilla.gnome.org/show_bug.cgi?id=792596

6 years agomultifilesink: document unit of "max-file-duration" property
Tim-Philipp Müller [Tue, 16 Jan 2018 13:19:29 +0000 (13:19 +0000)]
multifilesink: document unit of "max-file-duration" property

6 years agoudpsrc: fix typo in documentation
Florent Thiéry [Fri, 12 Jan 2018 11:21:37 +0000 (12:21 +0100)]
udpsrc: fix typo in documentation

https://bugzilla.gnome.org/show_bug.cgi?id=792458

6 years agov4l2videodec: add property set/get PROP_CAPTURE_IO_MODE error handling
Peter Seiderer [Fri, 12 Jan 2018 08:53:37 +0000 (09:53 +0100)]
v4l2videodec: add property set/get PROP_CAPTURE_IO_MODE error handling

https://bugzilla.gnome.org/show_bug.cgi?id=791841

6 years agov4l2videodec: fold property set/get PROP_OUTPUT_IO_MODE case into default
Peter Seiderer [Fri, 12 Jan 2018 08:46:30 +0000 (09:46 +0100)]
v4l2videodec: fold property set/get PROP_OUTPUT_IO_MODE case into default

https://bugzilla.gnome.org/show_bug.cgi?id=791841

6 years agov4l2videoenc: add property set/get PROP_CAPTURE_IO_MODE error handling
Peter Seiderer [Fri, 12 Jan 2018 08:49:14 +0000 (09:49 +0100)]
v4l2videoenc: add property set/get PROP_CAPTURE_IO_MODE error handling

https://bugzilla.gnome.org/show_bug.cgi?id=791841

6 years agov4l2videoenc: fold property set/get PROP_OUTPUT_IO_MODE case into default
Peter Seiderer [Fri, 12 Jan 2018 08:44:03 +0000 (09:44 +0100)]
v4l2videoenc: fold property set/get PROP_OUTPUT_IO_MODE case into default

https://bugzilla.gnome.org/show_bug.cgi?id=791841

6 years agov4l2videoenc: fix capture-io-mode property get
Peter Seiderer [Thu, 11 Jan 2018 09:44:18 +0000 (10:44 +0100)]
v4l2videoenc: fix capture-io-mode property get

https://bugzilla.gnome.org/show_bug.cgi?id=791841

6 years agov4l2src: Maintain downstream caps order
Nicolas Dufresne [Thu, 11 Jan 2018 22:47:39 +0000 (17:47 -0500)]
v4l2src: Maintain downstream caps order

The g_list_insert_sorted() will behave like prepend when the compare
function returns 0. In our case, we want to maintain the order hence
append. This fixes this issue and improve the sorting algorithm to make
a 10x10 prefered over 10x200 with a preference of 10x8 (and similar
cases which was badly handled). This fixes generally fixes issue were a
sub-optimal format / size is picked.

https://bugzilla.gnome.org/show_bug.cgi?id=792435

6 years agov4l2videoenc: Also re-enabled paused task
Nicolas Dufresne [Fri, 22 Dec 2017 04:02:30 +0000 (23:02 -0500)]
v4l2videoenc: Also re-enabled paused task

When we only run _finish(), the task is never stopped externally,
instead it's only paused from the inside. We still want to restart
it in this case.

6 years agoflacdec: flush flac decoder on lost sync.
Mathieu Duponchelle [Mon, 8 Jan 2018 14:23:24 +0000 (15:23 +0100)]
flacdec: flush flac decoder on lost sync.

This to allow the decoder to start searching for a new
frame again.

https://bugzilla.gnome.org/show_bug.cgi?id=791473

6 years agov4l2videoenc: Call stop on object before renegotiation
Nicolas Dufresne [Fri, 22 Dec 2017 03:56:51 +0000 (22:56 -0500)]
v4l2videoenc: Call stop on object before renegotiation

Otherwise renegotiation fails as we are still streaming.

https://bugzilla.gnome.org/show_bug.cgi?id=791338