platform/upstream/gstreamer.git
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

8 years agortph265: fix NAL unit type parsing and SPS/PPS/VPS detection
Jürgen Slowack [Wed, 15 Jun 2016 09:19:43 +0000 (11:19 +0200)]
rtph265: fix NAL unit type parsing and SPS/PPS/VPS detection

Fixes sps/pps/vps insertion via the config-interval property.

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

8 years agosimple-launch-lines: Use correct JPEG2000 caps
Sebastian Dröge [Sat, 11 Jun 2016 09:16:03 +0000 (12:16 +0300)]
simple-launch-lines: Use correct JPEG2000 caps

8 years agoflvdemux: fix indentation
Tim-Philipp Müller [Fri, 10 Jun 2016 12:43:09 +0000 (13:43 +0100)]
flvdemux: fix indentation

8 years agoflvdemux: fix date parsing when there are trailing spaces
Tim-Philipp Müller [Fri, 10 Jun 2016 12:42:01 +0000 (13:42 +0100)]
flvdemux: fix date parsing when there are trailing spaces

Fixes parsing of "Thu May 11 15:57:46 2006 ".

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

8 years agogstrtpj2k: set sampling field required by RFC
Aaron Boxer [Fri, 13 May 2016 19:08:24 +0000 (15:08 -0400)]
gstrtpj2k: set sampling field required by RFC

This field is now required in the sink caps.

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

8 years agoflvdemux: Fix unref assertion failure
Seungha Yang [Thu, 9 Jun 2016 00:30:48 +0000 (09:30 +0900)]
flvdemux: Fix unref assertion failure

Fix unref assertion failure

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

8 years agortpjitterbuffer: Work with non-TIME segments
Olivier Crête [Sat, 14 May 2016 12:46:17 +0000 (14:46 +0200)]
rtpjitterbuffer: Work with non-TIME segments

With non-time segments, it now assumes that the arrival time of packets
is not relevant and that only the RTP timestamp matter and it produces
an output segment start at running time 0.

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

8 years agopngdec: Wait for segment event before checking it
Nicolas Dufresne [Wed, 8 Jun 2016 00:53:34 +0000 (20:53 -0400)]
pngdec: Wait for segment event before checking it

The heuristic to choose between packetise or not was changed to use the
segment format. The problem is that this change is reading the segment
during the caps event handling. The segment event will only be sent
after. That prevented the decoder to go in packetize mode, and avoid
useless parsing.

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

8 years agojpegdec: Wait for segment event before checking it
Nicolas Dufresne [Mon, 6 Jun 2016 21:00:22 +0000 (17:00 -0400)]
jpegdec: Wait for segment event before checking it

The heuristic to choose between packetise or not was change to use the
segment format. The problem is that this change is reading the segment
during the caps event handling. The segment event will only be sent
after. That prevented the decoder to go in packetize mode, and avoid
useless parsing.

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

8 years agov4l2videodec: Keep part of the input buffer
Nicolas Dufresne [Tue, 7 Jun 2016 20:42:09 +0000 (16:42 -0400)]
v4l2videodec: Keep part of the input buffer

Instead of completely getting rid of the input buffer, copy
the metadata, the flags and the timestamp into an empty buffer.
This way the decoder base class can copy that information again
to the output buffer.

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

8 years agov4l2videodec: Coding style fixes
Nicolas Dufresne [Tue, 7 Jun 2016 20:41:58 +0000 (16:41 -0400)]
v4l2videodec: Coding style fixes

8 years agov4l2object: Coding style fixes
Nicolas Dufresne [Tue, 7 Jun 2016 20:09:23 +0000 (16:09 -0400)]
v4l2object: Coding style fixes

8 years agov4l2: Add an error return to _try/_set_format
Nicolas Dufresne [Tue, 7 Jun 2016 20:04:52 +0000 (16:04 -0400)]
v4l2: Add an error return to _try/_set_format

This way one can easily ignore errors. Previously, error were always
posted ont he bus.

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

8 years agov4l2-util: Introduce GstV4l2Error
Nicolas Dufresne [Tue, 7 Jun 2016 20:01:55 +0000 (16:01 -0400)]
v4l2-util: Introduce GstV4l2Error

This is to allow returning an error that can easily be sent as
message to the application if the element needs it. Using this
also allow ignoring errors.

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

8 years agov4l2src: Avoid decide allocation on active pool
Nicolas Dufresne [Tue, 7 Jun 2016 16:41:19 +0000 (12:41 -0400)]
v4l2src: Avoid decide allocation on active pool

v4l2src will renegotiate only if the format have changed. As of now,
it's not possible to change the allocationw without resetting the
camera. To avoid unwanted side effect, simply keep the old allocation
if no renegotiation is taking place. This fixes assertion and possible
failures in USERPTR or DMABUF import mode (when using downstream pools).

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

8 years agoqtdemux: Show state name in debugging
Edward Hervey [Thu, 28 Apr 2016 11:44:49 +0000 (13:44 +0200)]
qtdemux: Show state name in debugging

Makes it easier to trace what's going on

8 years agoqtdemux: Remove useless variable
Edward Hervey [Tue, 10 May 2016 13:45:42 +0000 (15:45 +0200)]
qtdemux: Remove useless variable

That variable is only needed for a debug statement, move it there

8 years agoqtdemux: Add/Fix comments on the various structure variables
Edward Hervey [Tue, 10 May 2016 13:10:36 +0000 (15:10 +0200)]
qtdemux: Add/Fix comments on the various structure variables

No variables were added/removed. This was just a good excuse to:
* Comment what most variables are used for (and when)
* Order them in such a way as to show first the common variables used
  in all cases, followed by those only used in push-mode

8 years agoqtdemux: Remove unused structure
Edward Hervey [Tue, 10 May 2016 13:07:40 +0000 (15:07 +0200)]
qtdemux: Remove unused structure

Let's just remove it, been commented for 7+ years :)

8 years agov4l2videodec: use decoder stop command instead of queueing empty buffers
Philipp Zabel [Wed, 2 Sep 2015 09:48:29 +0000 (11:48 +0200)]
v4l2videodec: use decoder stop command instead of queueing empty buffers

Only if the decoder stop command fails, keep queueing empty buffers to
signal end of stream as before.

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

8 years agov4l2videodec: add gst_v4l2_decoder_cmd helper
Peter Seiderer [Fri, 12 Dec 2014 13:31:36 +0000 (14:31 +0100)]
v4l2videodec: add gst_v4l2_decoder_cmd helper

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

8 years agoqtdemux: Forward segments directly if we are operating in PUSH mode on fragmented...
Sebastian Dröge [Wed, 1 Jun 2016 17:28:39 +0000 (20:28 +0300)]
qtdemux: Forward segments directly if we are operating in PUSH mode on fragmented streams

We shouldn't go through segment activation as we will only have a limited
understanding of how the whole stream timeline looks like from the moof. We
only know about the current fragment, while upstream knows about the whole
stream.

This fixes seeking in DASH streams, both for seeks after the current moof and
for seeks into the current moof. The former would fail because the moof ends
and we can't activate any segment, the latter would cause a segment that stops
at the moof end, and no further fragments would be played because we end up
being EOS.

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

8 years agov4l2transform: Use looser caps for upstream
Nicolas Dufresne [Mon, 6 Jun 2016 21:54:10 +0000 (17:54 -0400)]
v4l2transform: Use looser caps for upstream

When we fixate for upstream, try to not introduce new fields when not
needed. This was imported from videoconvert element.

8 years agogstv4l2transform: format fixation for preferring passthrough
Enrico Jorns [Wed, 28 Jan 2015 11:07:58 +0000 (12:07 +0100)]
gstv4l2transform: format fixation for preferring passthrough

* If outgoing format is unfixated, try to set it to input format.

* Call gst_caps_fixate () at end of fixation routine

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

8 years agov4l2transform: allow to change pixel aspect ratio
Philipp Zabel [Fri, 20 May 2016 10:49:53 +0000 (12:49 +0200)]
v4l2transform: allow to change pixel aspect ratio

Scalers may change width and height independently,
allow to change pixel aspect ratio.

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

8 years agov4l2transform: fix scaling in case of fixed pixel aspect ratio
Philipp Zabel [Fri, 20 May 2016 10:32:25 +0000 (12:32 +0200)]
v4l2transform: fix scaling in case of fixed pixel aspect ratio

To change pixel aspect ratio from DAR to PAR, the necessary scaling factor
is DAR/PAR, not DAR*PAR.
For good measure, add debug output similar to the fixed-width and
fixed-height cases.

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

8 years agov4l2object: fill colorimetry in gst_v4l2_object_acquire_format
Philipp Zabel [Fri, 13 May 2016 14:39:25 +0000 (16:39 +0200)]
v4l2object: fill colorimetry in gst_v4l2_object_acquire_format

Instead of relying on the default colorimetry chosen by
gst_video_info_set_format(), set info.colorimetry from the
values returned by G_FMT. This allows decoders to propagate
their input colorimetry downstream.

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

8 years agov4l2object: refactor gst_v4l2_object_get_colorspace to take a v4l2_format parameter
Philipp Zabel [Wed, 18 May 2016 08:17:12 +0000 (10:17 +0200)]
v4l2object: refactor gst_v4l2_object_get_colorspace to take a v4l2_format parameter

Move the extraction of colorimetry parameters from struct v4l2_format and the
setting of the identity matrix for RGB formats into the function to avoid code
duplication.

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

8 years agov4l2videodec: use visible size, not coded size, for downstream negotiation filter
Philipp Zabel [Fri, 13 May 2016 12:58:41 +0000 (14:58 +0200)]
v4l2videodec: use visible size, not coded size, for downstream negotiation filter

gst_v4l2_probe_caps() returns the coded size, not the visible size. Subtract
the known padding from probed caps with the coded size before using them as
filter for caps negotiation with downstream elements.

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

8 years agov4l2object: use G_SELECTION instead of G_CROP in gst_v4l2_object_acquire_format
Philipp Zabel [Fri, 13 May 2016 12:45:02 +0000 (14:45 +0200)]
v4l2object: use G_SELECTION instead of G_CROP in gst_v4l2_object_acquire_format

The gst_v4l2_object_acquire_format() function is used by v4l2videodec to obtain
the currently set capture format. Since G_FMT returns the coded size, the
visible size needs to be obtained from the compose rectangle in order to
negotiate it with downstream elements. The G_CROP call hasn't worked on mem2mem
capture queues for a long time. Instead use the G_SELECTION call to obtain the
compose rectangle and only fall back to G_CROP for ancient kernels.

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

8 years agov4l2sink: Use V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY if driver advertises it.
Andreas Naumann [Wed, 27 Jan 2016 08:57:38 +0000 (09:57 +0100)]
v4l2sink: Use V4L2_BUF_TYPE_VIDEO_OUTPUT_OVERLAY if driver advertises it.

On modern kernels, the G/S_FMT ioctls will always fail using
V4L2_BUF_TYPE_VIDEO_OVERLAY with VFL_DIR_TX (e.g. real overlay out drivers)
since this is not the intented use (rather rx, according to v4l2 API doc).
Probably this is why the Video Output Overlay interface was created, so if
the driver advertises it we might as well use.
For old kernels (pre 2012) the old way might still work so keeping this for
compatibility.

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

8 years agov4l2object: Use non-deprecated V4L2 type for RGB15
Kieran Bingham [Mon, 6 Jun 2016 17:52:01 +0000 (18:52 +0100)]
v4l2object: Use non-deprecated V4L2 type for RGB15

Support for the updated V4L2_PIX_FMT_XRGB555 was added in commit
2538fee2fd8fdb74b05f0a511281bc4707e7cc44 however, when setting the format
for use in v4l2 ioctls, the old deprecated format is still used. Convert
this to the new accepted format type, as the preferred format.

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

8 years agomatroskademux: preserve seek flags
Michael Olbrich [Wed, 4 May 2016 12:50:32 +0000 (14:50 +0200)]
matroskademux: preserve seek flags

Without this some flags get lost in streaming mode.

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

8 years agoRevert "WIP revert soup"
Sebastian Dröge [Mon, 6 Jun 2016 07:47:52 +0000 (10:47 +0300)]
Revert "WIP revert soup"

This reverts commit fdac3a7a231f3848665636cf8122f96103b46e3b.

Was not supposed to be pushed but a local workaround for
https://bugzilla.gnome.org/show_bug.cgi?id=693911#c13

8 years agortpsource: complete warn log with SSRC
Miguel París Díaz [Fri, 3 Jun 2016 11:09:35 +0000 (13:09 +0200)]
rtpsource: complete warn log with SSRC

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

8 years agoWIP revert soup
Sebastian Dröge [Tue, 31 May 2016 12:29:13 +0000 (15:29 +0300)]
WIP revert soup

8 years agodvdemux: Unref seek event in any case
Sebastian Dröge [Fri, 3 Jun 2016 10:18:31 +0000 (13:18 +0300)]
dvdemux: Unref seek event in any case

It would be leaked if no seek handler was currently set.

8 years agodvdemux: Properly set event/message sequence numbers based on the previous seek
Sebastian Dröge [Fri, 3 Jun 2016 07:49:17 +0000 (10:49 +0300)]
dvdemux: Properly set event/message sequence numbers based on the previous seek

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

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

8 years agodvdemux: Remember if upstream had a time segment and if not properly create time...
Sebastian Dröge [Fri, 3 Jun 2016 07:36:32 +0000 (10:36 +0300)]
dvdemux: Remember if upstream had a time segment and if not properly create time segments

Previously the segment.time was wrong, and the position was not updated
correctly, resulting in seeks in PUSH mode with upstream providing a BYTES
segment to not work at all.

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

8 years agodvdemux: Implement SEEKING query so we can actually seek if upstream can't seek in...
Sebastian Dröge [Fri, 3 Jun 2016 06:54:53 +0000 (09:54 +0300)]
dvdemux: Implement SEEKING query so we can actually seek if upstream can't seek in TIME

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

8 years agodvdemux: Recalculate the frame offsets at the beginning of each BYTE segment and...
Sebastian Dröge [Thu, 2 Jun 2016 11:19:15 +0000 (14:19 +0300)]
dvdemux: Recalculate the frame offsets at the beginning of each BYTE segment and whenever upstream gives us a timestamp

This fixes seeking in DV streams where upstream operates in PUSH mode with a
TIME segment (e.g. avidemux). Without this, we would generate wrong durations
and timestamps after a seek.

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

8 years agodvdemux: Pass-through buffer DISCONT flags
Sebastian Dröge [Thu, 2 Jun 2016 10:53:44 +0000 (13:53 +0300)]
dvdemux: Pass-through buffer DISCONT flags

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

8 years agortpvp9depay: Don't assert on flexible mode packets
Olivier Crête [Thu, 2 Jun 2016 20:16:45 +0000 (16:16 -0400)]
rtpvp9depay: Don't assert on flexible mode packets

Instead just post a warning on the bus for now.

8 years agotests: rtpbin: fix caps leak
Guillaume Desmottes [Thu, 2 Jun 2016 13:03:17 +0000 (15:03 +0200)]
tests: rtpbin: fix caps leak

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

8 years agotests: amrparse: clean up test
Guillaume Desmottes [Thu, 2 Jun 2016 13:00:01 +0000 (15:00 +0200)]
tests: amrparse: clean up test

- use GST_CHECK_MAIN() to reduce boilerplate
- unref the input caps using a teardown function to prevent leaks

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

8 years agodeinterlace: Ensure DISCONT flag is properly propagated
Edward Hervey [Fri, 20 May 2016 13:22:35 +0000 (15:22 +0200)]
deinterlace: Ensure DISCONT flag is properly propagated

The output of deinterlace at startup, or when receiving a new DISCONT
buffer, should have the DISCONT flag set on the first buffer.

8 years agov4l2src: check for valid size on raw video buffers
Josep Torra [Tue, 31 May 2016 19:34:04 +0000 (21:34 +0200)]
v4l2src: check for valid size on raw video buffers

Discard buffers that doesn't contain enough data when dealing
with raw video inputs.

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

8 years agoqtdemux: Use the demuxer segment instead of a new one for MSS streams
Sebastian Dröge [Tue, 31 May 2016 14:10:36 +0000 (17:10 +0300)]
qtdemux: Use the demuxer segment instead of a new one for MSS streams

Upstream might have told us something about the to be expected segment, so
let's use that information instead of coming up with a [0,-1] segment.

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

8 years agoqtdemux: Only activate segments and send SEGMENT events if we have streams
Sebastian Dröge [Tue, 31 May 2016 14:04:32 +0000 (17:04 +0300)]
qtdemux: Only activate segments and send SEGMENT events if we have streams

But in that case also remove the pending newsegment event, otherwise we would
later send a possibly outdated event.

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

8 years agoqtdemux: In PULL mode, nothing is ever going to send us a SEGMENT event
Sebastian Dröge [Tue, 31 May 2016 13:53:50 +0000 (16:53 +0300)]
qtdemux: In PULL mode, nothing is ever going to send us a SEGMENT event

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

8 years agoqtdemux: Don't override TIME segments from upstream that we just saw
Sebastian Dröge [Tue, 31 May 2016 13:38:34 +0000 (16:38 +0300)]
qtdemux: Don't override TIME segments from upstream that we just saw

The point of d8fb7a9c96b108814beeaa0e63f818d4648c7fe9 was to not have any
spurious segments stored for later if we do BYTES->TIME conversion, but
overriding any TIME segments from upstream does not make any sense.

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

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

8 years agomultifilesrc: set position as offset from start-index
Prashant Gotarne [Thu, 16 Jul 2015 04:18:46 +0000 (09:48 +0530)]
multifilesrc: set position as offset from start-index

query position in GST_FORMAT_BUFFER returns
offset from start-index rather than index.

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