platform/upstream/gstreamer.git
6 years agodashdemux: parse xs:dateTime's timezone indicator
Jun Xie [Thu, 14 Dec 2017 07:18:38 +0000 (15:18 +0800)]
dashdemux: parse xs:dateTime's timezone indicator

The lexical form of xs:dateTime is YYYY-MM-DDThh:mm:ss[Z|(+|-)hh:mm]
timezone indicator (+|-)hh:mm] needs to be parsed.

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

6 years agoplayer: Fix-up set_seek_accurate() configuration to take a player config instead...
Sebastian Dröge [Sat, 16 Dec 2017 08:44:26 +0000 (10:44 +0200)]
player: Fix-up set_seek_accurate() configuration to take a player config instead of a player instance

6 years agoplayer: Consistently use GstVideoMultiviewFramePacking instead of Mode
Sebastian Dröge [Sat, 16 Dec 2017 08:22:44 +0000 (10:22 +0200)]
player: Consistently use GstVideoMultiviewFramePacking instead of Mode

The latter needs additional metadata, and the former was already used
everywhere except for the functions: in properties in playbin itself.

6 years agoav1enc: Add debugging of configuration settings
Edward Hervey [Fri, 15 Dec 2017 16:38:12 +0000 (17:38 +0100)]
av1enc: Add debugging of configuration settings

In preparation of making such properties configurable
via gobject properties.

6 years agoav1enc: Remove g_print for errors
Edward Hervey [Fri, 15 Dec 2017 16:37:08 +0000 (17:37 +0100)]
av1enc: Remove g_print for errors

And use standard debugging system for it

6 years agoAdd aom plugin with av1enc and av1dec element
Sean DuBois [Tue, 27 Jun 2017 22:50:41 +0000 (22:50 +0000)]
Add aom plugin with av1enc and av1dec element

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

6 years agoopencv: handdetect: fix typo in example launch line
Reynaldo H. Verdejo Pinochet [Thu, 14 Dec 2017 21:31:33 +0000 (13:31 -0800)]
opencv: handdetect: fix typo in example launch line

6 years agodecklinkaudiosink: Start audio pre-rolling if the output is not started yet in render()
Sebastian Dröge [Wed, 22 Nov 2017 12:29:51 +0000 (14:29 +0200)]
decklinkaudiosink: Start audio pre-rolling if the output is not started yet in render()

This seems to allow to schedule audio samples correctly at their right
times already.

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

6 years agodecklinkvideosink: Only start if both sinks are set to PLAYING already
Sebastian Dröge [Wed, 6 Dec 2017 18:36:37 +0000 (20:36 +0200)]
decklinkvideosink: Only start if both sinks are set to PLAYING already

Not only if the video sink is set to PLAYING so far. Also give more
useful debug output about why we don't start, and don't start if already
started.

Also refactor the function to early-return instead of having a huge
if-else block over the whole function.

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

6 years agodecklinkaudiosink: Include final flow return in debug output
Sebastian Dröge [Wed, 6 Dec 2017 17:42:42 +0000 (19:42 +0200)]
decklinkaudiosink: Include final flow return in debug output

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

6 years agodecklinkaudiosink: Check also against the clock if we run ahead of the clock too...
Sebastian Dröge [Mon, 27 Nov 2017 15:41:52 +0000 (17:41 +0200)]
decklinkaudiosink: Check also against the clock if we run ahead of the clock too much

The buffer level as reported by the Decklink driver is completely
unreliable, and we could otherwise easily run ahead >1s if we're
unlucky.

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

6 years agodecklinkaudiosink: Implement resampling/buffer reversing for trick-modes
Sebastian Dröge [Wed, 22 Nov 2017 14:37:12 +0000 (16:37 +0200)]
decklinkaudiosink: Implement resampling/buffer reversing for trick-modes

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

6 years agodecklinkaudiosink: Re-implement around GstBaseSink instead of GstAudioBaseSink
Sebastian Dröge [Wed, 8 Nov 2017 17:31:37 +0000 (19:31 +0200)]
decklinkaudiosink: Re-implement around GstBaseSink instead of GstAudioBaseSink

The Decklink and GstAudioBaseSink APIs don't fit very well together,
which causes various problems due to inaccuracies in the clock
calculations and the actual ringbuffer and GStreamer's copy getting of
sync.

Problems are audio drop-outs and A/V sync getting wrong after
pausing/seeking.

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

6 years agoAutomatic update of common submodule
Matthew Waters [Thu, 14 Dec 2017 03:49:10 +0000 (14:49 +1100)]
Automatic update of common submodule

From e8c7a71 to 3fa2c9e

6 years agovtenc: fix a warning when building in MacOS 10.12
Josep Torra [Tue, 12 Dec 2017 07:40:33 +0000 (08:40 +0100)]
vtenc: fix a warning when building in MacOS 10.12

vtenc.c:564:20: error: incompatible pointer types passing 'GstVTEnc *' (aka 'struct _GstVTEnc *')
to parameter of type 'GstVideoEncoder *' (aka 'struct _GstVideoEncoder *')

6 years agococoa: fix a warning when building in MacOS 10.12
Josep Torra [Tue, 12 Dec 2017 07:31:47 +0000 (08:31 +0100)]
cocoa: fix a warning when building in MacOS 10.12

gstglwindow_cocoa.m:186:60: error: incompatible pointer types sending 'GstGLContextCocoa *'
(aka 'struct _GstGLContextCocoa *') to parameter of type 'GstGLContext *' (aka 'struct _GstGLContext *')

6 years agogl: display: demote error level at display creation error
Víctor Manuel Jáquez Leal [Fri, 8 Dec 2017 13:46:35 +0000 (14:46 +0100)]
gl: display: demote error level at display creation error

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

6 years agoavwait: Added "avwait-status" element message
Vivia Nikolaidou [Fri, 10 Nov 2017 13:56:40 +0000 (15:56 +0200)]
avwait: Added "avwait-status" element message

"avwait-status" is posted when avwait starts or stops passing through
data (e.g. because target-timecode and end-timecode respectively have
been reached). The attached structure includes a "dropping" boolean (set
to TRUE if we are currently dropping data, FALSE otherwise), and a
"running-time" GST_CLOCK_TIME which contains the running time of the
change.

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

6 years agomeson test: Enable libs tests
Mathieu Duponchelle [Mon, 16 Oct 2017 17:51:36 +0000 (19:51 +0200)]
meson test: Enable libs tests

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

6 years agopkgconfig: Move fixes for move of aggregator to core
Edward Hervey [Fri, 8 Dec 2017 12:54:27 +0000 (13:54 +0100)]
pkgconfig: Move fixes for move of aggregator to core

6 years agoh264parse: make caps writable before modifying them
Tim-Philipp Müller [Thu, 7 Dec 2017 19:14:23 +0000 (19:14 +0000)]
h264parse: make caps writable before modifying them

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

6 years agosrt: Post error message for NULL host
Seungha Yang [Thu, 7 Dec 2017 02:02:02 +0000 (11:02 +0900)]
srt: Post error message for NULL host

... instead of crash without any information

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

6 years agowaylandsink: Fix memory leak of shm allocator
Nicolas Dufresne [Thu, 7 Dec 2017 01:50:31 +0000 (20:50 -0500)]
waylandsink: Fix memory leak of shm allocator

This fixes conflict resolution error introduced in commit:

  816d115317c522c87297109de781c63b16146493

http://bugzilla.gnome.org/show_bug.cgi?id=790042

6 years agowaylandsink: Fix memory leak of shm allocator.
Shinya Saito [Wed, 1 Nov 2017 09:05:26 +0000 (18:05 +0900)]
waylandsink: Fix memory leak of shm allocator.

gst_allocator_find() needs gst_object_unref() after usage.

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

6 years agodashdemux: fix coredump issue with external AdaptationSet
Jun Xie [Sat, 25 Nov 2017 07:35:05 +0000 (15:35 +0800)]
dashdemux: fix coredump issue with external AdaptationSet

fix wrong AdaptationSet list iterator

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

6 years agom3u8: Parse and use AVERAGE-BANDWIDTH attribute if available
Hosang Lee [Sat, 25 Nov 2017 13:24:39 +0000 (22:24 +0900)]
m3u8: Parse and use AVERAGE-BANDWIDTH attribute if available

The AVERAGE-BANDWIDTH attribute in the EXT-X-STREAM-INF tag represents
the average segment bit rate of the Variant Stream, while the BANDWIDTH
attribute represents the peak segment bit rate of the Variant Stream.
(https://tools.ietf.org/html/draft-pantos-http-live-streaming-23#section-4.3.4.2)
Using the average bit rate instead of the peak bit rate for variant switching
is more efficient and appropriate. Sometimes due to VBR encoding,
the BANDWIDTH may represent a value way above the average bit rate,
which could result to players not switching to that variant stream
 although network bandwidth is sufficiently available.

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

6 years agoexamples: audiomixmatrix: Remove unused part
Wonchul Lee [Sun, 26 Nov 2017 02:46:06 +0000 (11:46 +0900)]
examples: audiomixmatrix: Remove unused part

matrix-value-array property is removed since
18917de9562d0d33cf80ca68c071eee3572d4483 commit applied

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

6 years agokmssink: Fix CropMeta support
Nicolas Dufresne [Mon, 4 Dec 2017 16:52:16 +0000 (11:52 -0500)]
kmssink: Fix CropMeta support

We copy the meta's from the original buffer to the wrapper or copied
buffer.

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

6 years agokmssink: Enforce pixel aspect ratio when we cannot scale
Nicolas Dufresne [Fri, 1 Dec 2017 21:53:34 +0000 (16:53 -0500)]
kmssink: Enforce pixel aspect ratio when we cannot scale

When we cannot scale, we need to enforce the pixel aspect ratio.
This was partly implemented in the previous patch. Doing this
simplify some of the code.

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

6 years agodecklinkvideosink: Wait until scheduled playback is actually stopped before continuing
Sebastian Dröge [Wed, 22 Nov 2017 08:42:37 +0000 (10:42 +0200)]
decklinkvideosink: Wait until scheduled playback is actually stopped before continuing

Otherwise we might "start" again, just to get finally stopped and then
getting errors all over the place.

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

6 years agosrt: Fix warning error
Seungha Yang [Wed, 6 Dec 2017 10:15:40 +0000 (19:15 +0900)]
srt: Fix warning error

gstsrt.c: In function ‘gst_srt_client_connect_full’:
gstsrt.c:151:6: error: ‘sock’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
   if (sock != SRT_INVALID_SOCK) {

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

6 years agoandroidmedia: when flushing, better handle IllegalStateException received from getOut...
Ursula Maplehurst [Fri, 1 Dec 2017 13:02:12 +0000 (13:02 +0000)]
androidmedia: when flushing, better handle IllegalStateException received from getOutputBuffer

1. Similar to 880f3d8, don't consider not getting an output buffer as
   an error during flushing. I've seen the following sometimes when
   encoding:

   W GStreamer+amcvideoenc: java.lang.IllegalStateException
   W GStreamer+amcvideoenc:         at android.media.MediaCodec.getBuffer(Native Method)
   W GStreamer+amcvideoenc:         at android.media.MediaCodec.getOutputBuffer(MediaCodec.java:2886)

2. For amcvideodec/enc, call _find_nearest_frame (which grabs a fresh
   reference on a GstVideoCodecFrame) after we have an output buffer,
   so as to not leak the reference, in case getting an output buffer
   fails.

   Otherwise, if we get an error grabbing the output buffer, we leak
   the reference to the frame. This can cause issues with a
   v4l2bufferpool feeding the encoder not being able to clean itself
   up properly due to buffers still being marked as in-use.

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

6 years agogldownload: fix wrong enum
Víctor Manuel Jáquez Leal [Tue, 5 Dec 2017 09:37:40 +0000 (10:37 +0100)]
gldownload: fix wrong enum

When compiling with clang, an enum conversion error is triggered
since GstVideoFrameFlags are not GstVideoFlags.

This patch sets GST_VIDEO_FRAME_FLAG_NONE to the added video meta.

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

6 years agodocs: aggregator has moved to base
Edward Hervey [Sun, 3 Dec 2017 10:22:02 +0000 (11:22 +0100)]
docs: aggregator has moved to base

6 years agogldownload: Add missing ifdef for dmabuf and egl
Nicolas Dufresne [Sun, 3 Dec 2017 00:28:30 +0000 (19:28 -0500)]
gldownload: Add missing ifdef for dmabuf and egl

This fixes the build for platforms that don't support one or the other.

6 years agogldisplay: Prefer wayland over X11
Nicolas Dufresne [Sat, 2 Dec 2017 20:25:38 +0000 (15:25 -0500)]
gldisplay: Prefer wayland over X11

As most Wayland compositors supports XWayland, X11 backend get
selected. This also realign better GStreamer decision to what
happens with GTK and other stack out there.

6 years agogldisplay: Add missing GL API to the doc
Nicolas Dufresne [Sat, 2 Dec 2017 20:25:16 +0000 (15:25 -0500)]
gldisplay: Add missing GL API to the doc

6 years agogldownload: Add dmabuf exporting
Matt Fischer [Wed, 11 Jan 2017 01:23:58 +0000 (19:23 -0600)]
gldownload: Add dmabuf exporting

This patch adds code to gldownload to export the image as a
dmabuf if requested.  The element now exposes memory:DMABuf as
a cap feature, and if it is selected, the element exports the
texture to an EGL image and then a dmabuf. It also implements a
fallback to system memory download in case the exportation failed.

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

6 years agoRemove GstAggregator from -bad, moved to core
Tim-Philipp Müller [Sat, 2 Dec 2017 16:01:25 +0000 (16:01 +0000)]
Remove GstAggregator from -bad, moved to core

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

6 years agokmssink: Add display-width/height properties
Nicolas Dufresne [Fri, 1 Dec 2017 16:59:01 +0000 (11:59 -0500)]
kmssink: Add display-width/height properties

This is to be used with gst_video_overlay_set_render_rectangle()
so the application can calculate a rectangle that fits inside
the display. The property changes are notify in a way that you
can watch either notify::display-width or notify::display-height
and both will be up-to-data when this is called back. Before the
element is started, the size will be 0x0.

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

6 years agokmssink: support videooverlay interface
Haihua Hu [Thu, 14 Sep 2017 10:12:18 +0000 (18:12 +0800)]
kmssink: support videooverlay interface

Implement videooverlay interface in kmssink, divided into two cases:
when driver supports scale, then we do refresh in show_frame(); if
not, send a reconfigure event to upstream and re-negotiate, using the
new size.

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

6 years agokmssink: add can-scale property
Haihua Hu [Tue, 12 Sep 2017 07:46:01 +0000 (15:46 +0800)]
kmssink: add can-scale property

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

6 years agodashdemux: remove duplicated code
Jun Xie [Mon, 27 Nov 2017 12:05:29 +0000 (20:05 +0800)]
dashdemux: remove duplicated code

remove duplicated code

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

6 years agodashdemux: fix memory leak
Jun Xie [Mon, 27 Nov 2017 13:27:23 +0000 (21:27 +0800)]
dashdemux: fix memory leak

GPtrArray in GstActiveStream is leaked in some cases.
gst_mpdparser_free_active_stream shall be invoked to free GstActiveStream

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

6 years agomeson: don't generate or install pkg-config file for gstreamer-wayland
Tim-Philipp Müller [Tue, 28 Nov 2017 13:44:54 +0000 (13:44 +0000)]
meson: don't generate or install pkg-config file for gstreamer-wayland

which is not for public consumption currently (headers not installed).

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

6 years agoAutomatic update of common submodule
Matthew Waters [Mon, 27 Nov 2017 09:11:23 +0000 (20:11 +1100)]
Automatic update of common submodule

From 3f4aa96 to e8c7a71

6 years agogl/caopengllayer: use public GstGLContext instead of Cocoa-specific one
Matthew Waters [Mon, 27 Nov 2017 03:44:58 +0000 (14:44 +1100)]
gl/caopengllayer: use public GstGLContext instead of Cocoa-specific one

Allows keeping the GstGLCAOpenGLLayer public but not the winsys-specific
context/display/window.

6 years agoRevert "gl: cocoa: sprinkle some GST_EXPORT"
Matthew Waters [Mon, 27 Nov 2017 03:44:24 +0000 (14:44 +1100)]
Revert "gl: cocoa: sprinkle some GST_EXPORT"

This reverts commit 94d798c3337013bd902c0fd0a66f7f6842243eeb.

cocoac headers don't need to be public as all the functionality can be
provided by the base class

6 years agogl: cocoa: sprinkle some GST_EXPORT
Tim-Philipp Müller [Sun, 26 Nov 2017 22:36:35 +0000 (22:36 +0000)]
gl: cocoa: sprinkle some GST_EXPORT

Undefined symbols for architecture x86_64:
  "_gst_gl_context_cocoa_get_type", referenced from:
      __create_layer in libgstopengl_la-caopengllayersink.o

Might need some more in other headers, but first need to
clarify what exactly should be exported, there are some
inconsistencies (installed header files vs. funcs in docs).

6 years agoautotools: remove check-exports target dep which no longer exists
Tim-Philipp Müller [Sun, 26 Nov 2017 18:35:13 +0000 (18:35 +0000)]
autotools: remove check-exports target dep which no longer exists

6 years agowin32: remove .def file with exports
Tim-Philipp Müller [Sun, 26 Nov 2017 16:32:01 +0000 (16:32 +0000)]
win32: remove .def file with exports

They're no longer needed, symbol exporting is now explicit
via GST_EXPORT in all cases (autotools, meson, incl. MSVC).

6 years agoautotools: stop controlling symbol visibility with -export-symbols-regex
Tim-Philipp Müller [Sun, 26 Nov 2017 16:25:50 +0000 (16:25 +0000)]
autotools: stop controlling symbol visibility with -export-symbols-regex

Instead, use -fvisibility=hidden and explicit exports via GST_EXPORT.
This should result in consistent behaviour for the autotools and
Meson builds.

6 years agocodecparsers: mpegvideoparser: remove API that was deprecated 5 years ago
Tim-Philipp Müller [Sun, 26 Nov 2017 16:07:13 +0000 (16:07 +0000)]
codecparsers: mpegvideoparser: remove API that was deprecated 5 years ago

Libraries in -bad are not covered by our API/ABI stability
guarantees, and to the best of our knowledge everyone using
this API has moved to the replacement APIs ages ago.

6 years agowaylandsink: Add prototype for gst_wayand_pool_get_type()
Nicolas Dufresne [Sun, 26 Nov 2017 01:06:57 +0000 (20:06 -0500)]
waylandsink: Add prototype for gst_wayand_pool_get_type()

6 years agowaylandsink: Rollback video info changes when copying
Nicolas Dufresne [Thu, 23 Nov 2017 03:27:04 +0000 (22:27 -0500)]
waylandsink: Rollback video info changes when copying

We change the video info base on the received buffer. We need to
rollback these changes whenever we want to copy into our internal
pool of buffers.

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

6 years agowaylandsink: Validate strides and offset when using FD as SHM
Nicolas Dufresne [Wed, 22 Nov 2017 04:18:24 +0000 (23:18 -0500)]
waylandsink: Validate strides and offset when using FD as SHM

As SHM interface only support 1 stride, and 1 offset, we need to
make sure that there is no padding between planes for planar formats.

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

6 years agowaylandsink: Update video info size to buffer size
Nicolas Dufresne [Wed, 22 Nov 2017 04:17:14 +0000 (23:17 -0500)]
waylandsink: Update video info size to buffer size

We where setting the size to the first memory size, this may be
too small in case we received a buffer with multiple memory.

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

6 years agowaylandsink: Allocate only what's needed when copying
Nicolas Dufresne [Wed, 22 Nov 2017 04:12:12 +0000 (23:12 -0500)]
waylandsink: Allocate only what's needed when copying

There was this regression that we'd be using the updated video
info size instead of default size when initializing the pool.

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

6 years agowaylandsink: Only try SHM for single memory buffer
Nicolas Dufresne [Wed, 22 Nov 2017 04:11:02 +0000 (23:11 -0500)]
waylandsink: Only try SHM for single memory buffer

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

6 years agowlwindow: Only update video info on new render
Nicolas Dufresne [Wed, 22 Nov 2017 04:10:03 +0000 (23:10 -0500)]
wlwindow: Only update video info on new render

The sink->video_info might not reflect the current buffer
when expose is being called.

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

6 years agowaylandsink: Disable video-alignment from the pool
Nicolas Dufresne [Tue, 21 Nov 2017 02:09:28 +0000 (21:09 -0500)]
waylandsink: Disable video-alignment from the pool

The SHM interface does not allow passing arbitrary strides and offsets,
for this reason, we simply disable this feature from the proposed pool.

This fixes video artifact seen when using the FFMPEG based video
decoder.

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

6 years agoopusparse: fix uninitialized-warning
Havard Graff [Mon, 24 Oct 2016 21:02:38 +0000 (23:02 +0200)]
opusparse: fix uninitialized-warning

6 years agoh263parse: Add debug log for more annexes when plustype
Stian Selnes [Fri, 29 Jan 2016 10:46:52 +0000 (11:46 +0100)]
h263parse: Add debug log for more annexes when plustype

6 years agohls: Don't leak mutex
Edward Hervey [Sat, 25 Nov 2017 12:10:11 +0000 (13:10 +0100)]
hls: Don't leak mutex

6 years agovideoaggregator: Don't leak string
Edward Hervey [Sat, 25 Nov 2017 11:48:40 +0000 (12:48 +0100)]
videoaggregator: Don't leak string

The result of gst_video_colorimetry_to_string () needs to be free'd

6 years agonetsim: simplify getting buffer size in bits
Tim-Philipp Müller [Sat, 25 Nov 2017 11:27:57 +0000 (11:27 +0000)]
netsim: simplify getting buffer size in bits

6 years agomeson.build: use join_paths() on prefix
Håvard Graff [Tue, 10 Oct 2017 13:45:47 +0000 (15:45 +0200)]
meson.build: use join_paths() on prefix

So that "/" are correct on Windows and the paths in
the .pc files are like C:/some/where and not
C:\some\where.

6 years agotests: ignore waylandsink in state change test
Tim-Philipp Müller [Sat, 25 Nov 2017 11:16:28 +0000 (11:16 +0000)]
tests: ignore waylandsink in state change test

"Unexpected critical/warning: Wayland compositor is missing
the ability to scale, video display may not work properly."

6 years agonetsim: add "allow-reordering" property
Havard Graff [Tue, 1 Nov 2016 15:03:00 +0000 (16:03 +0100)]
netsim: add "allow-reordering" property

Reordering of packets is not very common in networks, and the delay
functions will always introduce reordering if delay > packet-spacing,
so by setting allow-reordering to FALSE you guarantee that the packets
are in order, while at the same time introducing delay/jitter to them.

6 years agonetsim: Add gamma distribution for delay
Stian Selnes [Mon, 3 Oct 2016 16:43:24 +0000 (18:43 +0200)]
netsim: Add gamma distribution for delay

This simulates the delay on wifi networks better.

6 years agonetsim: Change max-delay to be inclusive
Stian Selnes [Tue, 2 Aug 2016 11:45:54 +0000 (13:45 +0200)]
netsim: Change max-delay to be inclusive

It is more intuitive for the user that in order to acheive a constant
delay min-delay and max-delay are equal.

6 years agonetsim: Add "delay-distribution" property plus normal distribution
Stian Selnes [Mon, 1 Aug 2016 18:27:03 +0000 (20:27 +0200)]
netsim: Add "delay-distribution" property plus normal distribution

By using the property "delay-distribution" the user can control how the
delay applied to delayed packets is distributed. This is either the
uniform distribution (as before) or the normal distribution.

"min-delay" and "max-delay" control both distributions. For the normal
distribution it defines the bounds of the 95% confidence interval.

6 years agonetsim: add token bucket algorithm for simulating network congestion
Havard Graff [Thu, 23 Nov 2017 12:47:48 +0000 (13:47 +0100)]
netsim: add token bucket algorithm for simulating network congestion

6 years agonetsim: change property enums to PROP_* and fix indentation
Havard Graff [Thu, 23 Nov 2017 12:48:32 +0000 (13:48 +0100)]
netsim: change property enums to PROP_* and fix indentation

6 years agonetsim: remove private struct and padding
Tim-Philipp Müller [Fri, 24 Nov 2017 22:09:25 +0000 (22:09 +0000)]
netsim: remove private struct and padding

There's no need for these things, since the plugin headers
are not public, and all the extra ->priv-> just clutter the
code.

6 years agodashdemux: Handle bitrate > 2**31
Edward Hervey [Sat, 25 Nov 2017 08:41:00 +0000 (09:41 +0100)]
dashdemux: Handle bitrate > 2**31

On very-high connection, we could quite well exceed that. Instead use
gint64 for max-bitrate.

6 years agosdlshare: Destroy GL backend buffer before the GL Context
Nicolas Dufresne [Fri, 24 Nov 2017 22:06:22 +0000 (17:06 -0500)]
sdlshare: Destroy GL backend buffer before the GL Context

This was otherwise leading to a deadlock in the GL library.

6 years agosdlshare2: Fix race conditions
Nicolas Dufresne [Fri, 24 Nov 2017 21:58:21 +0000 (16:58 -0500)]
sdlshare2: Fix race conditions

The client-draw callback is running on the GL Thread, which will
be required to map the buffer. Map early, and pass the mapped
frame instead. On top of that, make sure to signal any pending
draw before trying to push EOS, as some pad locks might be taken.
This is the cost of using the same thread to control GStreamer and
to render GL.

6 years agomeson: Build gl/sdl examples
Nicolas Dufresne [Fri, 24 Nov 2017 21:58:01 +0000 (16:58 -0500)]
meson: Build gl/sdl examples

6 years agomeson: Playout example has not GL deps
Nicolas Dufresne [Fri, 24 Nov 2017 20:48:19 +0000 (15:48 -0500)]
meson: Playout example has not GL deps

6 years agomeson: Add missing examples directory
Nicolas Dufresne [Fri, 24 Nov 2017 20:19:25 +0000 (15:19 -0500)]
meson: Add missing examples directory

This will make it more visible what is missing in meson.

6 years agomeson: Build playout example
Nicolas Dufresne [Fri, 24 Nov 2017 20:17:02 +0000 (15:17 -0500)]
meson: Build playout example

6 years agoh265parse: early set src caps when input not byte-stream
Guillaume Desmottes [Wed, 22 Nov 2017 13:35:31 +0000 (14:35 +0100)]
h265parse: early set src caps when input not byte-stream

When input is not in byte-stream format there is no need to wait for the first
buffer before setting src caps. We already have all the information from the
input codec_data.

This allow us to already configure downstream elements allowing them,
for example, to already allocate their internal buffers as they know
the format of the input they are about to receive.

Same change as the one I just did in h264parse.

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

6 years agoh264parse: early set src caps when input is avc
Guillaume Desmottes [Wed, 22 Nov 2017 13:35:31 +0000 (14:35 +0100)]
h264parse: early set src caps when input is avc

When input is in AVC format there is no need to wait for the first buffer
before setting src caps. We already have all the information from the
input codec_data.

This allow us to already configure downstream elements allowing them,
for example, to already allocate their internal buffers as they know
the format of the input they are about to receive.

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

6 years agouvch264src: Check return values of all xu_query calls
Edward Hervey [Fri, 24 Nov 2017 07:06:52 +0000 (08:06 +0100)]
uvch264src: Check return values of all xu_query calls

And use warnings/returns like for other calls

CID #1373414
CID #1373417

6 years agogtk: Fix possibility of NULL variable
Edward Hervey [Fri, 24 Nov 2017 07:00:21 +0000 (08:00 +0100)]
gtk: Fix possibility of NULL variable

It's quite unlikely since it's initialized in instance initialization.

CID #1417721

6 years agodc1394src: Remove logically dead code
Edward Hervey [Fri, 24 Nov 2017 06:57:49 +0000 (07:57 +0100)]
dc1394src: Remove logically dead code

buffer would always be NULL in the error case. Simplify and just
return GST_FLOW_ERROR

CID #1417216

6 years agoviv-fb: Don't destroy the native FB display
Jan Schmidt [Thu, 23 Nov 2017 12:01:52 +0000 (23:01 +1100)]
viv-fb: Don't destroy the native FB display

It causes crashes in applications because the result of
fbGetDisplay() might be in use elsewhere in the application
and Vivante doesn't seem to do any refcounting

6 years agoRevert "gl: Use GstGLDisplayEGL directly instead of creating a GstGLDisplayVIVFb...
Jan Schmidt [Thu, 23 Nov 2017 11:58:40 +0000 (22:58 +1100)]
Revert "gl: Use GstGLDisplayEGL directly instead of creating a GstGLDisplayVIVFb subclass"

This reverts commit 47fd4d391e775c11f529705bb0f457a9d25ba5e7.

This patch is incorrect. It doesn't actually compile, and causes a crash
because the viv-fb window implementation needs a native EGL handle
to pass to fbCreateWindow, but the GstGLDisplayEGL handleis actually
an EGLDisplay now (and gets cast to the wrong type)

6 years ago3dvideo example: Correct video overlay for HiDPI
Jan Schmidt [Thu, 23 Nov 2017 14:37:48 +0000 (01:37 +1100)]
3dvideo example: Correct video overlay for HiDPI

Use the GTK scaling factor to scale the video allocation
so video displays correctly on hi-dpi screens

6 years agomeson: remove outdated comment in build file
Tim-Philipp Müller [Thu, 23 Nov 2017 10:15:49 +0000 (11:15 +0100)]
meson: remove outdated comment in build file

6 years agomsdkdec: keep draining even if a finish_task fails
Hyunjun Ko [Thu, 23 Nov 2017 03:38:11 +0000 (12:38 +0900)]
msdkdec: keep draining even if a finish_task fails

Should continue draining so that it could try to
discard the rest of pending frames even if a finish_task fails.

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

6 years agoopencv: Update version for building plugins
Mario Alfredo Carrillo Arevalo [Fri, 10 Nov 2017 19:32:17 +0000 (13:32 -0600)]
opencv: Update version for building plugins

This commit allows to build the OpenCV plugin with OpenCV >= 2.3.0 to < 3.4.0.

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

6 years agodvb: Fix previous commit
Edward Hervey [Thu, 23 Nov 2017 07:14:06 +0000 (08:14 +0100)]
dvb: Fix previous commit

strlen on strings (and not sizeof) *sigh*

6 years agodvb: Fix sock_addr usage (for real)
Edward Hervey [Thu, 23 Nov 2017 07:12:03 +0000 (08:12 +0100)]
dvb: Fix sock_addr usage (for real)

It was great checking that the string was not too big ... but
it's better if we actually copy the proper amount of bytes :)

CID #206004

6 years agoipcpipeline: Don't leak structure
Edward Hervey [Thu, 23 Nov 2017 07:09:36 +0000 (08:09 +0100)]
ipcpipeline: Don't leak structure

CID #1416131

6 years agoipcpipeline: Simplify usage of g_cond_wait_until()
Edward Hervey [Thu, 23 Nov 2017 07:05:48 +0000 (08:05 +0100)]
ipcpipeline: Simplify usage of g_cond_wait_until()

It will return FALSE if a timeout happened. So don't check if we
timed out afterwards, just use the return value.

CID #1416347

6 years agoipcpipeline: Check the proper value
Edward Hervey [Thu, 23 Nov 2017 07:02:58 +0000 (08:02 +0100)]
ipcpipeline: Check the proper value

The code is meant to check the *peer* state change return value
(and not the sink's one).

CID #1416128

6 years agopo: update POTFILES.in
Piotr Drąg [Wed, 22 Nov 2017 16:37:02 +0000 (17:37 +0100)]
po: update POTFILES.in

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

6 years agocurlhttpsrc: Don't leak structure
Edward Hervey [Wed, 22 Nov 2017 15:53:17 +0000 (16:53 +0100)]
curlhttpsrc: Don't leak structure

CID #1415716