platform/upstream/gstreamer.git
8 years agov4l2: consistently check #ifdef HAVE_GUDEV instead of #if
Nirbheek Chauhan [Sat, 9 Apr 2016 02:21:03 +0000 (07:51 +0530)]
v4l2: consistently check #ifdef HAVE_GUDEV instead of #if

Both work with autotools but they definitely don't mean the same thing, cause
problems with other build systems, and are bad form. Existence should always be
checked with #ifdef or #if defined.

8 years agodirectsound: port away from old DirectX API
Nirbheek Chauhan [Tue, 19 Apr 2016 05:23:05 +0000 (10:53 +0530)]
directsound: port away from old DirectX API

D3DX has been deprecated for the last 4 years and latest versions of
Windows no longer ship headers for it. This is fine as long as you're
building with Cerbero's Wine-based DirectX headers, but sucks if you
want to build against the actual Windows SDK.

We were just using it to get error strings anyway, so just use the
generic error string API.

8 years agoRevert "flacparse: Add maximum bitrate tag"
Tim-Philipp Müller [Thu, 18 Aug 2016 11:02:01 +0000 (12:02 +0100)]
Revert "flacparse: Add maximum bitrate tag"

This reverts commit c703ab69f526092bb26cce41ca691a896c8383d8.

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

8 years agortpjitterbuffer: Fix unit test by disabling adaptive misorder/dropout calculations
Sebastian Dröge [Thu, 18 Aug 2016 06:57:51 +0000 (09:57 +0300)]
rtpjitterbuffer: Fix unit test by disabling adaptive misorder/dropout calculations

Need to set max-misorder-time and max-dropout-time to 0 so the
jitterbuffer does not base them on packet rate calculations.
If it does, out gap is big enough to be considered a new stream and
we wait for a few consecutive packets just to be sure

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

8 years agosplitmuxsink: Add option to split at exactly max-size-time
Vivia Nikolaidou [Tue, 9 Aug 2016 09:55:59 +0000 (12:55 +0300)]
splitmuxsink: Add option to split at exactly max-size-time

Will try to request a keyframe from the encoder to be sent at the target
running time.

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

8 years agosplitmuxsink: Allow time and bytes to reach their respective thresholds
Vivia Nikolaidou [Tue, 9 Aug 2016 17:16:16 +0000 (20:16 +0300)]
splitmuxsink: Allow time and bytes to reach their respective thresholds

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

8 years agortspsrc: Allow mimetypes with properties as long as they're application/sdp
Sebastian Dröge [Wed, 17 Aug 2016 06:49:04 +0000 (09:49 +0300)]
rtspsrc: Allow mimetypes with properties as long as they're application/sdp

Some servers add properties like charset, e.g.
  application/sdp; charset=utf8

Ideally we should also parse the charset and do conversion of all messages,
but that's for a later time.

8 years agoqtmux: Added support for writing timecode track
Vivia Nikolaidou [Fri, 24 Jun 2016 13:32:37 +0000 (16:32 +0300)]
qtmux: Added support for writing timecode track

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

8 years agomultiudpsink: Initialize bytes_sent field.
Thomas Bluemel [Thu, 11 Aug 2016 22:32:21 +0000 (16:32 -0600)]
multiudpsink: Initialize bytes_sent field.

This fixes endpoints not receiving any data intermittently.

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

8 years agortpjitterbuffer: Actually calculate the packet rate for max-dropout and max-misorder...
Thomas Bluemel [Wed, 10 Aug 2016 17:45:13 +0000 (11:45 -0600)]
rtpjitterbuffer: Actually calculate the packet rate for max-dropout and max-misorder calculations.

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

8 years agortpjitterbuffer: Don't warn for duplicate packets
Thomas Bluemel [Wed, 10 Aug 2016 17:26:17 +0000 (11:26 -0600)]
rtpjitterbuffer: Don't warn for duplicate packets

This is a normal scenario and should not be a warning.  This can
happen frequently when re-transmits of lost packets are enabled.

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

8 years agosplitmux: Fix typo converting to running time.
Jan Schmidt [Mon, 8 Aug 2016 03:49:19 +0000 (13:49 +1000)]
splitmux: Fix typo converting to running time.

Use the correct collected timestamp.

8 years agoRevert "splitmuxsink: Use GstBin async-handling instead of our own."
Jan Schmidt [Sun, 7 Aug 2016 16:53:48 +0000 (02:53 +1000)]
Revert "splitmuxsink: Use GstBin async-handling instead of our own."

This reverts commit fa008f271a52f82dededc28bd81b020ca7939b47.

async-handling in GstBin causes the pipeline to spin at 100%
CPU as the top-level pipeline tries to change that state
to PLAYING constantly. This is a workaround for a core
problem, essentially, but an improvement in this case for now.

8 years agosplitmux: Recheck state after unlocking mutex.
Jan Schmidt [Sun, 7 Aug 2016 14:56:38 +0000 (00:56 +1000)]
splitmux: Recheck state after unlocking mutex.

After dropping the splitmux lock, re-check the state,
don't just fall through and sleep unconditionally,
as we may have already missed the wakeup.

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

8 years agosplitmuxsrc: Don't stop and error on EOS flow return
Jan Schmidt [Tue, 2 Aug 2016 17:32:07 +0000 (03:32 +1000)]
splitmuxsrc: Don't stop and error on EOS flow return

Don't immediately halt on EOS flow return from downstream
due to out of segment. Let the demuxer handle it and send
EOS.

8 years agortpjitterbuffer: avoid unref of null buffer
Thiago Santos [Thu, 4 Aug 2016 03:36:28 +0000 (00:36 -0300)]
rtpjitterbuffer: avoid unref of null buffer

The current 'l' pointer will be NULL when the loop
is interrupted with a 'break' statement. Need to have
it advance to the next list item before interrupting.

8 years agowavparse: Add tags for container format and bitrate for uncompressed PCM
Carlos Rafael Giani [Tue, 2 Aug 2016 12:01:14 +0000 (14:01 +0200)]
wavparse: Add tags for container format and bitrate for uncompressed PCM

The PCM bitrate is added to help downstream elements (like uridecodebin)
figure out a proper network buffer size

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

8 years agoflacparse: Add maximum bitrate tag
Carlos Rafael Giani [Mon, 1 Aug 2016 16:52:26 +0000 (18:52 +0200)]
flacparse: Add maximum bitrate tag

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

8 years agoqtdemux: When receiving a DISCONT buffer that does not point to a sample, remember...
Sebastian Dröge [Thu, 28 Jul 2016 14:58:16 +0000 (17:58 +0300)]
qtdemux: When receiving a DISCONT buffer that does not point to a sample, remember the offset

And don't just reset everything. This makes sure that we can continue to
handle data in the following scenario:

moov: discont
moof: discont
mdat: continuous

Previously this would fail because the offset would be the accumulated offset
from moov and moof at the mdat position, while the buffer offset might be
something completely different.

8 years agortp: Filter with the filter caps in the payloader's getcaps
Sebastian Dröge [Mon, 25 Jul 2016 10:34:02 +0000 (13:34 +0300)]
rtp: Filter with the filter caps in the payloader's getcaps

8 years agosouphttpsrc: include http-status-code in error message details
Vincent Penquerc'h [Thu, 3 Mar 2016 11:35:06 +0000 (11:35 +0000)]
souphttpsrc: include http-status-code in error message details

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

8 years agosplitmuxsink: Fix debug statement signedness.
Jan Schmidt [Mon, 25 Jul 2016 08:20:03 +0000 (18:20 +1000)]
splitmuxsink: Fix debug statement signedness.

The ts variable is a GstClockTime, don't print it
as a GstClockTimeDiff.

8 years agosplitmuxsink: Handle negative running time
Jan Schmidt [Sun, 17 Jul 2016 12:41:02 +0000 (22:41 +1000)]
splitmuxsink: Handle negative running time

Use signed clock times for running time everywhere
so that we handle negative running times without
going haywire, similar to what queue and multiqueue
do these days.

8 years agosplitmuxsink: Drop lock when sending dummy event
Jan Schmidt [Sun, 17 Jul 2016 14:12:55 +0000 (00:12 +1000)]
splitmuxsink: Drop lock when sending dummy event

When pushing the dummy event into the multiqueue,
drop the splitmux lock or else we might deadlock.

8 years agortph264pay: Intersect with filter caps in getcaps function.
Jan Schmidt [Wed, 29 Jun 2016 15:56:41 +0000 (01:56 +1000)]
rtph264pay: Intersect with filter caps in getcaps function.

Always intersect with the filter caps in the getcaps function
to make sure we return a subset of what was requested.

Other payloaders also have this problem and need fixing
in future commits.

8 years agotests: qtdemux: fix element and pad leak
Guillaume Desmottes [Tue, 12 Jul 2016 15:30:56 +0000 (17:30 +0200)]
tests: qtdemux: fix element and pad leak

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

8 years agotests: fix bus leaks
Guillaume Desmottes [Tue, 12 Jul 2016 14:45:36 +0000 (16:45 +0200)]
tests: fix bus leaks

gst_bus_add_signal_watch() takes a ref on the bus which should be
released using gst_bus_remove_signal_watch().

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

8 years agoconfigure: Call AG_GST_PKG_CONFIG_PATH to set GST_PKG_CONFIG_PATH
Ting-Wei Lan [Wed, 13 Jul 2016 19:07:11 +0000 (03:07 +0800)]
configure: Call AG_GST_PKG_CONFIG_PATH to set GST_PKG_CONFIG_PATH

GST_PKG_CONFIG_PATH is used in docs/plugins directory, so
AG_GST_PKG_CONFIG_PATH must be called to set it.

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

8 years agosouphttpsrc: Don't drop final bytes of a range request
Edward Hervey [Tue, 12 Jul 2016 05:39:58 +0000 (07:39 +0200)]
souphttpsrc: Don't drop final bytes of a range request

At the end of a range request, we don't want to return GST_FLOW_EOS otherwise
the last bytes we just read will be dropped by basesrc.

Instead just return GST_FLOW_OK (which was set just before) and let basesrc
handle the fact we are at the end of the segment.

8 years agov4l2provider: Fix device type detection
Nicolas Dufresne [Mon, 11 Jul 2016 22:30:18 +0000 (18:30 -0400)]
v4l2provider: Fix device type detection

The type detection would lead to assertion as it would try
to create a device without having found any type for it. It
also didn't detect MPLANE devices properly.

8 years agov4l2object: Don't assert when used by the monitor
Nicolas Dufresne [Mon, 11 Jul 2016 22:29:01 +0000 (18:29 -0400)]
v4l2object: Don't assert when used by the monitor

The monitor sets the object->element object as a GstObject. This
works for debug traces, but will assert for ELEMENT_ERROR. This
was the only case where that could happen. Add a check for that.

8 years agov4l2object: Indent very long line
Nicolas Dufresne [Mon, 11 Jul 2016 21:38:00 +0000 (17:38 -0400)]
v4l2object: Indent very long line

8 years agosouphttpsrc: At the end of a range request, read another time to finalize the request
Sebastian Dröge [Mon, 11 Jul 2016 21:42:02 +0000 (00:42 +0300)]
souphttpsrc: At the end of a range request, read another time to finalize the request

If we're at the end of a range request, read again to let libsoup
finalize the request. This allows to reuse the connection again later,
otherwise we would have to cancel the message and close the connection.

8 years agoAutomatic update of common submodule
Stefan Sauer [Mon, 11 Jul 2016 19:13:47 +0000 (21:13 +0200)]
Automatic update of common submodule

From f363b32 to f49c55e

8 years agosouphttpsrc: Fix keep-alive handling
Sebastian Dröge [Mon, 11 Jul 2016 16:57:18 +0000 (19:57 +0300)]
souphttpsrc: Fix keep-alive handling

We have to get rid of the message on EOS when the complete stream is read to
remember that we successfully finished handling this specific message.
Otherwise we will cancel it later and close the connection instead of reusing
it at a later time.

It might also make sense to reuse connections if a non-200 response is
received. As long as there was no connection error, the HTTP connection should
be re-usable.

8 years agoAlso enable V4L2 probe on aarch64 (aka ARM 64bit)
Nicolas Dufresne [Mon, 11 Jul 2016 16:05:06 +0000 (12:05 -0400)]
Also enable V4L2 probe on aarch64 (aka ARM 64bit)

8 years agortp example: Fix leak
Olivier Crête [Mon, 11 Jul 2016 15:59:19 +0000 (11:59 -0400)]
rtp example: Fix leak

Also stop fetching the internal source as this
functionality has been broken.

8 years agoEnable v4l2 probe on Linux/ARM
Nicolas Dufresne [Fri, 8 Jul 2016 18:58:37 +0000 (14:58 -0400)]
Enable v4l2 probe on Linux/ARM

Most of those have V4L2 drivers these days enabling it make sure that it
this code is enabled in major distribution, hence that HW accelerated
decoder/encoder can be used on platforms that support it. The probes are
slightly increasing the first init of gstreamer library, though the
result is cached in the registry for later use.

8 years agortph265pay: Accept array_completeness=1
Jonas Holmberg [Mon, 11 Jul 2016 07:46:49 +0000 (09:46 +0200)]
rtph265pay: Accept array_completeness=1

When parsing NAL unit type in codec_data, check the 6bits of
NAL_unit_type only and do not require the array_completeness bit to be
0, since the default and mandatory value of array_completeness is 1 for
hvc1.

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

8 years agov4l2: Also copy device_caps in gst_v4l2_dup
Nicolas Dufresne [Mon, 11 Jul 2016 01:35:06 +0000 (21:35 -0400)]
v4l2: Also copy device_caps in gst_v4l2_dup

This fixes regression where M2M error out saying they have no output
format (the V4L2 CAPTURE side).

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

8 years agoudpsrc: Use correct in6_pktinfo struct instead of in_pktinfo
Sebastian Dröge [Sun, 10 Jul 2016 18:30:27 +0000 (21:30 +0300)]
udpsrc: Use correct in6_pktinfo struct instead of in_pktinfo

Fixes the build on FreeBSD, which does not have the latter.

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

8 years agov4l2: fix multiplanar capture
Luis de Bethencourt [Fri, 8 Jul 2016 17:28:19 +0000 (17:28 +0000)]
v4l2: fix multiplanar capture

After switching to using V4L2_CAP_DEVICE_CAPS we lost support for
multiplanar device types. After some research, it looks like
vcap.capabilities treated the multiplanar flag of output and capture
devices equally, but not the new device_caps.

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

8 years agomultipartmux: Use PTS and DTS instead of timestamp
Mats Lindestam [Fri, 8 Jul 2016 12:56:30 +0000 (14:56 +0200)]
multipartmux: Use PTS and DTS instead of timestamp

And pass-through both of them.

Based on a patch by Göran Jönsson <goranjn@axis.com>

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

8 years agojack: don't wait for callbacks if the jack server shut down
Thomas Scheuermann [Thu, 30 Jun 2016 12:40:40 +0000 (14:40 +0200)]
jack: don't wait for callbacks if the jack server shut down

Otherwise we'll wait forever.

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

8 years agoqtdemux: Let upstream events go through upstream
Edward Hervey [Thu, 23 Jun 2016 13:30:19 +0000 (15:30 +0200)]
qtdemux: Let upstream events go through upstream

There's no real reason to avoid sending QOS/NAVIGATION events upstrea.
Some elements might want to have that information.

8 years agoavidemux: Let upstream events go through upstream
Edward Hervey [Thu, 23 Jun 2016 13:22:56 +0000 (15:22 +0200)]
avidemux: Let upstream events go through upstream

There's no real reason to avoid sending QOS/NAVIGATION events upstrea.
Some elements might want to have that information.

8 years agodvdemux: Let upstream events go through upstream
Edward Hervey [Thu, 23 Jun 2016 13:17:36 +0000 (15:17 +0200)]
dvdemux: Let upstream events go through upstream

There's no real reason to avoid sending QOS/NAVIGATION events upstrea.
Some elements might want to have that information.

Also remove downstream-only CAPS event handling and minimize code

8 years agov4l2: fix v4l2 probe build error
Luis de Bethencourt [Thu, 7 Jul 2016 22:53:54 +0000 (23:53 +0100)]
v4l2: fix v4l2 probe build error

A typo in gst_v4l2_probe_and_register() caused a build error when building
with --enable-v4l2-probe. Fixing it.

gstv4l2.c: In function 'gst_v4l2_probe_and_register':
gstv4l2.c:150:25: error: 'struct v4l2_capability' has no member named 'capabilitites'
       device_caps = vcap.capabilitites;

8 years agov4l2src: use gst_caps_intersect_full in negotiate()
Reynaldo H. Verdejo Pinochet [Sat, 2 Jul 2016 05:53:33 +0000 (22:53 -0700)]
v4l2src: use gst_caps_intersect_full in negotiate()

Instead of reimplementing the GST_CAPS_INTERSECT_FIRST
interection mode.

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

8 years agov4l2: use opened device caps instead of physical device ones
Reynaldo H. Verdejo Pinochet [Sat, 2 Jul 2016 08:56:07 +0000 (01:56 -0700)]
v4l2: use opened device caps instead of physical device ones

The same physical device can export multiple devices. In
this case, the capabilities field now contains a union of
all caps available from all exported V4L2 devices alongside
a V4L2_CAP_DEVICE_CAPS flag that should be used to decide
what capabilities to consider. In our case, we need the
ones from the exported device we are using.

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

8 years agomatroskamux: Remove suspicious checks for pads being active and linked
Sebastian Dröge [Thu, 7 Jul 2016 15:24:59 +0000 (18:24 +0300)]
matroskamux: Remove suspicious checks for pads being active and linked

We should add all pads, no matter if they are linked or active or not at this
point. Skipping some that are not will cause different behaviour than with
other muxers.

8 years agomatroskamux: Error out if we start writing data with some pads not having a codec...
Sebastian Dröge [Thu, 7 Jul 2016 15:23:07 +0000 (18:23 +0300)]
matroskamux: Error out if we start writing data with some pads not having a codec id yet

This can only happen if a) upstream somehow gets around the CAPS event failing
or b) there never being any CAPS event.

The following code assumes that all pads have a codec-id.

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

8 years agomatroskamux: Consistently use gst_matroska_mux_set_codec_id() for setting the codec id
Sebastian Dröge [Thu, 7 Jul 2016 15:14:43 +0000 (18:14 +0300)]
matroskamux: Consistently use gst_matroska_mux_set_codec_id() for setting the codec id

8 years agortph265pay/depay: Sync against RFC 7798
Jonas Holmberg [Mon, 4 Jul 2016 07:50:11 +0000 (09:50 +0200)]
rtph265pay/depay: Sync against RFC 7798

Handle sprop-vps, sprop-sps and sprop-pps in caps instead of
sprop-parameter-sets.

rtph265pay works with byte-stream and hvc1 formats but not hev1 yet. It
handles profile-id, tier-flag and level-id in caps query.

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

8 years agoflvdemux: Push nominal bitrate tags
Jan Alexander Steffens (heftig) [Wed, 6 Jul 2016 07:25:00 +0000 (09:25 +0200)]
flvdemux: Push nominal bitrate tags

Add per-stream tag lists, which are used to send nominal
bitrate tags. When remuxing FLV => FLV, this now passes
through the upstream bitrate.

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

8 years agoflvdemux: Refactor metadata tag handling
Jan Alexander Steffens (heftig) [Wed, 6 Jul 2016 07:24:49 +0000 (09:24 +0200)]
flvdemux: Refactor metadata tag handling

The FLV header cannot be trusted to indicate video or
audio presence, as the comments already mention. Don't
delay pushing tags waiting for streams that might never
appear.

Tags are now pushed immediately after they change:
  - After parsing an onMetaData script object
  - After negotiating caps on a pad

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

8 years agoqtdemux: fix AAC codec_data values
Luis de Bethencourt [Wed, 6 Jul 2016 11:44:10 +0000 (12:44 +0100)]
qtdemux: fix AAC codec_data values

As seen in the parent switch for object_type_id, the 4 possible values are
0x40, 0x66, 0x67 and 0x68. Fixing the nested switch to match these values.

Looks like it was a typo making them decimal instead of hexadecimal.

CID 1363328

8 years agoBack to development
Sebastian Dröge [Wed, 6 Jul 2016 10:51:03 +0000 (13:51 +0300)]
Back to development

8 years agoRelease 1.9.1
Sebastian Dröge [Wed, 6 Jul 2016 10:06:44 +0000 (13:06 +0300)]
Release 1.9.1

8 years agoUpdate .po files
Sebastian Dröge [Wed, 6 Jul 2016 08:46:26 +0000 (11:46 +0300)]
Update .po files

8 years agortspsrc: Fix error messages to first convert to doubles before division
Steven Hoving [Wed, 6 Jul 2016 08:22:53 +0000 (11:22 +0300)]
rtspsrc: Fix error messages to first convert to doubles before division

8 years agopo: Update translations
Sebastian Dröge [Wed, 6 Jul 2016 07:18:30 +0000 (10:18 +0300)]
po: Update translations

8 years agortspsrc: Set to PLAYING after a seek again after setting up the segment and everythin...
Sebastian Dröge [Tue, 5 Jul 2016 18:11:35 +0000 (21:11 +0300)]
rtspsrc: Set to PLAYING after a seek again after setting up the segment and everything else

There's a small window for a race condition otherwise.

8 years agoqtmux: Use complete AAC caps with codec_data in the tests
Sebastian Dröge [Mon, 4 Jul 2016 15:45:40 +0000 (17:45 +0200)]
qtmux: Use complete AAC caps with codec_data in the tests

8 years agoaacparse: Reject raw AAC if no codec_data is found in the caps
Sebastian Dröge [Mon, 4 Jul 2016 14:58:38 +0000 (16:58 +0200)]
aacparse: Reject raw AAC if no codec_data is found in the caps

If necessary, a demuxer will have to invent something here but this is only a
problem with non-conformant files anyway.

8 years agoqtdemux: Invent AAC codec_data if none is present
Sebastian Dröge [Mon, 4 Jul 2016 14:55:32 +0000 (16:55 +0200)]
qtdemux: Invent AAC codec_data if none is present

Without, raw AAC can't be handled and we have some information available in
the decoder that most likely allows us to decode the stream in one way or
another. This is the same code already used by matroskademux for the same
reasons, and ffmpeg/vlc play such files just fine too by guesswork.

8 years agoqtmux: Reject raw AAC caps without codec_data
Sebastian Dröge [Mon, 4 Jul 2016 12:54:13 +0000 (14:54 +0200)]
qtmux: Reject raw AAC caps without codec_data

The resulting file is not going to be playable without guesswork and raw caps
should always have codec_data.

8 years agoqtdemux: Handle upstream GAP in push-mode/time segment
Edward Hervey [Tue, 10 May 2016 13:48:49 +0000 (15:48 +0200)]
qtdemux: Handle upstream GAP in push-mode/time segment

This is to handle cases where upstream handles the fragmented streaming in TIME
segments and sends us data with gaps within fragments. This would happen when dealing
with trick-modes.

When upstream (push-based, TIME SEGMENT) wishes to send discontinuous samples,
it must obey the following rules:
* The buffer containing the [moof] must have a valid GST_BUFFER_OFFSET
* The buffers containing the first sample after a gap:
 * MUST start at the beginning of a sample,
 * MUST have the DISCONT flag set,
 * MUST have a valid GST_BUFFER_OFFSET relative to the beginning of the fragment.

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

8 years agov4l2: fix potential double-free of error debug string
Tim-Philipp Müller [Fri, 1 Jul 2016 10:54:57 +0000 (11:54 +0100)]
v4l2: fix potential double-free of error debug string

gst_v4l2_clear_error() doesn't work like g_clear_error(), it
doesn't NULLify the pointer, so set freed debug string to NULL
so it doesn't get freed again if gst_v4l2_clear_error() is
called twice on the error.

CID 1362901

8 years agortspsrc: Don't disable UDP protocols on redirecting
Brad Lackey [Fri, 1 Jul 2016 10:05:00 +0000 (10:05 +0000)]
rtspsrc: Don't disable UDP protocols on redirecting

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

8 years agoqtdemux: Push caps only when it was updated
Seungha Yang [Fri, 1 Jul 2016 08:28:17 +0000 (17:28 +0900)]
qtdemux: Push caps only when it was updated

Commit 7873bede3134b15e5066e8d14e54d1f5054d2063 caused new caps
event per moof without consideration of duplication.

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

8 years agortph265depay: fix invalid memory access
Jonas Holmberg [Thu, 30 Jun 2016 13:01:46 +0000 (15:01 +0200)]
rtph265depay: fix invalid memory access

10 bytes was allocated for stream_format but size of "byte-stream" is
more. Use g_strdup() instead.

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

8 years agoshout2: Use a non-timer GstPoll
Sebastian Dröge [Wed, 29 Jun 2016 21:31:20 +0000 (23:31 +0200)]
shout2: Use a non-timer GstPoll

Otherwise set_flushing() will have undefined semantics and nowadays causes a
g_critical() to warn about that.

8 years agosouphttpsrc: dynamically adjust blocksize
Thiago Santos [Sun, 19 Jun 2016 05:08:25 +0000 (02:08 -0300)]
souphttpsrc: dynamically adjust blocksize

Update the blocksize depending on how much is obtained from a read
of the input stream. This avoids doing too many reads in small chunks
when larger amounts of data are available and also prevents using
a very large memory area to read a small chunk of data.

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

8 years agoudpsrc: Windows has no ipi_spec_dst in struct in_pktinfo
Sebastian Dröge [Tue, 28 Jun 2016 13:44:50 +0000 (16:44 +0300)]
udpsrc: Windows has no ipi_spec_dst in struct in_pktinfo

8 years agoudpsrc: #define __APPLE_USE_RFC_3542 to be able to use IPV6_PKTINFO on OSX/iOS
Sebastian Dröge [Tue, 28 Jun 2016 12:15:14 +0000 (15:15 +0300)]
udpsrc: #define __APPLE_USE_RFC_3542 to be able to use IPV6_PKTINFO on OSX/iOS

8 years agoudpsrc: Move #includes around to a) work around broken glibc header and b) Windows
Sebastian Dröge [Tue, 28 Jun 2016 12:08:04 +0000 (15:08 +0300)]
udpsrc: Move #includes around to a) work around broken glibc header and b) Windows

8 years agoudpsrc: Fix compilation on Windows and *BSD/OSX
Sebastian Dröge [Tue, 28 Jun 2016 11:25:03 +0000 (14:25 +0300)]
udpsrc: Fix compilation on Windows and *BSD/OSX

8 years agoudpsrc: Filter out multicast packets that are not for our multicast address
Sebastian Dröge [Thu, 23 Jun 2016 17:21:59 +0000 (20:21 +0300)]
udpsrc: Filter out multicast packets that are not for our multicast address

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

8 years agortspsrc: When seeking, consider the current element state or pending state instead...
Sebastian Dröge [Tue, 28 Jun 2016 07:57:27 +0000 (10:57 +0300)]
rtspsrc: When seeking, consider the current element state or pending state instead of the RTSP state

If we consider the RTSP state, what can happen is that it is PLAYING but the
element already asynchronously tried to PAUSE and it just did not happen yet.

We would then override this setting to PAUSED (while the element actually is
in PAUSED) and set the RTSP state to PLAYING again. This would then cause us
to produce packets while the sinks are all PAUSED, piling up thousands of
packets in the rtpjitterbuffer and other elements and finally failing.

8 years agoflvdemux: Add comment about H263/MPEG4P2 being non-standard for FLV
Sebastian Dröge [Mon, 27 Jun 2016 06:20:35 +0000 (09:20 +0300)]
flvdemux: Add comment about H263/MPEG4P2 being non-standard for FLV

They are however supported by ffmpeg and apparently used out there.

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

8 years agoflvdemux: Add support for H263 and MPEG4 part2
Vivia Nikolaidou [Fri, 24 Jun 2016 11:48:53 +0000 (14:48 +0300)]
flvdemux: Add support for H263 and MPEG4 part2

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

8 years agoUpdate plugins doc
Nicolas Dufresne [Tue, 21 Jun 2016 21:10:56 +0000 (17:10 -0400)]
Update plugins doc

This is partly automated using "make update" in docs/plugins, but also
required manual merge. Additionally, missing plugins and elements have
been added.

8 years agotests: splitmux: skip tests if theora or ogg plugins are not available
Tim-Philipp Müller [Tue, 21 Jun 2016 16:51:38 +0000 (17:51 +0100)]
tests: splitmux: skip tests if theora or ogg plugins are not available

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

8 years agoAutomatic update of common submodule
Nicolas Dufresne [Tue, 21 Jun 2016 15:46:13 +0000 (11:46 -0400)]
Automatic update of common submodule

From ac2f647 to f363b32

8 years agogstrtpj2kpay: use tile bit and tile number to determine if there are multiple tiles...
Aaron Boxer [Tue, 21 Jun 2016 11:40:42 +0000 (07:40 -0400)]
gstrtpj2kpay: use tile bit and tile number to determine if there are multiple tiles in packet

Now we don't have to rely on a special value for the tile number.

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

8 years agortpj2kpay: fix compiler warning on OS/X
Tim-Philipp Müller [Tue, 21 Jun 2016 08:34:56 +0000 (09:34 +0100)]
rtpj2kpay: fix compiler warning on OS/X

gstrtpj2kpay.c:364:21: error: implicit truncation from 'int' to bitfield changes value from -1 to 65535

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

8 years agodocs: update
Tim-Philipp Müller [Tue, 21 Jun 2016 08:34:37 +0000 (09:34 +0100)]
docs: update

8 years agofix buffer leaks in tests
Guillaume Desmottes [Mon, 16 May 2016 15:31:58 +0000 (17:31 +0200)]
fix buffer leaks in tests

Need to call gst_check_drop_buffers() to release the buffers exchanged
during the test.

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

8 years agointerleave: fix message leaks in test
Guillaume Desmottes [Tue, 17 May 2016 09:52:43 +0000 (12:52 +0300)]
interleave: fix message leaks in test

Flush the bus when cleaning up so pending messages are destroyed.

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

8 years agovideomixer: fix event leaks in test
Guillaume Desmottes [Tue, 17 May 2016 09:58:06 +0000 (12:58 +0300)]
videomixer: fix event leaks in test

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

8 years agodeinterleave: fix leaks
Guillaume Desmottes [Fri, 13 May 2016 13:12:22 +0000 (15:12 +0200)]
deinterleave: fix leaks

- Flush the bus so messages aren't leaked
- Fix pad leak

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

8 years agortph264pay: Deprecated sprop-parameter-set property
Sebastian Dröge [Fri, 17 Jun 2016 12:29:16 +0000 (15:29 +0300)]
rtph264pay: Deprecated sprop-parameter-set property

This is supposed to be either in the codec_data (avc stream format) or inside
the stream, and we extract it from there. It should not be set from a
property as it's stream specific.

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

8 years agortspsrc: make all srtp encoder properties explicit
Aleix Conchillo Flaqué [Fri, 17 Jun 2016 19:16:32 +0000 (12:16 -0700)]
rtspsrc: make all srtp encoder properties explicit

The Session Data Protocol doesn't allow specifying a cipher for the
SRTCP, so it will use the SRTP one. In the "srtpenc" element the cipher
"aes-128-icm" is the default for SRTP and SRTCP, but if we want to have
an SRTCP with the "aes-256-icm" cipher then we also need to set the SRTP
cipher to "aes-256-icm", otherwise "aes-128-icm" will be used instead.

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

8 years agosoup: work around frequent deadlocks in GLib type initialisation
Tim-Philipp Müller [Fri, 17 Jun 2016 18:59:13 +0000 (19:59 +0100)]
soup: work around frequent deadlocks in GLib type initialisation

.. by registering the types from the plugin init function. This
seems to help, but we'll see if it's enough (might need similar
things elsewhere).

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

8 years agoqtmux: The prores variant is stored in the variant field, not format
Sebastian Dröge [Fri, 17 Jun 2016 13:08:08 +0000 (16:08 +0300)]
qtmux: The prores variant is stored in the variant field, not format

And the caps in the sink pad template already used variant (only).

8 years agortph265pay: Remove sprop-parameter-sets property
Jonas Holmberg [Fri, 17 Jun 2016 11:00:48 +0000 (13:00 +0200)]
rtph265pay: Remove sprop-parameter-sets property

There is no valid use case when this property is needed since the values
must be in either codec_data or buffer data.

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

8 years agortph265pay: Read NALU type the same way everywhere
Jonas Holmberg [Fri, 10 Jun 2016 14:17:26 +0000 (16:17 +0200)]
rtph265pay: Read NALU type the same way everywhere

Cosmetic change to read NALU type in gst_rtp_h265_pay_decode_nal() the
same way as in other places.

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

8 years agortpjitterbuffer: fix RTPJitterBufferMode documentation
Aurélien Zanelli [Fri, 17 Jun 2016 11:58:33 +0000 (13:58 +0200)]
rtpjitterbuffer: fix RTPJitterBufferMode documentation

Documentation lacks '@' before each enum values and there was an extra
line after symbol section which confuses GTK-Doc parser.

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

8 years agortpsession: take the lock when changing stats
Miguel París Díaz [Mon, 23 May 2016 08:18:48 +0000 (10:18 +0200)]
rtpsession: take the lock when changing stats

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