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

6 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

6 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.

6 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

6 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': ...

6 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

6 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.

6 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

6 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.

6 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.

6 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

6 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.

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

6 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

6 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

6 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.

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

6 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.

6 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.

6 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.

6 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.

6 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

6 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".

6 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

6 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.

6 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

6 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.

6 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

6 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.

6 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

6 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

6 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.

6 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

6 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.

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

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

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

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

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

6 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

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

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

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

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

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

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

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

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

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

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

6 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

6 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

6 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).

6 years agoline21dec: If CCs are not found at the previous line, reset and search from the begin...
Sebastian Dröge [Mon, 10 Dec 2018 13:43:19 +0000 (15:43 +0200)]
line21dec: If CCs are not found at the previous line, reset and search from the beginning again

6 years agoline21dec: Don't read more lines than the height of the frame
Sebastian Dröge [Mon, 10 Dec 2018 13:42:04 +0000 (15:42 +0200)]
line21dec: Don't read more lines than the height of the frame

6 years agoremovesilence: add libm to meson.build
Nicola Murino [Fri, 14 Dec 2018 18:55:32 +0000 (19:55 +0100)]
removesilence: add libm to meson.build

6 years agoremovesilence: reset filter on start and on segment events
Nicola Murino [Fri, 14 Dec 2018 16:09:01 +0000 (17:09 +0100)]
removesilence: reset filter on start and on segment events

6 years agoremovesilence: improve documentation
Nicola Murino [Fri, 14 Dec 2018 14:48:09 +0000 (15:48 +0100)]
removesilence: improve documentation

6 years agoremovesilence: add threshold property
Nicola Murino [Mon, 26 Nov 2018 15:40:01 +0000 (16:40 +0100)]
removesilence: add threshold property

silence thresold was hardcoded to -60 dB, now it is configurable
using this new property

Closes #63

6 years agoremovesilence: add properties to detect silence only after minimum silence time/buffers
Nicola Murino [Mon, 26 Nov 2018 15:39:16 +0000 (16:39 +0100)]
removesilence: add properties to detect silence only after minimum silence time/buffers

Closes #63

6 years agoremovesilence: add silent property to control bus message notifications
Nicola Murino [Mon, 26 Nov 2018 15:38:37 +0000 (16:38 +0100)]
removesilence: add silent property to control bus message notifications

Closes #63

6 years agoremovesilence: post bus messages when silence is detected/finished
Nicola Murino [Mon, 26 Nov 2018 15:37:40 +0000 (16:37 +0100)]
removesilence: post bus messages when silence is detected/finished

Closes #63

6 years agoremovesilence: add squash property
Nicola Murino [Mon, 26 Nov 2018 15:36:18 +0000 (16:36 +0100)]
removesilence: add squash property

allows to output buffers without timestamp gap when silence is removed

Closes #63

6 years agosys: applemedia: meson: Add dependencies by using appleframeworks
Justin Kim [Fri, 14 Dec 2018 03:22:51 +0000 (12:22 +0900)]
sys: applemedia: meson: Add dependencies by using appleframeworks

gst-build#13

6 years agowaylandsink: Avoid race condition on multi-threaded client
Wonchul Lee [Mon, 3 Dec 2018 07:18:32 +0000 (16:18 +0900)]
waylandsink: Avoid race condition on multi-threaded client

When waylandsink is used on some other thread than the main wayland
client thread, the waylandsink implementation is vulnerable to a

condition related to registry and surface events which handled in
seperated event queue.

The race that may happen is that after a proxy is created, but
before the queue is set, events meant to be emitted via the yet to

set queue may already have been queued on the wrong queue.

Wayland 1.11 introduced new API that allows creating a proxy
wrappper which can help to avoid this race condition.

6 years agoexamples/wayland: Add wayland multi-thread client example
Wonchul Lee [Mon, 3 Dec 2018 02:59:46 +0000 (11:59 +0900)]
examples/wayland: Add wayland multi-thread client example

This is for testing race condition with multi-thread wayland client
environment. The race condition will be resolved with wayland proxy
wrapper API when handling event queue.

6 years agoh26{4,5}parse: Don't confuse nal of codec_data with frame
Seungha Yang [Sat, 1 Dec 2018 13:42:53 +0000 (22:42 +0900)]
h26{4,5}parse: Don't confuse nal of codec_data with frame

vps/sps/pps in codec_data shouldn't be considered as inband data.
Otherwise, h26{4,5}parse never insert them to nal when transform
(packetized to byte-stream) use case

6 years agonvdec: Rely on upstream's value for interlace-mode with hevc
Matthew Waters [Tue, 20 Nov 2018 10:09:52 +0000 (04:09 -0600)]
nvdec: Rely on upstream's value for interlace-mode with hevc

The nvdec API doesn't seem to produce interlacing information with hevc
streams so rely on upstreams value for interlace-mode

6 years agomsdk: change the wait time for encoder and vpp
Haihao Xiang [Wed, 12 Dec 2018 07:24:18 +0000 (15:24 +0800)]
msdk: change the wait time for encoder and vpp

In MSDK samples, the wait time for encoder, decoder and vpp is
300000. Let's set the wait time to the same value in msdk plugin

6 years agomsdk: correct the error message
Haihao Xiang [Wed, 12 Dec 2018 05:45:34 +0000 (13:45 +0800)]
msdk: correct the error message

It is VPP session instead of Encoder session

6 years agomsdk: check the created context against NULL pointer
Haihao Xiang [Wed, 12 Dec 2018 04:52:46 +0000 (12:52 +0800)]
msdk: check the created context against NULL pointer

gst_msdk_context_new_with_parent() may return NULL

6 years agomsdk: decrease the reference count of object
Haihao Xiang [Tue, 11 Dec 2018 07:54:51 +0000 (15:54 +0800)]
msdk: decrease the reference count of object

Otherwise there are reference leaks if failed to clone or join a
mfx session

6 years agomsdk: assign the returned value to status variable
Haihao Xiang [Tue, 11 Dec 2018 07:04:12 +0000 (15:04 +0800)]
msdk: assign the returned value to status variable

Othervise the subsequent check will use the stale value of status
variable

6 years agomsdkh265enc: output main-10 bitstream if the input is P010_10LE
Xiang, Haihao [Tue, 27 Nov 2018 07:56:03 +0000 (15:56 +0800)]
msdkh265enc: output main-10 bitstream if the input is P010_10LE

Tested on KBL using the following command:
gst-launch-1.0 videotestsrc num_buffers=100 ! video/x-raw,format=P010_10LE ! \
msdkh265enc ! filesink location=a.hevc

This fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/829

6 years agomsdkh265enc: add P010_10LE to the sink pad template
Xiang, Haihao [Tue, 27 Nov 2018 11:22:16 +0000 (19:22 +0800)]
msdkh265enc: add P010_10LE to the sink pad template

6 years agomsdkh265enc: re-add the sink pad template
Xiang, Haihao [Tue, 27 Nov 2018 07:55:51 +0000 (15:55 +0800)]
msdkh265enc: re-add the sink pad template

We will add more profiles in the sink caps of msdkh265enc, so let
msdkh265enc re-add the sink pad template. Note this change doesn't
impact any capability

6 years agomsdkenc: handle P010_10LE input format
Xiang, Haihao [Tue, 27 Nov 2018 08:08:42 +0000 (16:08 +0800)]
msdkenc: handle P010_10LE input format

Note it is up to each codec to support P010_10LE format

6 years agomsdkenc: use macro GST_VIDEO_INFO_FORMAT if possible
Xiang, Haihao [Tue, 27 Nov 2018 07:52:56 +0000 (15:52 +0800)]
msdkenc: use macro GST_VIDEO_INFO_FORMAT if possible