Commit graph

23368 commits

Author SHA1 Message Date
Christoph Reiter
2c01338e91 wasapi: use FAILED to detect errors
S_FALSE is a valid return value which does not indicate an error.
For example IAudioClient_Stop() returns S_FALSE when it is already stopped.
Use the FAILED macro instead which just checks if an error occured or not.

This fixes spurious warnings when using the wasapisink element.

https://bugzilla.gnome.org/show_bug.cgi?id=796280
2018-05-23 13:25:59 +05:30
Christoph Reiter
aa77cac8ec wasapi: Don't pass CoTaskMemFree to g_clear_pointer
CoTaskMemFree has a different calling convention than GDestroyNotify
and things crash at least with MinGW.

https://bugzilla.gnome.org/show_bug.cgi?id=796280
2018-05-23 13:25:59 +05:30
Tim-Philipp Müller
fd178617d0 Release 1.14.1 2018-05-17 13:30:39 +01:00
Tim-Philipp Müller
d1187d85ce Update docs 2018-05-17 13:30:36 +01:00
Tim-Philipp Müller
8f2ab859c1 Update translations 2018-05-17 12:37:50 +01:00
Seungha Yang
1ea696066e adaptivedemux: Support period change in live playlist
Regardless of LIVE or VOD, "a manifest has next period but
currently EOSed" state is meaning that it's time to advance period.

Previous behavior of adpativedemux, however, was able to period
advancing only for VOD case, since the adaptivedemux tried to
update and wait new manifest without respecting existence of the next period.

https://bugzilla.gnome.org/show_bug.cgi?id=781183
2018-05-14 16:54:33 +03:00
Seungha Yang
5878f63ae7 dashdemux: Fix sync of updated manifest from previous one
_get_next_fragment_timestamp() returns relative timestamp to period start.
But gst_mpd_client_stream_seek() uses absolute MPD timeline.

https://bugzilla.gnome.org/show_bug.cgi?id=781183
2018-05-14 16:53:07 +03:00
Olivier Crête
7c9d6c8d17 srtp: Add "roc" caps field to the gst-launch example
The currrent example was broken since 1.8.3 it seems.

https://bugzilla.gnome.org/show_bug.cgi?id=786304
2018-05-14 16:53:00 +03:00
Aurélien Zanelli
18e08c2f71 tsdemux: ignore sparse stream when checking for initial timestamp
Unless we only have sparse streams. In this case we will consider them.
It fixes a bug happening when first observed timestamp comes from a
sparse stream and other streams don't have a valid timestamp, yet. Thus
leading the timestamp from sparse stream to be the start of the
following segment. In this case, if the timestamp is really bigger than
non-sparse stream (audio/video), it will lead the pipeline to clip
samples from the non-parse stream.

https://bugzilla.gnome.org/show_bug.cgi?id=744469
2018-05-14 16:52:51 +03:00
Jan Schmidt
8c73bb9c34 nvdec: Add colorimetry info to the caps
Output any colorimetry information extracted from the stream
into the caps.
2018-05-14 16:52:15 +03:00
Jan Schmidt
4341d16a13 nvdec: Use gst_video_info_to_caps to build caps.
Don't build caps directly, as that won't add any GstVideoInfo
newer fields (such as colorimetry) automatically.
2018-05-14 16:52:09 +03:00
Jan Schmidt
3117d396c8 waylandsink: Only build if gtk-3.0 was built with wayland target
Check in configure if the gtk-3.0 has wayland support, and don't
build the waylandsink example if it doesn't.
2018-05-06 00:36:21 +10:00
Nicolas Dufresne
6eef7b7168 rfbsrc: Fix decide_allocation to support NULL pool
We were assuming that NULL pool meant that downstream didn't reply.
Update the pool index 0 instead of adding at the end. Otherwise we ended
up letting basesrc decide, which would pick the blocksize as a size
(4096) instead of the image size.

https://bugzilla.gnome.org/show_bug.cgi?id=795327
2018-04-28 10:47:01 +03:00
Nicolas Dufresne
4f2696c5f6 rfbsrc: Fix support for applevncserver
This server uses an unknown 003.889 protocol version. This patch fixes
the version validation in order to simply fallback to 3.3 as suggested
by the spec.
2018-04-28 10:46:50 +03:00
Jun Xie
e9909958e2 curlhttpsrc: deadlock in multi-instance scenario
Fixed queue iterator issue and set context state to
GSTCURL_MULTI_LOOP_STATE_RUNNING in case other
instance are in running state.

https://bugzilla.gnome.org/show_bug.cgi?id=793863
2018-04-28 10:46:39 +03:00
Nirbheek Chauhan
c187a097c8 wasapisrc: Don't provide a clock based on WASAPI's clock
The clock seems to have a lot of drift (or we're using it incorrectly)
which causes buffers to be late on the sink and get dropped.

Disable till someone can investigate whether our usage of the API is
incorrect (it looked correct to me) or if something is wrong.
2018-04-18 15:05:09 +05:30
Sreerenj Balachandran
3f90235aaa msdk: jpegdec: Fix non-interleaved sample decode
Using the default value (InterleavedDec == MFX_SCANTYPE_UNKNOWN)
causing issues with non-interleaved sample decode. Ideally the usage
of MFXVideoDECODE_DecodeHeader should fix these type of issue, but
it seems to be not. But hardcoding the InterleaveDec to
MFX_SCANTYPE_NONINTERLEAVED
is fixing the problem and fortunately msdk seems to be taking care of
Interleaved samples
too .So let's hardcode it for now.

https://bugzilla.gnome.org/show_bug.cgi?id=793787
2018-04-16 14:44:15 -08:00
Sreerenj Balachandran
dc41c25d30 jpegparse: Fix APP1 marker segment parsing
Reposition the bytereader for proper skipping of
APP1 marker segment if it is not Exif.

https://bugzilla.gnome.org/show_bug.cgi?id=795117
2018-04-16 14:44:01 -08:00
Nirbheek Chauhan
b8c204fcc1 wasapi: Also call CoInitialize in prepare() 2018-04-16 19:40:07 +05:30
Víctor Manuel Jáquez Leal
3f898bb27f webrtc: fix gtk-doc annotations 2018-04-16 10:53:04 +02:00
Garima Gaur
dd084022d4 resindvd, uvch264src, dx9screencapsrc: fix clock ref leaks in error paths
https://bugzilla.gnome.org/show_bug.cgi?id=776376
2018-04-16 11:14:25 +03:00
Garima Gaur
c1cc892889 bluez: avdtpsrc: fix caps leak in error code paths
https://bugzilla.gnome.org/show_bug.cgi?id=776085
2018-04-12 18:22:53 +01:00
Philippe Normand
855bec7578 fakevideosink: explicit type cast for max-lateness property setter
g_object_set() expects the parameters values to be the exact type of the
property being set.
2018-04-12 18:22:46 +01:00
Seungha Yang
c65a537a81 h265parse: Make caps writable before modifying them
Fix following assertion failure
GStreamer-CRITICAL **: gst_structure_remove_field: assertion 'IS_MUTABLE (structure)' failed

https://bugzilla.gnome.org/show_bug.cgi?id=795032
2018-04-11 22:48:09 -04:00
Nirbheek Chauhan
5a3e122e6f wasapi: Handle return value of WaitForSingleObject
The wait could've failed for whatever reason, we should handle that.
2018-04-10 05:18:19 +05:30
Nirbheek Chauhan
cedb028805 wasapi: Call _Start if the client was _Reset
Otherwise we will wait forever in WaitForSingleObject because we forgot
to start the client again after _Stop is called in reset().

https://bugzilla.gnome.org/show_bug.cgi?id=795114
2018-04-10 05:18:19 +05:30
Guillaume Desmottes
e5e2eccee6 fakevideosink: request an extra buffer if enable-last-sample is enabled
If the 'enable-last-sample' property is enabled, fakevideosink will keep
a reference on last rendered buffer which may lead to buffer starvation
in the pipeline.
Request one extra buffer in this case so we always have a buffer flying
in the pipeline.

https://bugzilla.gnome.org/show_bug.cgi?id=795109
2018-04-09 18:26:48 +02:00
Nirbheek Chauhan
371a7874fc wasapi: Don't open the device in get_caps()
We can just return the template caps till the device is opened when
going from READY -> PAUSED. This fixes a CRITICAL when calling
ELEMENT_ERROR before the ringbuffer is allocated.

Also fixes a couple of leaks in error conditions.

https://bugzilla.gnome.org/show_bug.cgi?id=794611
2018-04-09 17:26:12 +05:30
Nirbheek Chauhan
f90613280b wasapi: Only use audioclient3 when low-latency
Causes glitches on very slow CPU machines or VMs, and our
out-of-the-box experience should be good.

https://bugzilla.gnome.org/show_bug.cgi?id=794497
2018-04-06 23:14:58 +05:30
Nirbheek Chauhan
4cbcd08f9c wasapi: Don't derive device period from latency time
This seems to cause glitches on devices with low CPU availability,
such as virtual machines. Maybe even actual machines under high load.

https://bugzilla.gnome.org/show_bug.cgi?id=794497
2018-04-06 23:14:58 +05:30
U. Artie Eoff
5976518f0b msdk: fix plugin load on implementations with only HW support
We can't assume that MSDK always supports SW implementation
on all platforms.  Thus, msdk_is_available should check for
ANY implementation.

https://bugzilla.gnome.org/show_bug.cgi?id=794991
2018-04-04 17:35:08 -08:00
Nirbheek Chauhan
c6fa635b21 wasapi: Squelch warning about %x and HRESULT
HRESULT is always a 32-bit value, as is guint.
2018-04-04 18:37:27 +05:30
Nirbheek Chauhan
759e695d8a audiolatency: Fix wave detection in buffers
-1/1000 is 0, so we were *always* detecting a buffer.
2018-04-03 23:56:30 +05:30
Nirbheek Chauhan
d1de8ac01f audiolatency: Avoid bogus pts values while starting 2018-04-03 23:56:30 +05:30
Nirbheek Chauhan
a7228ed486 decklink: Fix MinGW warnings due to MSVC-specific pragmas
https://bugzilla.gnome.org/show_bug.cgi?id=794652#c7
2018-03-31 11:15:31 +05:30
Sreerenj Balachandran
ee88f699c4 msdk: dec: remove framerate field from sink caps template
Removes unessential field framerate for decoder so that negotiation
works even if framerate is not provided from upstream.

https://bugzilla.gnome.org/show_bug.cgi?id=789752
2018-03-29 13:09:10 -08:00
Hyunjun Ko
a20fee9936 msdk: dec: set framerate to the driver only if provided
For example, if framerate 0/1 is provided from upstream, the driver
fails to configure and complain about it.

We can let it go and make the driver assuming framerate itself.

https://bugzilla.gnome.org/show_bug.cgi?id=789752
2018-03-29 13:09:01 -08:00
Hyunjun Ko
4d2892644c msdk: h265dec: remove framerate field from sink caps template
Removes unessential field framerate for decoder so that negotiation
works even if framerate is not provided from upstream.

https://bugzilla.gnome.org/show_bug.cgi?id=789752
2018-03-29 13:08:50 -08:00
Sreerenj Balachandran
b628dd8bf8 msdk: Don't set extended coding options for JPEG encode
MJPEG doesn't have support for extended coding options

https://bugzilla.gnome.org/show_bug.cgi?id=793873
2018-03-29 11:57:24 -08:00
Tim-Philipp Müller
4bcc128423 docs: plugins: remove stale xml data for moved or renamed plugins
rawparse plugin moved to -base, only legacyrawparse remains.
siren plugin was renamed and was listed twice.

https://bugzilla.gnome.org/show_bug.cgi?id=794069
2018-03-27 17:44:03 +01:00
Tim-Philipp Müller
f0119f1abc rtponviftimestamp: fix state change function init/reset
When starting up we need to initialise things *before*
streaming starts, so before we chain up to the parent
class in the state change function. And when we shut
down the element, we need to reset things after streaming
has stopped, so after we chain up to the parent class
in the state change function.

https://bugzilla.gnome.org/show_bug.cgi?id=794353
https://bugzilla.gnome.org/show_bug.cgi?id=794290
2018-03-27 17:43:42 +01:00
Nirbheek Chauhan
c000901fc4 meson: Add missing optional lrdf dep to ladspa build
https://bugzilla.gnome.org/show_bug.cgi?id=794350
2018-03-27 14:30:57 +05:30
Nirbheek Chauhan
dc5b6da0ec decklink: Use g_thread_new instead of g_thread_create
It's deprecated, and causes a build failure in Cerbero because we pass
-DG_DISABLE_DEPRECATED.
2018-03-27 12:47:13 +05:30
Takeshi Sato
110a1c890b decklink: fix initialization fails in windows binary
There is no log of gst_decklink_com_thread () which initializes COM.
The initialization part is not valid with #ifdef MSC_VER.
Windows binaries are built with gcc.
As with other codes, it was avoidable by setting it to G_OS_WIN32
instead of MSC_VER.

https://bugzilla.gnome.org/show_bug.cgi?id=794652
2018-03-27 12:15:48 +05:30
Nirbheek Chauhan
b623ac2da9 wasapi: Print the hresult hex value on error
This helps figure out precisely what error enum value was returned,
which can be necessary when the description is too generic
2018-03-27 12:15:48 +05:30
Nirbheek Chauhan
9c3258fbfb ladspa: Fix critical during plugin load on Windows
https://bugzilla.gnome.org/show_bug.cgi?id=794611
2018-03-27 12:15:48 +05:30
Sebastian Dröge
3ebdded7bc gl: Rename gstglutils.h functions to prevent symbol conflicts with static linking
The gl plugin in -base has the same function.
2018-03-25 12:54:44 +03:00
Sebastian Dröge
776c006348 opus: Rename opusheader functions to prevent symbol conflicts with static linking
The opus plugin in -base has the same functions.
2018-03-25 12:54:38 +03:00
Sebastian Dröge
b3291b769f shmsink: Fix compilation with latest GLib
g_object_ref() forwards its arguments type.

gstshmsink.c: In function ‘gst_shm_sink_allocator_alloc_locked’:
/usr/include/glib-2.0/gobject/gobject.h:512:32: error: passing argument 3 of ‘gst_memory_init’ from incompatible pointer type [-Werror=incompatible-pointer-types]
 #define g_object_ref(Obj)      ((__typeof__(Obj)) (g_object_ref) (Obj))
                                ^
gstshmsink.c:292:45: note: in expansion of macro ‘g_object_ref’
     gst_memory_init (memory, params->flags, g_object_ref (self), NULL,
                                             ^~~~~~~~~~~~
2018-03-25 12:36:26 +03:00
Patrik Nilsson
aa1d41a1a0 meson: fix ladspa dependencies
There are two issues, both related to dependency checking with the meson
support for the ladspa plugin.

With autotools, lrdf is handled like an optional dependency. But with
meson it is required. This makes the meson support less flexible and
inconsistent with autotools.

When autotools is used it properly checks if ladspa.h is available.
But with meson it does not, instead it treats lrdf as the main
dependency. This could cause a build failure if lrdf is installed, but
the ladspa sdk is not.

https://bugzilla.gnome.org/show_bug.cgi?id=794350
2018-03-25 12:34:06 +03:00