Commit graph

113094 commits

Author SHA1 Message Date
Vivia Nikolaidou
5a2f9d510f aacparse: Fix caps change handling
In baseparse we set the fixed caps flag on all src pads, therefore the
source pad caps query in get_allowed_caps will return the current caps.
Current caps won't necessarily intersect with the new caps (e.g. sample
rate change). Replace get_allowed_caps with peer_query_caps.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/816>
2020-11-13 13:10:05 +00:00
Mathieu Duponchelle
c969239c7c h264parse: try harder to update timecode
NumClockTS is the maximum number of timecodes the pic_timing SEI
can carry, but it is perfectly OK for it to carry fewer, and have
one of the clock_timestamp_flags set to 0.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1804>
2020-11-13 13:09:01 +00:00
Tim-Philipp Müller
f5310ce346 tests: qtdemux: fix typo in caps field
timesacle -> timescale

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/815>
2020-11-12 23:40:13 +00:00
Tim-Philipp Müller
2ce5909f3a tests: qtdemux: fix crash on 32-bit architectures
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/803

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/815>
2020-11-12 23:40:13 +00:00
Mathieu Duponchelle
e93558efac h264parse: fix installing of update-timecode property
Simply fixes a typo that did not have any adverse effect,
and avoid hardcoding initializer

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1805>
2020-11-12 21:34:18 +00:00
Mathieu Duponchelle
c50f4477ec video-converter: switch to using a task pool ..
.. and make use of that API in videoaggregator.

When setting certain properties, such as cropping or the scaled
size of pads, a new converter is created by videoaggregator.

Before that patch, this implied spawning new threads, potentially
at each aggregate cycle when interpolating pad properties. This
is obviously wasteful, and re-using a task pool removes that
overhead.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/896>
2020-11-12 17:38:34 +00:00
Seungha Yang
6a6f8c967c codecs: h264decoder: Don't fill gap picture if it's not allowed
We should fill gap picture only if sps->gaps_in_frame_num_value_allowed_flag
is set.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1801>
2020-11-12 14:38:56 +00:00
Aaron Boxer
330b2c6b7c openjpegenc: store stripe offset when encoding image
The decoder can simply read this offset after decoding
to know where to blit the stripe to the full frame

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1800>
2020-11-12 13:53:47 +00:00
Aaron Boxer
af87da86e2 openjpegenc: take subsampling into account when calculating stripe height
We calculate minimum of (stripe height * sub sampling) across all components
to ensure that all component dimensions are consistent with sub-sampling.
The last stripe for each component is simply the remaining height.

limit wavelet resolutions for "thin" stripes

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1800>
2020-11-12 13:53:47 +00:00
Stéphane Cerveau
4f6b609558 openjpegenc: fix memory leak from mstream
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1800>
2020-11-12 13:53:47 +00:00
Aaron Boxer
7463e1090c openjpegenc: fail negotation in handle_frame if alignment mismatch
If encoder is in stripe mode, then downstream must also support stripe

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1800>
2020-11-12 13:53:47 +00:00
Seungha Yang
977c3276d4 nvcodec: Fix various typo
Not sure where the DECOCER came from

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1803>
2020-11-12 13:10:13 +00:00
Víctor Manuel Jáquez Leal
5876f232ee va: comments to explain code
There are a couple part where code seems, at least to me, a bit oscure or
confusing. So let's better add an explanation.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1802>
2020-11-12 13:33:26 +01:00
Stéphane Cerveau
7a0decbec2 gstreamer-full: plugin can be registered statically.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-python/-/merge_requests/43>
2020-11-12 11:10:44 +01:00
Nirbheek Chauhan
c3b5693736 cerbero: Never use cached cerbero git repo
Sometimes the git repo cached on the docker image gets corrupted on
Windows, in which case there is no way to clean things and resolve
that error. For example: https://gitlab.freedesktop.org/bilboed/gst-plugins-bad/-/jobs/5517037

```
++ cp -a C:/cerbero/.git .
cp: cannot create regular file `./.git/objects/pack/pack-cbdde9dc4dd07bff6761e6715e20d7c0abe62b9e.idx': Permission denied
cp: cannot create regular file `./.git/objects/pack/pack-cbdde9dc4dd07bff6761e6715e20d7c0abe62b9e.pack': Permission denied
```

Always delete the cached git repo and copy a pristine copy from the
image. This will also avoid accumulation of garbage in the git repo.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-ci/-/merge_requests/376>
2020-11-12 14:04:47 +05:30
Edward Hervey
7b2368b6df adaptivedemux: Don't calculate bitrate for header/index fragments
They are generally substantially smaller than regular fragments, and therefore
we end up pushing totally wrong bitrates downstream.

Fixes erratic buffering issues with DASH introduced by
66f5e87435

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1021>
2020-11-11 20:18:11 +00:00
Edward Hervey
dd425fe0fd adaptivedemux: Store QoS values on the element
Storing it per-stream requires taking the manifest lock which can apparenly be
hold for aeons. And since the QoS event comes from the video rendering thread
we *really* do not want to do that.

Storing it as-is in the element is fine, the important part is knowing the
earliest time downstream.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1021>
2020-11-11 20:18:11 +00:00
Edward Hervey
e700a21993 adaptivedemux: Don't calculate bitrate for header/index fragments
They are generally substantially smaller than regular fragments, and therefore
we end up pushing totally wrong bitrates downstream.

Fixes erratic buffering issues with DASH introduced by
66f5e87435

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1786>
2020-11-11 19:46:16 +00:00
Edward Hervey
a4b20ed276 hlsdemux: Don't double-free variant streams on errors
If an error happened switching to a new variant, we switch back to the previous
one ... except it will be unreffed when settin git.

In order to avoid such issues, keep a reference to the old variant until we're
sure we don't need it anymore

Fixes cases of double-free on variants and its contents

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1799>
2020-11-11 19:19:28 +00:00
He Junyan
04472c5adb codecs: vp8decoder: Fix two typo of struct name.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1797>
2020-11-11 18:52:37 +00:00
Sanchayan Maity
8c3ec64473 rtp: ldacpay: Add LDAC RTP payloader
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/757>
2020-11-11 22:59:19 +05:30
Sanchayan Maity
406cd3bdef gsta2dpsink: Fix GstPad leak
The sinkpad returned by a call to gst_element_get_static_pad needs to be
unrefed.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1621>
2020-11-11 22:19:33 +05:30
Arun Raghavan
8aa6db2c8d bluez: a2dpsink: Add support for LDAC to a2dpsink
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1621>
2020-11-11 22:19:33 +05:30
Arun Raghavan
ef3085c743 bluez: avdtpsink: Add support for LDAC to avdtpsink
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1621>
2020-11-11 22:19:33 +05:30
Sanchayan Maity
a576814553 ext: Add LDAC encoder
LDAC is an audio coding technology developed by Sony that enables the
transmission of High-Resolution (Hi-Res) audio contents over Bluetooth.

Currently Adaptive Bit Rate (ABR) as supported by libldac encoder is not
implemented.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1621>
2020-11-11 22:16:43 +05:30
Seungha Yang
7cec64499d mpegdemux: Set duration on seeking query if possible
Set duration on seeking query in the same way as duration query handler.
Otherwise application might get confused as if the duration is unknown.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1791>
2020-11-11 14:10:27 +00:00
David Phung
4f673af4b5 rtsp-media: Ignore GstRTSPStreamBlocking from incomplete streams
To prevent cases with prerolling when the inactive stream prerolls first
and the server proceeds without waiting for the active stream, we will
ignore GstRTSPStreamBlocking messages from incomplete streams. When
there are no complete streams (during DESCRIBE), we will listen to all
streams.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/merge_requests/167>
2020-11-11 13:59:09 +01:00
Kristofer Björkström
1c8a6af13c media test: Add test for seeking one active stream with a demuxer
Add another seek_one_active_stream test but with a demuxer. The demuxer
will flush both streams in opposed to the existing test which only
flushes the active stream. This will help exposing problems with the
prerolling process after a flushing seek.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/-/merge_requests/167>
2020-11-11 13:58:15 +01:00
Raul Tambre
6d300ce785 webrtc: Update libnice version requirement to 0.1.17
Since !1366 nice_agent_get_sockets() is used, which requires 0.1.17.
Update the version requirement accordingly.

Fixes #1459.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1792>
2020-11-11 13:41:59 +02:00
Sebastian Dröge
e3c16d0194 qmlglsink: Keep old buffers around a bit longer if they were bound by QML
We don't know exactly when QML will stop using them but it should be
safe to unref them after at least 2 more buffers were bound.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/810>
2020-11-11 11:37:27 +00:00
Edward Hervey
1246b448ee hlsdemux: Re-use streams if possible
When switching variants, try to re-use existing streams/pads instead of creating
new ones. When dealing with urisourcebin and decodebin3 this is not only the
expected way but also avoids a lot of buffering/hang issues.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1757>
2020-11-11 04:06:05 +00:00
Edward Hervey
f1fdbfc5bd m3u8: Make a debug function usable elsewhere
The rest of the code might want to use this

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1757>
2020-11-11 04:06:05 +00:00
Thibault Saunier
3a554f6d62 qroverlay: Generate documentation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1730>
2020-11-11 00:18:32 +00:00
Thibault Saunier
e7ec9986ca qroverlay: Add a qroverlay element that allows overlaying any data
This moves `gstqroverlay.c` to `gstdebugqroverlay.c` and implements
a simple `gstqroverlay` element.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1730>
2020-11-11 00:18:32 +00:00
Thibault Saunier
7d9f125ab1 qroverlay: Rename qroverlay to debugqroverlay
The element is specially focus on debugging purposes and not a generique QR overlay

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1730>
2020-11-11 00:18:32 +00:00
Thibault Saunier
964c8aa5e0 qroverlay: Factor out qroverlay logic to a base class
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1730>
2020-11-11 00:18:32 +00:00
Thibault Saunier
4afa2d2c3d qroverlay: Factor out qroverlay logic to a base class
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1730>
2020-11-11 00:18:32 +00:00
Thibault Saunier
e6881aefa9 qroverlay: Make subclassable
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1730>
2020-11-11 00:18:32 +00:00
Thibault Saunier
c307f1418d qroverlay: Port to VideoFilter
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1730>
2020-11-11 00:18:32 +00:00
Thibault Saunier
4a259e8f28 qroverlay: Make default pizel-size 3
Otherwise zbar isn't able to read the produced qrcodes

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1730>
2020-11-11 00:18:32 +00:00
Thibault Saunier
dc88d3ece9 qroverlay: Cleanup the way we build the json using json-glib
And reindent the .h file removing tabs

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1730>
2020-11-11 00:18:32 +00:00
Thibault Saunier
bf811616e0 qroverlay: Fix copyright
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1730>
2020-11-11 00:18:32 +00:00
Thibault Saunier
3db26e3f96 qroverlay: Fix some warnings
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1730>
2020-11-11 00:18:32 +00:00
Thibault Saunier
c743d5db23 qroverlay: Minor renaming and documentation fixes
Matching usual namings

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1730>
2020-11-11 00:18:32 +00:00
Thibault Saunier
af054f7015 qroverlay: Import from gst-qroverlay
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1730>
2020-11-11 00:18:32 +00:00
David Keijser
f3dc83d285 Fix segfault when using invalid encoding profile
Trying to use gst_encoding_profile_get_file_extension on a
GstEncodingProfile with a cap containing a typo would result in strcmp
being called with NULL. Instead use g_strcmp0 that handles this case.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/929>
2020-11-10 23:26:39 +01:00
ChrisDuncanAnyvision
d9ea3346f3 rtspsrc: Ensure same group-id used for both TCP/UDP stream-start events
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/811>
2020-11-10 18:18:12 +00:00
ChrisDuncanAnyvision
e5f5e712c6 rtspsrc: Use consistent URI hashed stream-id for UDP and TCP/Interleaved streams
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/811>
2020-11-10 16:23:17 +00:00
Seungha Yang
5578e76e60 nvcodec: Add VP9 stateless decoder element
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1738>
2020-11-10 14:39:40 +00:00
Seungha Yang
71564f471d nvcodec: nvdecoder: Move to refcount based GstNvDecoderFrame
This refcount based way would be helpful for sharing nvdec frame among
multiple codec pictures and later zero-copy use case.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1738>
2020-11-10 14:39:40 +00:00