Commit graph

23727 commits

Author SHA1 Message Date
Suhas Nayak 68052a7bc3 pitch: Flush only if there are unprocessed samples
Otherwise we end up trying to flush before
sample rate of SoundTouch is set

https://bugzilla.gnome.org/show_bug.cgi?id=796613
2018-06-18 23:39:47 +02:00
Sebastian Dröge be6afc6a90 tests: Make sure to provide the KEY_UNIT flag always together with the SNAP flags in seeks
SNAP flags alone make no sense and nowadays cause warnings.
2018-06-18 12:18:07 +03:00
Mathieu Duponchelle 44f0814855 pitch: preserve seek event seqnums
This was wreaking havoc when used with a downstream audiomixer.

https://bugzilla.gnome.org/show_bug.cgi?id=796603
2018-06-16 18:38:46 +02:00
Mathieu Duponchelle 0b03b47193 pitch: fix latency reporting
When max is GST_CLOCK_TIME_NONE in the query, it should not
be set in the query handler, this otherwise could lead to
impossible situations, where the minimum latency ended up
greater than the maximum.

https://bugzilla.gnome.org/show_bug.cgi?id=796603
2018-06-16 18:38:46 +02:00
Mathieu Duponchelle 5f020be6cd pitch: Fix single input buffer followed by EOS
The flush function immediately returned when pitch->next_buffer_offset
was 0.

This is clearly wrong, as next_buffer_offset can be 0 when a single
input buffer has been received, and no output buffer has been produced
before receiving EOS.

Simply remove that condition.

https://bugzilla.gnome.org/show_bug.cgi?id=796603
2018-06-16 18:38:46 +02:00
Seungha Yang 9e981ed503 videoaggregator: Fix string leak
gst_video_colorimetry_to_string() returns allocated memory which
must be freed.

https://bugzilla.gnome.org/show_bug.cgi?id=796596
2018-06-15 10:17:14 -04:00
Jan Schmidt 39365948ff androidmedia: Invert the transform matrix from the decoder
The transform from mediacodec applies to the texture coords, but
GStreamer affine meta applies to the video geometry, which is the
opposite - so invert it to get display correct for decoders
that require transforming
2018-06-15 05:01:20 +10:00
Matthew Waters 52e3db3371 vulkaninstance: add missing precondition to _open() 2018-06-13 20:23:22 +10:00
Edward Hervey 4ae9a9dc91 tsdemux: Don't query duration if program isn't active 2018-06-12 11:14:51 +02:00
Mathieu Duponchelle 0178354e6e gst_webrtc_session_description_new: fix annotations 2018-06-11 18:34:59 +02:00
Tim-Philipp Müller 06e50313ad videoaggregator: log an ERROR if we're going to return a flow error 2018-06-11 13:48:09 +01:00
Wang,Fei 10f57b73f3 msdk: vpp: remove mfxExtVPPDoUse from vpp filters.
According to msdk spec, there are two ways to enable filters:
1: Filters can be enabled by adding a filter ID
to mfxExtVPPDoUse. In this case, default filter parameters are used
2: Add filter configuration structures directly to mfxVideoParam.

Using 1 with 2 is optional but legal. Unfortunately it won't work
with some specific use cases like Detail/EdgeEnhancement.
Let's stick with option2 which works fine for all VPP operations.

https://bugzilla.gnome.org/show_bug.cgi?id=796468
2018-06-07 15:31:54 -08:00
Sreerenj Balachandran c4809aa16c msdk: vpp: set passthrough from set_caps method for code clarity
Call passthrough setting method from set_caps so that
msdk initialize subroutine looks more clear.
2018-06-07 15:30:23 -08:00
Sreerenj Balachandran 665f4a140f mskd: vpp: error out gracefully instead of segfaulting if Init failed
Since we do the MSDK initializing in set_caps(), a FALSE
return may still cause the invokation of set_caps() again
and this will leads to buffer allocation and other mess-up.
So make sure the msdk initialized correctly before trying
to do any buffer allocation.

https://bugzilla.gnome.org/show_bug.cgi?id=796465
2018-06-07 15:29:29 -08:00
Sreerenj Balachandran 6cd12cb6a1 msdk: vpp: Add filters to VideoParm before doing the Query
Make sure all the enabled filter structures are added in the
mfxVideoParm before doing the VPPQuery so that msdk
can do the input param validation

https://bugzilla.gnome.org/show_bug.cgi?id=796465
2018-06-07 15:28:44 -08:00
Nicolas Dufresne 06f7d1f6c5 examples: Don't install non-prefixed examples 2018-06-06 14:32:56 -04:00
Nicolas Dufresne 2927a1d1ec examples: Build waylandsink example 2018-06-06 14:31:43 -04:00
Edward Hervey e1133bbbfe mpegtsdemux: Fix SEGMENT seqnum propagation
* If the seek was handled upstream, use that SEGMENT seqnum
* Use the proper invalid default value
2018-06-06 07:51:19 +02:00
Edward Hervey 30644c4063 vdpau: Run gst-indent 2018-06-06 07:50:21 +02:00
Sreerenj Balachandran 8c7a457669 msdk: vpp: fix the filter count in mfxExtVPPDoUse
Repostion the mfxExtVPPDoUse enabling code
so that it will get the filter algorithm count correctly.
2018-06-05 17:01:13 -08:00
Thibault Saunier 4c97eb10bc webrtc: Fix wrong parent classes for DTLSTransport and ICETransport
Those are GObjects not GstBins
2018-06-05 14:11:24 -04:00
Lyon Wang 92576e7db8 player: Fix duration-changed CRITICAL warning if duration did not actually change
Check if duration is changed before emitting duration-changed signal

https://bugzilla.gnome.org/show_bug.cgi?id=796491
2018-06-04 21:06:28 +03:00
Jan Schmidt 30e5cbcb42 dvb: Fix typo in comment termination 2018-06-01 17:07:19 +10:00
Alessandro Decina 948866a673 dvb: update my email address 2018-06-01 16:39:03 +10:00
Alessandro Decina a8391ca2cd dvb: camconditionalaccess: fix wrong license headers
Update the license blurb in camconditionalaccess.[hc] from GPL to LGPL.
The plugin is LGPL and the GPL header in those two files was just a
copy/paste mistake.
2018-06-01 16:39:03 +10:00
Edward Hervey 58070fa12c gitignore: Add h265parser test 2018-06-01 08:20:21 +02:00
Sreerenj Balachandran 700d6782ce codecparsers: mpeg2: don't mess the StartCode only packets
It is completely legal to have packets with zero sizes.
Zero-sized packet indicates header with only Start Code.
One eg: is user data packet. The patch allows having
GstMpegVideoPacket with zero sizes.

https://bugzilla.gnome.org/show_bug.cgi?id=796477
2018-06-01 08:17:09 +02:00
Sreerenj Balachandran 3f2314a1a9 msdk: vpp: don't use NV12 as vpp default output for DMABuf usecase
Using NV12 layout in dmabuf mode giving mis-aligned
VPP output with the media-driver. Keep the NV12 support
(so that we can file the bug agianst msdk or mediadriver),
but lower the ordering so that BGRA picks as default.

NV12 issue can be reproduced with explicit capfilter:
vidoetestsrc ! msdkvpp ! video/x-raw\(memory:DMABuf\),format=NV12 ! glimagesink
2018-05-30 16:29:41 -08:00
Sreerenj Balachandran 57b9875260 msdk: enc: Add supprot for dmabuf-import
MediaSDK requires all the input buffers to be
pre-allocated during init phase and this won't work with
current design of GStreamer or gst-msdk. But this can be
done in future once we have a solution for:
https://bugzilla.gnome.org/show_bug.cgi?id=795747

There is a workaround possible as per
https://github.com/Intel-Media-SDK/MediaSDK/issues/155#issuecomment-381790504
by faking the mem-id during MFXInit.
This patch enabling it in gst-msdk by replacing the MemID of mfxSurface
with dmabuf-backed vasurface dynamically.

Important: v4l2 ! msdkenc won't work without a copy because
of the GMMLib (https://github.com/intel/gmmlib) memory restrictions.

https://bugzilla.gnome.org/show_bug.cgi?id=794817
2018-05-30 16:26:27 -08:00
Sreerenj Balachandran a972d76784 msdk: vpp: Add supprot for dmabuf-import
MediaSDK requires all the input and output buffers to be
pre-allocated during init phase and this won't work with
current design of GStreamer or gst-msdk. But this can be
done with https://bugzilla.gnome.org/show_bug.cgi?id=795747

There is a workaround possible as per
https://github.com/Intel-Media-SDK/MediaSDK/issues/155#issuecomment-381790504
by faking the mem-id during MFXInit.
This patch do this in gst-msdk by replacing the MemID of mfxSurface
with dmabuf-backed vasurface dynamically.

Important: v4l2 ! msdkvpp won't work without a copy because
of the GMMLib (https://github.com/intel/gmmlib) memory restrictions.

https://bugzilla.gnome.org/show_bug.cgi?id=794817
2018-05-30 16:24:24 -08:00
Sreerenj Balachandran a7b7939dd7 msdk: Add method to replace internal VASurface of mfxFrameSurface
Added a utility method to replace the MemID (interanl VASurfaceID)
associated with the mfxFrameSurface. This is usefull for dmabuf-import
where we need to replace the memID dynamically

https://bugzilla.gnome.org/show_bug.cgi?id=794817
2018-05-30 16:23:44 -08:00
Sreerenj Balachandran 62d2d8ebf9 msdk: Add method to export dmabuf to VASurface
Exporting DRM_PRIME fd to VASurface requires direct
invocation of VA api VACreateSurface with
VASurfaceAttribExternalBufferDescriptor and other
necessary surface attributes.

https://bugzilla.gnome.org/show_bug.cgi?id=794817
2018-05-30 16:22:49 -08:00
Mathieu Duponchelle 33c7af8845 webrtcbin: copy sticky events on our ghostpads
This lets users call gst_pad_get_current_caps on newly-added
pads to easily determine what to plug them into.

We cannot copy sticky events unconditionally in core,
see #719437

https://bugzilla.gnome.org/show_bug.cgi?id=796387
2018-05-29 13:07:30 +02:00
Hosang Lee 9992564102 adaptivedemux: Set connection-speed value as current download rate if set
If connection-speed property is in use, this value should be used as the
current download rate since subclasses might read it to figure out
which playlist variant they will use.

https://bugzilla.gnome.org/show_bug.cgi?id=784592
2018-05-28 16:02:45 +02:00
Edward Hervey 5d697cd804 closedcaption: Fix compilation without debugging 2018-05-28 15:55:57 +02:00
Edward Hervey a41fb3c6df ceaccoverlay: New CEA-708 Closed Caption decoder and overlayer
This new element allows decoding and overlaying CEA-708 Closed Caption
streams over video.

* Supports CDP and cc_data closedcaption/x-cea-708 streams
* Uses pango to render CC stream
* Support GstVideoOverlayComposition meta if downstream supports is

Tested on various test files.

Remains to be fixed/improved:
* Switch to GstByteReader (for code safety)
* Switch to GString (instead of manual pango string construction)
* Move pango/rendering code outside of main 708 decoder file (so
  that actual CC parser/decoder can be (re)used in other scenarios).

Initial patches and improvements by:
* CableLabs RUIH-RI Team <ruihri@cablelabs.com>
* Steve Maynard <steve@secondstryke.com>
* cjun.wang" <cjun.wang@samsung.com>

https://bugzilla.gnome.org/show_bug.cgi?id=704881
2018-05-28 15:29:01 +02:00
Tim-Philipp Müller aab111b979 closedcaption: fix meson build 2018-05-28 14:17:05 +01:00
Edward Hervey 2a1553cb88 closedcaption: Add new "line 21 VBI" CC decoder
Allows detecting and extracting CEA608 closed caption present on
the VBI of analog NTSC SD signals.
2018-05-28 15:03:57 +02:00
Edward Hervey 9ee58b5aeb closedcaption: zvbi: Add gst-debug category to zvbi code
And adapt their logging system to go through it
2018-05-28 15:04:24 +02:00
Edward Hervey af9e9d613a closedcaption: zvbi: Disable unused legacy bit slicer
The code only uses the new 'optimized' bit slicer
2018-05-28 15:04:19 +02:00
Edward Hervey 61334a38a3 closedcaption: zvbi: Enforce strict line21 CC detection
zvbi switched to a lot more flexible CC detection in VBI.

The problem is that it returns a *lot* of non-VBI lines as containing
CC which isn't the case.
2018-05-28 15:04:14 +02:00
Edward Hervey 7ea93b9f94 closedcaption: zvbi: Comment out bogus redefinition
All this code should be converted to glib eventually, but for now
just comment out a function which isn't even used
2018-05-28 15:04:02 +02:00
Edward Hervey c3a9835c05 closedcaption: zvbi: Remove dead code
* RGB8 is never used
* some inline functions were never used
2018-05-28 15:03:57 +02:00
Edward Hervey b0b02e7cb5 closedcaption: Include zvbi raw vbi decoder code
Current code from zapping/zvbi as of 2018-03-14. Files copied
are all LGPL v2+.

Changes from original zvbi code:
* Switch to gst-debug logging system
* Use glib for endianness detection
* Fix compilation warnings
2018-05-28 14:50:01 +02:00
Tim-Philipp Müller 483892d16a closedcaption: add meson build files 2018-05-28 11:09:45 +01:00
Edward Hervey 2550718f59 ext: New ccextractor element
Allows extracting GstVideoCaptionMeta from a stream and outputs
it to a standalone stream.

Part of a new 'ext' closedcaption plugin, since more features are
going to be added, which will depend on external dependencies such
as pango.
2018-05-28 11:54:17 +02:00
Tim-Philipp Müller ed7a98d45b webrtcbin: rtpstorage takes a 64-bit integer for "size-time" property
https://bugzilla.gnome.org/show_bug.cgi?id=796429
2018-05-28 10:43:37 +01:00
Tim-Philipp Müller 88fec19ba2 directfb: don't error out for warnings in system headers
On debian system headers trigger compiler warnings like these,
don't error out on them:
/usr/include/directfb/direct/os/linux/glibc/waitqueue.h:95:1: note: previous definition of ‘direct_waitqueue_signal’ was here
2018-05-28 10:43:37 +01:00
Edward Hervey 19f4585181 gitignore: Add new webrtc example 2018-05-28 10:59:01 +02:00
Christoph Reiter 3b1c7ef8e4 wasapisink: recover from low buffer levels in shared mode
In case the wasapi buffer levels got low in shared mode we would still wait until
more buffer is available until writing something in it, which means we could never
catch up and recover.

Instead only wait for a new buffer in case the existing one is full and always write
what we can. Also don't loop until all data is written since the base class can handle
that for us and under normal circumstances this doesn't happen anyway.

This only works in shared mode, as in exclusive mode we have to exactly
fill the buffer and always have to wait first.

This fixes noisy (buffer underrun) playback with the wasapisink under load.

https://bugzilla.gnome.org/show_bug.cgi?id=796354
2018-05-25 19:06:37 +05:30