platform/upstream/gstreamer.git
5 years agomeson: detect opengl api from -base .pc files correctly
Tim-Philipp Müller [Tue, 22 Jan 2019 12:52:25 +0000 (12:52 +0000)]
meson: detect opengl api from -base .pc files correctly

There was a mismatch between the .pc files generated by
autotools and by meson that would lead to meson not detecting
that opengl api is available even though it is. This could
lead to build failures when building -bad with meson against
a -base that was built with autotools. The mismatch has now
been rectified but we will still check the old one for backwards
compatibility.

5 years agomeson: remove some cruft
Tim-Philipp Müller [Tue, 22 Jan 2019 12:41:00 +0000 (12:41 +0000)]
meson: remove some cruft

5 years agowpesrc: Plug WPE's exportable leak
Philippe Normand [Fri, 18 Jan 2019 13:28:26 +0000 (13:28 +0000)]
wpesrc: Plug WPE's exportable leak

5 years agowpe: Add autotools build support
Philippe Normand [Mon, 21 Jan 2019 10:57:57 +0000 (10:57 +0000)]
wpe: Add autotools build support

5 years agosrt: Use default host and port if uri doesn't provide
Justin Kim [Tue, 22 Jan 2019 04:02:30 +0000 (13:02 +0900)]
srt: Use default host and port if uri doesn't provide

5 years agosrt: Enable logs for srtobject
Justin Kim [Tue, 22 Jan 2019 03:44:07 +0000 (12:44 +0900)]
srt: Enable logs for srtobject

5 years agosrt: Fix property names
Justin Kim [Tue, 22 Jan 2019 03:42:47 +0000 (12:42 +0900)]
srt: Fix property names

Property name and its enum should match.

5 years agosrt: Fix a regression crash
Justin Kim [Tue, 22 Jan 2019 02:35:03 +0000 (11:35 +0900)]
srt: Fix a regression crash

Even in case that srt is working as a caller mode, uri can have no
hostname or ip address.

fix: #874

5 years agomsdkvpp: add P010_10LE to sink and src caps
Haihao Xiang [Tue, 15 Jan 2019 05:59:05 +0000 (13:59 +0800)]
msdkvpp: add P010_10LE to sink and src caps

example pipelines:

gst-launch-1.0 videotestsrc num-buffers=100 ! \
video/x-raw,format=P010_10LE,width=352,height=288 ! msdkvpp ! \
video/x-raw,format=NV12! fakesink

gst-launch-1.0 videotestsrc num-buffers=100 ! \
video/x-raw,format=NV12,width=352,height=288 ! msdkvpp ! \
video/x-raw,format=P010_10LE ! fakesink

5 years agomsdkh265dec: support P010_10LE in DMABuf mode
Haihao Xiang [Tue, 15 Jan 2019 06:30:34 +0000 (14:30 +0800)]
msdkh265dec: support P010_10LE in DMABuf mode

5 years agowasapi: Fixed corner-cases in mapping of channel mask
Jacek Tomaszewski [Wed, 12 Dec 2018 12:14:13 +0000 (13:14 +0100)]
wasapi: Fixed corner-cases in mapping of channel mask

'channel-mask' field should not be put in caps if channel mask is 0x0

Mapping WASAPI channel mask to GST equivalent was going only over
first nChannels elements of wasapi_to_gst_pos array, translating, for
example, WASAPI's 0x63f to GST's 0x3f instead of 0xc3f.

When 'channel-mask' is specified as NULL, it signifies that there's
need to do downmix or upmix and it makes caps negotiation with
audioconvert element impossible. Just omit it.

Signed-off-by: Nirbheek Chauhan <nirbheek@centricular.com>
5 years agomeson: Fix automagic build of msdk plugin
Nirbheek Chauhan [Sat, 19 Jan 2019 18:23:56 +0000 (23:53 +0530)]
meson: Fix automagic build of msdk plugin

When building the msdk plugin even if libmfx is found, unless the
plugin is explicitly enabled we should not error out if msdk
dependencies are not found.

Also give an error message when we don't build the plugin on Windows
because we're not building with MSVC.

5 years agobuild: Don't forget to add windows files to EXTRA_DIST
Nirbheek Chauhan [Fri, 18 Jan 2019 07:40:31 +0000 (13:10 +0530)]
build: Don't forget to add windows files to EXTRA_DIST

5 years agoremovesilence: Add $(LIBM) to libraries
Sebastian Dröge [Thu, 17 Jan 2019 15:14:31 +0000 (17:14 +0200)]
removesilence: Add $(LIBM) to libraries

/usr/bin/ld: .libs/libgstremovesilence_la-vad_private.o: in function `vad_set_threshold':
./gst/removesilence/vad_private.c:108: undefined reference to `pow'
/usr/bin/ld: .libs/libgstremovesilence_la-vad_private.o: in function `vad_get_threshold_as_db':
./gst/removesilence/vad_private.c:114: undefined reference to `log10'

5 years agoRelease 1.15.1
Tim-Philipp Müller [Thu, 17 Jan 2019 02:16:53 +0000 (02:16 +0000)]
Release 1.15.1

5 years agoUpdate docs
Tim-Philipp Müller [Thu, 17 Jan 2019 02:16:52 +0000 (02:16 +0000)]
Update docs

5 years agoUpdate translations
Tim-Philipp Müller [Thu, 17 Jan 2019 02:16:38 +0000 (02:16 +0000)]
Update translations

5 years agosrt: dist enums header
Tim-Philipp Müller [Wed, 16 Jan 2019 13:48:28 +0000 (13:48 +0000)]
srt: dist enums header

5 years agomeson: enable tests for orc code
Tim-Philipp Müller [Wed, 16 Jan 2019 01:03:40 +0000 (01:03 +0000)]
meson: enable tests for orc code

5 years agowasapi: Fix infinite loop when the device disappears
Nirbheek Chauhan [Mon, 14 Jan 2019 20:33:23 +0000 (02:03 +0530)]
wasapi: Fix infinite loop when the device disappears

When the audio device goes away during playback or capture, we were
going into an infinite loop of AUDCLNT_E_DEVICE_INVALIDATED. Return -1
and post an error message so the ringbuffer thread exits with an error.

5 years agosrt: Fix autotools build
Jan Alexander Steffens (heftig) [Mon, 14 Jan 2019 13:29:07 +0000 (14:29 +0100)]
srt: Fix autotools build

0a350c610dab54dcdf55b45a0293fff048d24bb3 broke the build by only
building enum types with meson. It also removed gstsrt.c from the list
of sources, causing the plugin to fail to load.

squash! srt: Fix autotools build

5 years agosrt: Fix GCC function type error
Jan Alexander Steffens (heftig) [Mon, 14 Jan 2019 13:37:23 +0000 (14:37 +0100)]
srt: Fix GCC function type error

gstsrtobject.c: In function ‘gst_srt_object_close’:
gstsrtobject.c:1036:7: error: function called through a non-compatible type [-Werror]
       (GDestroyNotify) g_closure_unref);
/usr/include/glib-2.0/glib/gmem.h:121:8: note: in definition of macro ‘g_clear_pointer’
       (destroy) (_ptr);                                                        \
        ^~~~~~~
gstsrtobject.c:1038:7: error: function called through a non-compatible type [-Werror]
       (GDestroyNotify) g_closure_unref);
/usr/include/glib-2.0/glib/gmem.h:121:8: note: in definition of macro ‘g_clear_pointer’
       (destroy) (_ptr);                                                        \
        ^~~~~~~

Arch Linux
gcc 8.2.1 20181127
glib 2.58.2

5 years agomsdk: set the right BRCParamMultiplier
Haihao Xiang [Thu, 10 Jan 2019 06:28:52 +0000 (14:28 +0800)]
msdk: set the right BRCParamMultiplier

BRCParamMultiplier in mfxInfoMFX is a parameter which specifies a
multiplier for bitrate control parameters [1], it impacts TargetKbps,
MaxKbps, BufferSizeInKB and InitialDelayInKB.

[1]: https://software.intel.com/en-us/node/628473

5 years agomsdk: set the upper bound of max-vbv-bitrate to 2048000 kbps
Haihao Xiang [Thu, 10 Jan 2019 07:02:16 +0000 (15:02 +0800)]
msdk: set the upper bound of max-vbv-bitrate to 2048000 kbps

The upper bound of bitrate is also 2048000 kbps which should be large
enough in practice.

Fix https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/863

5 years agomeson: Fix building of MSDK plugin on Windows
Nirbheek Chauhan [Thu, 10 Jan 2019 10:04:51 +0000 (15:34 +0530)]
meson: Fix building of MSDK plugin on Windows

Variable name was typoed in 604c8d5232eba961ca34c9e98de8d5454cd5ab5f

5 years agosrt: Integrate server and client element into one
Justin Kim [Wed, 7 Nov 2018 05:47:44 +0000 (14:47 +0900)]
srt: Integrate server and client element into one

We have srt{client,server}{src,sink} elements in accordance to the
norm of the connection oriented protocols. However, SRT connection
mode can be changed by uri parameters so it requires an integrated
element to handle the parameters.

fix: #740

5 years agomsdk: needn't call MFXJoinSession after MFXCloneSession
Haihao Xiang [Wed, 9 Jan 2019 07:03:19 +0000 (15:03 +0800)]
msdk: needn't call MFXJoinSession after MFXCloneSession

According to the MSDK documation[1], MFXCloneSession is a light-weight
equivalent of MFXJoinSession after MFXInit, so MFXJoinSession call isn't
needed in the msdk plugin, otherwise the cloned session is joined to the
parent session twice, and we will get a MFX error when closing the
parent session

example pipeline:

gst-launch-1.0 videotestsrc num-buffers=100 ! \
video/x-raw,format=NV12,width=352,height=288 ! msdkh264enc ! msdkh264dec ! \
msdkh264enc ! fakesink

Error message:

0:00:00.211948518 21733 0x5586ee741c60 ERROR                   msdk
msdk.c:148:msdk_close_session: Close failed (undefined behavior)

[1]: https://software.intel.com/en-us/node/628429#MFXCloneSession

5 years agomsdk: check whether mfx function call fails
Haihao Xiang [Wed, 9 Jan 2019 04:19:50 +0000 (12:19 +0800)]
msdk: check whether mfx function call fails

And log the failures for debugging

5 years agomsdkenc: return NULL instead of FALSE
Haihao Xiang [Wed, 9 Jan 2019 01:49:16 +0000 (09:49 +0800)]
msdkenc: return NULL instead of FALSE

The returned type is a pointer

5 years agomsdk: release resources if failing to create the buffer pool
Haihao Xiang [Wed, 9 Jan 2019 00:58:00 +0000 (08:58 +0800)]
msdk: release resources if failing to create the buffer pool

Needn't check the pointers against NULL because the pointers are
non-NULL

5 years agomsdk: meson: compile vp9dec if available
Víctor Manuel Jáquez Leal [Tue, 8 Jan 2019 12:33:44 +0000 (13:33 +0100)]
msdk: meson: compile vp9dec if available

based on the patches provided by Haihao Xiang <haihao.xiang@intel.com>

5 years agomsdk: add mfx in include path
Víctor Manuel Jáquez Leal [Tue, 8 Jan 2019 12:36:09 +0000 (13:36 +0100)]
msdk: add mfx in include path

Thus removing the preprocessor's directives to included if found.

5 years agomsdk: meson: use libmfx pkg-config if available
Víctor Manuel Jáquez Leal [Tue, 8 Jan 2019 12:30:29 +0000 (13:30 +0100)]
msdk: meson: use libmfx pkg-config if available

Refactoring to bail out early if MediaSDK is not found.

based on the patches provided by Haihao Xiang <haihao.xiang@intel.com>

5 years agomsdk: add in configure more directories to search for libraries
Víctor Manuel Jáquez Leal [Tue, 8 Jan 2019 12:18:13 +0000 (13:18 +0100)]
msdk: add in configure more directories to search for libraries

5 years agomsdk: don't reset the external frame allocator
Haihao Xiang [Sat, 29 Dec 2018 05:56:49 +0000 (13:56 +0800)]
msdk: don't reset the external frame allocator

In gst-msdk, a mfx session may be shared between different gst
elements, each element tries to set the frame allocator. However, per
the MSDK documation[1], the behavior is undefined if reset the frame
allocator while the previous allocator is in use. Fortunately all
elements use the same frame allocator, so we can avoid to call
MFXVideoCORE_SetFrameAllocator again.

[1]: https://software.intel.com/en-us/node/628430#MFXVideoCORE3

5 years agomsdkvpp: don't use NV12 as default output in normal mode
Haihao Xiang [Thu, 27 Dec 2018 08:50:54 +0000 (16:50 +0800)]
msdkvpp: don't use NV12 as default output in normal mode

If so, BGRA is the preferred output format hence BGRA will be selected
as input format by default, e.g. in the pipleline below, BGRA instead of
NV12 is selected without renegotiation, so we can avoid the NV12 issue
(see commit 3f2314a) by default.

gst-launch-1.0 videotestsrc ! msdkvpp ! glimagesink

5 years agomsdkvpp: close the current VPP session if this session has been initialized
Haihao Xiang [Fri, 14 Dec 2018 02:18:25 +0000 (10:18 +0800)]
msdkvpp: close the current VPP session if this session has been initialized

Otherwise MFXVideoVPP_Init will fail because it is called twice without
a close.

Example pipeline:

gst-launch-1.0 videotestsrc ! msdkvpp ! glimagesink

Sometimes glimagesink emits GST_EVENT_RECONFIGURE event which results
in that MFXVideoVPP_Init is called twice, then get the negotiation
failure below:

0:00:00.093715518 21218 0x558ef56231e0 ERROR                msdkvpp
gstmsdkvpp.c:995:gst_msdkvpp_initialize:<msdkvpp0> Init failed
(undefined behavior)
WARNING: from element /GstPipeline:pipeline0/GstMsdkVPP:msdkvpp0: not
negotiated

After applying this commit, the pipeline above may run without
negotiation failure, however NV12 layout in dmabuf mode is selected in
renegotiation, the display image is corrupted due to the NV12 issue which
was mentioned in commit 3f2314a. Some other fixes are needed to avoid
renegotiation by default

5 years agomsdkvpp: don't update pads' info if nothing have changed
Haihao Xiang [Wed, 19 Dec 2018 02:44:50 +0000 (10:44 +0800)]
msdkvpp: don't update pads' info if nothing have changed

5 years agomsdkenc: break out of flush frames loop on error
U. Artie Eoff [Fri, 4 Jan 2019 19:57:52 +0000 (11:57 -0800)]
msdkenc: break out of flush frames loop on error

In general, we should assume any unhandled error is
non-recoverable.

In the flush frames loop, some error states can cause us
to never increment the task and therefore we get stuck
in an infinite loop and generate GST_ELEMENT_ERROR
over and over again.  This eventually consumes all
system memory and triggers OOM.  Thus, assume the worst
and break out of the loop upon the first "unhandled" error.

https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/859

5 years agowasapi: Fix double call to Start when resetting the element
Nirbheek Chauhan [Fri, 4 Jan 2019 13:06:43 +0000 (18:36 +0530)]
wasapi: Fix double call to Start when resetting the element

When either the source or sink goes from PLAYING -> NULL -> PLAYING,
we call _reset() which sets client_needs_restart, and then we call
prepare() which calls IAudioClient_Start(), so we don't need to call
it again in src_read() or sink_write(). Unlike when we're just going
PLAYING -> PAUSED -> PLAYING.

5 years agowasapisink: Don't call CoUninitialize() twice in unprepare()
Sebastian Dröge [Thu, 3 Jan 2019 13:49:26 +0000 (15:49 +0200)]
wasapisink: Don't call CoUninitialize() twice in unprepare()

It has to be symmetric with CoInitialize(), otherwise everything else
will fail.

5 years agodecklinkvideosink: Don't forget to unref clock after usage
Sebastian Dröge [Wed, 2 Jan 2019 15:18:58 +0000 (17:18 +0200)]
decklinkvideosink: Don't forget to unref clock after usage

And don't unref a clock that is potentially NULL.

5 years agowebrtc: include stdlib.h for atoi()
Tim-Philipp Müller [Mon, 31 Dec 2018 12:09:42 +0000 (12:09 +0000)]
webrtc: include stdlib.h for atoi()

Fixes #857

5 years agotests: Enable more tests on Windows
Seungha Yang [Sun, 30 Dec 2018 13:31:39 +0000 (22:31 +0900)]
tests: Enable more tests on Windows

5 years agotests: Remove compositor test
Seungha Yang [Sun, 30 Dec 2018 13:33:03 +0000 (22:33 +0900)]
tests: Remove compositor test

It's moved to -base and no more part of -bad

5 years agotests: Remove pointless unistd include
Seungha Yang [Sun, 30 Dec 2018 13:31:02 +0000 (22:31 +0900)]
tests: Remove pointless unistd include

5 years agoRemove openglmixers plugin, moved to -base
Tim-Philipp Müller [Thu, 27 Dec 2018 16:52:47 +0000 (17:52 +0100)]
Remove openglmixers plugin, moved to -base

Merged into the existing opengl plugin in -base.

5 years agoRemove compositor plugin which was moved to -base
Tim-Philipp Müller [Thu, 27 Dec 2018 12:41:05 +0000 (13:41 +0100)]
Remove compositor plugin which was moved to -base

https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/138

5 years agoRemove GstVideoAggregator, moved into libgstvideo in -base
Tim-Philipp Müller [Wed, 26 Dec 2018 16:54:21 +0000 (17:54 +0100)]
Remove GstVideoAggregator, moved into libgstvideo in -base

https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/137

5 years agoopencv: fix disting of new header files
Tim-Philipp Müller [Tue, 25 Dec 2018 13:16:36 +0000 (14:16 +0100)]
opencv: fix disting of new header files

Fixes distcheck.

5 years agostereo: remove plugin which has been merged into audiofx in -good
Tim-Philipp Müller [Mon, 8 Oct 2018 22:45:28 +0000 (23:45 +0100)]
stereo: remove plugin which has been merged into audiofx in -good

https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/457

5 years agomsdk: Fix invalid return type build warning
Seungha Yang [Tue, 25 Dec 2018 07:10:57 +0000 (16:10 +0900)]
msdk: Fix invalid return type build warning

void function cannot have return value

gst-plugins-bad/sys/msdk/gstmsdkbufferpool.c(332): warning C4098:
'gst_msdk_buffer_pool_release_buffer': ...

5 years agoopenal: Fix AL header path for Mac OS X
Justin Kim [Mon, 24 Dec 2018 14:05:55 +0000 (23:05 +0900)]
openal: Fix AL header path for Mac OS X

OpenAL.framework doesn't provide 'alext.h'.
Thus, openal is enabled only if the dependency
is set by pkg-config.

fixes: #852

5 years agoplayer: Logging fix for updated audio info
Philippe Normand [Sat, 22 Dec 2018 17:39:44 +0000 (18:39 +0100)]
player: Logging fix for updated audio info

Bitrate was logged a second time instead of the max_bitrate.

5 years agotimecodestamper: Don't use deprecated API
Sebastian Dröge [Thu, 20 Dec 2018 08:12:42 +0000 (10:12 +0200)]
timecodestamper: Don't use deprecated API

5 years agowebrtc/receive-bin: block pads before dtlssrtpdec:
Matthew Waters [Tue, 18 Dec 2018 02:50:43 +0000 (13:50 +1100)]
webrtc/receive-bin: block pads before dtlssrtpdec:

Fixes SSL errors in fast-start scenarios and whenever media stream may
be received before an answer is set.

5 years agowebrtcbin: only change the receive state after setting the dtls-client
Matthew Waters [Tue, 18 Dec 2018 02:32:02 +0000 (13:32 +1100)]
webrtcbin: only change the receive state after setting the dtls-client

Doing so before will cause SSL errors with fast-start implementations
like Chrome or if media data arrives before an answer.

5 years agowebrtc: A couple of documentation fixes
Matthew Waters [Tue, 18 Dec 2018 02:31:00 +0000 (13:31 +1100)]
webrtc: A couple of documentation fixes

set-*-description only takes the combined GstWebRTCSessionDescription
object

5 years agodecklinkvideosink: Fix support for raw CEA608 input and add support for raw CEA708...
Sebastian Dröge [Sun, 16 Dec 2018 09:02:50 +0000 (11:02 +0200)]
decklinkvideosink: Fix support for raw CEA608 input and add support for raw CEA708 input

The former was only considering the first byte pair, for the latter we
have to convert raw CEA708 cc_data into CDP.

5 years agoccconverter: Add unit test
Sebastian Dröge [Thu, 13 Dec 2018 12:27:25 +0000 (14:27 +0200)]
ccconverter: Add unit test

5 years agoclosedcaption: Add ccconverter element that can convert between different types of...
Sebastian Dröge [Wed, 12 Dec 2018 12:59:50 +0000 (14:59 +0200)]
closedcaption: Add ccconverter element that can convert between different types of Closed Caption formats

5 years agoFix build when we have tinyalsa but not its header
Xavier Claessens [Tue, 18 Dec 2018 20:25:58 +0000 (15:25 -0500)]
Fix build when we have tinyalsa but not its header

5 years agotests: Re-enable isoff test on Windows
Seungha Yang [Tue, 18 Dec 2018 13:07:48 +0000 (22:07 +0900)]
tests: Re-enable isoff test on Windows

... and drop libxml2 dependency since it never be used by
both test and gstisoff.

5 years agotests: Fix build with MSVC
Seungha Yang [Sun, 16 Dec 2018 13:46:02 +0000 (22:46 +0900)]
tests: Fix build with MSVC

5 years agomeson: Prefer to use join_paths() over '/'
Seungha Yang [Tue, 18 Dec 2018 12:16:43 +0000 (21:16 +0900)]
meson: Prefer to use join_paths() over '/'

... to avoid mixing '/' and '\' in a path string on Windows.

5 years agotests: Enable unit test on Windows
Seungha Yang [Fri, 7 Dec 2018 14:22:08 +0000 (23:22 +0900)]
tests: Enable unit test on Windows

Allow run some unit tests on Windows.
* Add dependency explicitly for some test cases, otherwise plugins couldn't be
  loaded on uninstalled environment of Windows.
* Add missing GST_PLUGIN_LOADING_WHITELIST on meson build.

5 years agokmssink: Accept underscore in property
Nicolas Dufresne [Tue, 6 Nov 2018 22:07:52 +0000 (22:07 +0000)]
kmssink: Accept underscore in property

Otherwise sdi_mode and similar properties would be canonicalised to
sdi-mode.

5 years agokmssink: fix tmp_kmsmem leaks
Guillaume Desmottes [Tue, 18 Dec 2018 14:41:09 +0000 (15:41 +0100)]
kmssink: fix tmp_kmsmem leaks

configure_mode_setting() keeps a ref on tmp_kmsmem which is released in
gst_kms_sink_show_frame().
But if for some reason configure_mode_setting() is re-called before
showing a frame or if none is showed this memory was leaked.

5 years agoRemove acmmp3dec and acmenc plugins
Tim-Philipp Müller [Tue, 18 Dec 2018 00:34:44 +0000 (00:34 +0000)]
Remove acmmp3dec and acmenc plugins

ACM is an ancient legacy API, and there's no point in
keeping it around for a licensed mp3 decoder now that
mp3 patents have expired and we have a decoder in -good.

We didn't ship this in cerbero anyway. If there's a good
case for the AAC encoder (which is LC only anyway) someone
should write a new plugin based on current APIs, that can
actually be built out of the box.

Fixes #850

5 years agomeson: fix opencv=disabled case if opencv is available on the system
Tim-Philipp Müller [Mon, 17 Dec 2018 18:58:52 +0000 (18:58 +0000)]
meson: fix opencv=disabled case if opencv is available on the system

ext/opencv/meson.build:103:2: ERROR:  Unknown variable "gstopencv_dep".

5 years agomeson: wildmidi detection fixes
Tim-Philipp Müller [Mon, 17 Dec 2018 11:18:06 +0000 (11:18 +0000)]
meson: wildmidi detection fixes

Need at least 0.4.2 apparently.

ext/wildmidi/meson.build:11:2: ERROR:  String '' cannot be converted to int

5 years agocurlhttpsink: free content type before assigning it
Jonathan Karlsson [Mon, 17 Dec 2018 07:43:57 +0000 (08:43 +0100)]
curlhttpsink: free content type before assigning it

Not doing this would result in a memory leak.

5 years agocurlbasesink: cleanup transfer immediately when done
Jonathan Karlsson [Mon, 17 Dec 2018 07:07:26 +0000 (08:07 +0100)]
curlbasesink: cleanup transfer immediately when done

5 years agofdkaac: Syntax tweaks to increase readability
Jan Alexander Steffens (heftig) [Wed, 5 Dec 2018 00:29:18 +0000 (01:29 +0100)]
fdkaac: Syntax tweaks to increase readability

Mostly move some assignments out of conditionals that gst-indent
completely destroys.

5 years agofdkaacdec: Enable 8-channel playback
Jan Alexander Steffens (heftig) [Tue, 4 Dec 2018 17:33:09 +0000 (18:33 +0100)]
fdkaacdec: Enable 8-channel playback

The decoder seems to default to 6 channels max, downmixing 7.1 to 5.1.
Disable the channel limit to expose all channels to GStreamer.

In addition, none of the standard configurations use ACT_SIDE channels.
The rear channels of the 7.1 configuration have to be taken from
ACT_BACK. See the table in aacenc_lib.h, reproduced here:

----------------------------------------------------------------------------------------
 ChannelMode           | ChCfg | Height | front_El      | side_El  | back_El  | lfe_El
-----------------------+-------+--------+---------------+----------+----------+---------
MODE_1                 |     1 | NORM   | SCE           |          |          |
MODE_2                 |     2 | NORM   | CPE           |          |          |
MODE_1_2               |     3 | NORM   | SCE, CPE      |          |          |
MODE_1_2_1             |     4 | NORM   | SCE, CPE      |          | SCE      |
MODE_1_2_2             |     5 | NORM   | SCE, CPE      |          | CPE      |
MODE_1_2_2_1           |     6 | NORM   | SCE, CPE      |          | CPE      | LFE
MODE_1_2_2_2_1         |     7 | NORM   | SCE, CPE, CPE |          | CPE      | LFE
MODE_6_1               |    11 | NORM   | SCE, CPE      |          | CPE, SCE | LFE
MODE_7_1_BACK          |    12 | NORM   | SCE, CPE      |          | CPE, CPE | LFE
-----------------------+-------+--------+---------------+----------+----------+---------
MODE_7_1_TOP_FRONT     |    14 | NORM   | SCE, CPE      |          | CPE      | LFE
                       |       | TOP    | CPE           |          |          |
-----------------------+-------+--------+---------------+----------+----------+---------
MODE_7_1_REAR_SURROUND |     0 | NORM   | SCE, CPE      |          | CPE, CPE | LFE
MODE_7_1_FRONT_CENTER  |     0 | NORM   | SCE, CPE, CPE |          | CPE      | LFE
----------------------------------------------------------------------------------------
- NORM: Normal Height Layer.     - TOP: Top Height Layer.  - BTM: Bottom Height Layer.
- SCE: Single Channel Element.   - CPE: Channel Pair.      - LFE: Low Frequency Element.

Restores 8 channels to
https://www2.iis.fraunhofer.de/AAC/7.1auditionOutLeader_v2_rtb.mp4

5 years agofdkaacenc: Add support for v2.0.0 and its configurations
Jan Alexander Steffens (heftig) [Tue, 4 Dec 2018 17:06:26 +0000 (18:06 +0100)]
fdkaacenc: Add support for v2.0.0 and its configurations

These are MPEG-standard configurations so should be checked first,
before the PCE clones added by v0.1.4.

5 years agofdkaacenc: Add support for MPEG configuration 7
Jan Alexander Steffens (heftig) [Tue, 4 Dec 2018 17:04:28 +0000 (18:04 +0100)]
fdkaacenc: Add support for MPEG configuration 7

5 years agofdkaacenc: Add a description of each configuration
Jan Alexander Steffens (heftig) [Tue, 4 Dec 2018 17:04:06 +0000 (18:04 +0100)]
fdkaacenc: Add a description of each configuration

5 years agofdkaacenc: Prefer REAR for surround channels
Jan Alexander Steffens (heftig) [Tue, 4 Dec 2018 16:57:15 +0000 (17:57 +0100)]
fdkaacenc: Prefer REAR for surround channels

We (currently?) prefer to use the REAR positions for what MPEG calls
"surround" channels.

5 years agoRemove daala plugin
Tim-Philipp Müller [Sun, 16 Dec 2018 23:45:32 +0000 (23:45 +0000)]
Remove daala plugin

Not so useful now that all effort is focused on AV1 instead.
Was only ever enabled with --enable-experimental anyway.

Fixes #848

5 years agomeson: Add libsinc to the CFLAGS
Sebastian Dröge [Mon, 17 Dec 2018 10:30:27 +0000 (12:30 +0200)]
meson: Add libsinc to the CFLAGS

Otherwise gst-i18n-plugin.h can't be found.

5 years agomeson: build openni2 plugin
Tim-Philipp Müller [Mon, 17 Dec 2018 00:26:47 +0000 (00:26 +0000)]
meson: build openni2 plugin

5 years agomeson: build openmpt plugin
Tim-Philipp Müller [Mon, 17 Dec 2018 00:19:37 +0000 (00:19 +0000)]
meson: build openmpt plugin

5 years agomeson: build openexr plugin
Tim-Philipp Müller [Mon, 17 Dec 2018 00:11:16 +0000 (00:11 +0000)]
meson: build openexr plugin

5 years agomeson: build openal plugin
Tim-Philipp Müller [Mon, 17 Dec 2018 00:00:11 +0000 (00:00 +0000)]
meson: build openal plugin

5 years agomeson: build sndfile plugin
Tim-Philipp Müller [Sun, 16 Dec 2018 20:27:56 +0000 (20:27 +0000)]
meson: build sndfile plugin

5 years agomeson: install freeverb preset file
Tim-Philipp Müller [Sun, 16 Dec 2018 20:18:11 +0000 (20:18 +0000)]
meson: install freeverb preset file

5 years agomeson: build voamrwbenc plugin
Tim-Philipp Müller [Sun, 16 Dec 2018 20:13:08 +0000 (20:13 +0000)]
meson: build voamrwbenc plugin

5 years agomeson: build teletext plugin
Tim-Philipp Müller [Sun, 16 Dec 2018 20:02:07 +0000 (20:02 +0000)]
meson: build teletext plugin

5 years agomeson: build modplug plugin
Tim-Philipp Müller [Sun, 16 Dec 2018 18:45:53 +0000 (18:45 +0000)]
meson: build modplug plugin

5 years agomeson: build wildmidi plugin
Tim-Philipp Müller [Sun, 16 Dec 2018 18:07:48 +0000 (18:07 +0000)]
meson: build wildmidi plugin

5 years agomeson: build dc1394 plugin
Tim-Philipp Müller [Sun, 16 Dec 2018 17:35:58 +0000 (17:35 +0000)]
meson: build dc1394 plugin

5 years agomeson: build ofa plugin
Tim-Philipp Müller [Sun, 16 Dec 2018 01:05:25 +0000 (01:05 +0000)]
meson: build ofa plugin

5 years agomeson: build gme plugin
Tim-Philipp Müller [Sun, 16 Dec 2018 00:56:50 +0000 (00:56 +0000)]
meson: build gme plugin

5 years agomeson: build vdpau plugin
Tim-Philipp Müller [Sun, 16 Dec 2018 00:41:23 +0000 (00:41 +0000)]
meson: build vdpau plugin

5 years agomeson: build tinyalsa plugin
Tim-Philipp Müller [Sat, 15 Dec 2018 20:02:48 +0000 (20:02 +0000)]
meson: build tinyalsa plugin

5 years agomeson: build vcdsrc plugin
Tim-Philipp Müller [Sat, 15 Dec 2018 18:24:11 +0000 (18:24 +0000)]
meson: build vcdsrc plugin

5 years agoRemove spc plugin
Tim-Philipp Müller [Sun, 16 Dec 2018 23:35:58 +0000 (23:35 +0000)]
Remove spc plugin

Replaced by gme plugin. Fixes #467

5 years agoclosedcaption: Use new API for converting GstVideoCaptionType from/to GstCaps
Sebastian Dröge [Tue, 11 Dec 2018 12:12:13 +0000 (14:12 +0200)]
closedcaption: Use new API for converting GstVideoCaptionType from/to GstCaps

5 years agoclosedcaption: Replace GST_VIDEO_CAPTION_TYPE_CEA608_IN_CEA708_RAW with CEA608_S334_1A
Sebastian Dröge [Mon, 10 Dec 2018 13:54:49 +0000 (15:54 +0200)]
closedcaption: Replace GST_VIDEO_CAPTION_TYPE_CEA608_IN_CEA708_RAW with CEA608_S334_1A

As a side-effect we can now actually store the line offset in the
line21dec element, and have to perform fewer transformations in the
decklink elements (which were also buggy as they assumed a single byte
triplet per meta).