Jan Schmidt
f6451323b5
rpicamsrc: Add camera-number property
2020-07-10 16:43:22 +01:00
Jan Schmidt
1ea517a692
rpicamsrc: add inline-headers and shutter-speed properties
2020-07-10 16:43:20 +01:00
Jan Schmidt
861c353873
rpicamsrc: Add quantisation-parameter property, support variable bitrate
...
Allow birate=0 and implement the quantisation-parameter property
Fixes https://github.com/thaytan/gst-rpicamsrc/issues/21
2020-07-10 16:43:07 +01:00
Jan Schmidt
6bd0347bf0
rpicamsrc: Incorporate raspivid changes from upstream
...
Merge all changes for new features from upstream
raspberrypi userland, up to commit 0de0b2
2020-07-10 16:43:02 +01:00
Jan Schmidt
eb345f032c
rpicamsrc: Add keyframe-interval property to the element
2020-07-10 16:43:00 +01:00
Tim-Philipp Müller
27c35a8ff3
rpicamsrc: deviceprovider: check if camera is detected and supported
2020-07-10 16:42:59 +01:00
Tim-Philipp Müller
8e9c8663f8
rpicamsrc: Add GstDeviceProvider for rpi camera module
2020-07-10 16:42:58 +01:00
Tim-Philipp Müller
4b15fa2abc
rpicamsrc: avoid single-element lists in template caps
2020-07-10 16:42:56 +01:00
Vivia Nikolaidou
d226968275
rpicamsrc: Add force-key-unit event support
2020-07-10 16:42:55 +01:00
Jan Schmidt
244091bb5e
rpicamsrc: Move all debug output to go via GStreamer logs
...
Fixes https://github.com/thaytan/gst-rpicamsrc/issues/9
2020-07-10 16:42:16 +01:00
Jan Schmidt
df3ceb86f7
rpicamsrc: Update maximum framerate to 90 fps
2020-07-10 16:42:15 +01:00
Jan Schmidt
1dfb41bdce
rpicamsrc: Enable image effects
2020-07-10 16:42:14 +01:00
Jan Schmidt
1b9a614272
rpicamsrc: Re-flow element source code with gst-indent
2020-07-10 16:42:12 +01:00
Jan Schmidt
5f871311c1
rpicamsrc: Implement a bunch of the raspivid command-line params
...
Add properties for controlling various parts of the capture
2020-07-10 16:42:11 +01:00
Jan Schmidt
42729b92f0
rpicamsrc: Tell basesrc to timestamp buffers for us, for now.
2020-07-10 16:42:10 +01:00
Jan Schmidt
cde8b33199
rpicamsrc: Initial caps nego and properties.
...
Support caps negotiation for H.264 frame size and framerate.
Add bitrate, saturation, brightness, contrast, sharpness properties.
2020-07-10 16:42:09 +01:00
Jan Schmidt
1416631df9
rpicamsrc: First version which generates buffers on the src pad
...
Fixed to 1920x1080 h264 regardless of caps.
2020-07-10 16:42:07 +01:00
Jan Schmidt
7ffb618b20
rpicamsrc: Checkpoint. Version which writes directly to test.out
...
Switch to plain basesrc for parent class
2020-07-10 16:42:06 +01:00
Jan Schmidt
f4af399350
rpicamsrc: checkpoint
2020-07-10 16:42:04 +01:00
Jan Schmidt
e4f74290df
rpicamsrc: Initial commit
...
Simple modified gst-template to use BaseCameraSrc
Incorporate Broadcom mmal headers
2020-07-10 16:42:01 +01:00
Michael Olbrich
83beb9211b
souphttpsrc: don't fail when seeking past the end of the content
...
Range errors are already turned into EOS when the size is not known.
Do the same thing if the request as outside the known content size.
This can be triggered by seeking in a queue2:
- Ensure that the range containing the end of the file is available.
- Seek into this range from a different range.
- queue2 creates a seek event with start=<file-size>
- this results in a "Requested Range Not Satisfiable" error
Fixes #452
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/385 >
2020-07-10 11:41:55 +00:00
Michael Olbrich
d4b50d7915
souphttpsrc: don't update the size on error
...
Any data corresponding length in the message is not part of the requested
file.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/385 >
2020-07-10 11:41:55 +00:00
Matthew Waters
88775c2e18
qt/gloverlay: fix using OpenGL after destroying Qml
...
Qml somewhat unhelpfully seems to uncurrent our OpenGL context on its
destruction. Work around that by uncurrenting and recurrenting again.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/632 >
2020-07-10 06:11:48 +00:00
Tim-Philipp Müller
e394e6a034
meson: set release date from .doap file for releases
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/664 >
2020-07-08 17:02:34 +01:00
Sebastian Dröge
54bc0157b5
qtmux: Don't lock object lock twice in prefill mode
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/762
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/663 >
2020-07-07 12:36:01 +03:00
Tim-Philipp Müller
31ff328727
meson: add update-orc-dist target
...
Add target to update backup orc -dist.[ch] files.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/662 >
2020-07-04 15:04:59 +01:00
Xavier Claessens
c187684b78
v4l2: Do not renegotiate if only framerate changed
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/602 >
2020-07-03 18:10:14 +00:00
Sebastian Dröge
c194390ce9
flacenc: Pass audio info from set_format() to query_total_samples() explicitly
...
This fixes writing of the seek table header.
gst_audio_encoder_get_audio_info() will still return old/unset audio
info until set_format() has actually returned, which then results in
query_total_samples() to always return 0.
Thanks to Jacob Kauffmann for debugging this and finding the main cause.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/756
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/661 >
2020-07-03 06:55:38 +00:00
Tim-Philipp Müller
57b556befa
Back to development
2020-07-03 02:03:33 +01:00
Tim-Philipp Müller
629b8bf2cf
Release 1.17.2
2020-07-03 00:27:48 +01:00
Nirbheek Chauhan
c7f8c8d4ef
deinterlace: Disable nasm support on x32
...
The assembly assumes pointers are 64-bit, so just disable it.
Closes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/757
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/660 >
2020-07-02 07:53:14 +05:30
Nirbheek Chauhan
3fe4626e3c
deinterlace: Fix build on x32
...
Need to pass `-f elfx32` to nasm in that case.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/757
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/657 >
2020-07-01 19:43:41 +00:00
Jan Schmidt
7ae40045ba
matroska-mux: Wait for caps on sparse streams
...
Don't set sparse streams to non-waiting at the collectpads
level until after capa arrive, as we need caps on all
pads before the file headers get written, or else the
subtitle track will be silently absent in the final file.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/724
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/656 >
2020-07-01 19:24:49 +01:00
Jan Schmidt
ed5e935fb7
matroska-mux: Warn on late caps arrival
...
As well as warning when caps change after the headers
were already written, make sure to warn if the *first* caos
arrive late too.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/656 >
2020-07-01 16:13:27 +10:00
Sebastian Dröge
e589a950c3
imagefreeze: Return TRUE from the LATENCY query handling
...
We always answer it successfully no matter what.
The default return value in the function is FALSE even if the code below
sets it again to FALSE.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/654 >
2020-06-30 18:37:06 +03:00
Sebastian Dröge
3ad86bdf30
imagefreeze: Add test for new live mode
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/653 >
2020-06-29 12:07:14 +03:00
Sebastian Dröge
8345caf6e0
imagefreeze: Add a live mode
...
Previously imagefreeze would always operate as non-live element and
output frames as fast as possible according to the configured segment
(via SEEK events) and the negotiated framerate from start to stop or the
other way around.
With the new live mode (enabled via the is-live property) it would only
output frames in PLAYING. Frames would be output according to the
negotiated framerate unless it would be too late, in which case it would
jump ahead and skip over the requirement amount of frames.
This makes it possible to actually use imagefreeze in live pipelines
without having to manually ensure somehow that it would start outputting
at the current running time and without still risking to fall behind
without recovery.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/653 >
2020-06-29 12:07:14 +03:00
Sebastian Dröge
06b29a4aef
imagefreeze: Correctly answer the LATENCY query
...
We never run as a live element, even if upstream is live, and never
output any buffers with latency but immediately generate buffers as
fast as we can according to the negotiated framerate.
Passing the query upstream would proxy whatever mode of operation
upstream has, which has nothing to do with how we produce buffers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/653 >
2020-06-28 22:26:23 +03:00
Nicolas Dufresne
ca61a76987
v4l2: Fix threading issues in orphaning mechanism
...
The pool orphaning function was colling internal _stop() virtual function
implementation. This is not thread safe, as a private lock inside the buffer
pool is supposed to be held. Fix this by keeping delayed _stop() and orphaning
the GstV4L2Allocator instead (REQBUFS(0)).
Then, protect the orphaned boolean with the object lock for the case a buffer
is being released after we have orphaned the buffer. That would otherwise
cause a QBUF to happen while the queue is no longer owned by the buffer pool.
This boolean is otherwise used and set from the streaming lock, or after
threads have been stopped (final cleanup).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/648 >
2020-06-28 15:12:07 +00:00
Nicolas Dufresne
71204f2c3b
v4l2bufferpoool: Fix requeueue after seek when importing
...
When the buffer pool is importing buffer, it will requeue num_allocated on
streamon. As this value was not set for DMABuf import and USERPTR, no buffer
was queued back.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/651 >
2020-06-28 13:40:30 +00:00
Nicolas Dufresne
1beb497aa7
Revert "v4l2bufferpool: request the maximum number of buffers for USERPTR"
...
This reverts commit 6bf9f4bd77
.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/651 >
2020-06-28 13:40:30 +00:00
Nicolas Dufresne
d4ac154824
Revert "v4l2bufferpool: request the maximum number of buffers for DMABUF"
...
This reverts commit 94e323c10f
.
Fixes #754
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/651 >
2020-06-28 13:40:30 +00:00
Nicolas Dufresne
83f60aea54
v4l2bufferpool: Only resurrect the right amount of buffers
...
On streamon, we need to resurrect (queue back) some buffers, as during
flushign seek we'd endup with an empty queued. We initially started with
resurrecting as many as we could without blocking, but that miss-behaved with
dynamic CREATE_BUFS, causing the pool to grow dramatically. This was limited
by the number of allocated buffers, but this still tried to resurrect too many
buffers for the first run, as activating the pool will queued buffers.
In this patch, we calculte the missing detal in the queue and only try and
resurrect that amount of buffers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/651 >
2020-06-28 13:40:30 +00:00
Nicolas Dufresne
85b9893e96
v4l2object: Only offer inactive pools and if needed
...
Avoid offering a pool if it's not needed or if it's still active.
This works around the fact the we only have one pool in V4L2.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/651 >
2020-06-28 13:40:30 +00:00
Nirbheek Chauhan
099712338f
qt: Rework how we find the Qt QPA header
...
Instead of querying the Qt include path from the dependency or from
qmake, rely on the qt5qml_dep to set the include path to QtGui
correctly, and look for the header inside the private includedir.
Then we can use that path to include the header directly.
Reported in https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/issues/780#note_548092
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/640 >
2020-06-28 00:16:53 +05:30
Nirbheek Chauhan
ed457fe08f
qt: Only check for moc-qt5/moc in PATH if not cross-compiling
...
This is an extra check that's only needed for working around Linux
distribution packaging. `moc` is not required in the cross file.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/640 >
2020-06-28 00:16:53 +05:30
Nicolas Dufresne
93b202b84e
v4l2allocator: Don't do REQBUFS(0) on inactive allocator
...
If the allocator is no longer active, it means the memory has already
been freed, calling REQBUF(0) would make no sense.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/649 >
2020-06-26 19:24:21 +00:00
Nicolas Dufresne
b8f1f2195e
v4l2bufferpool: Avoid set_flushing warning
...
The gst_buffer_pool_set_flushing() warns when that function is called
on an inactive pool. Avoid the warning by checking the state, this is
similar to what we do in gst_v4l2_object_unlock().
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/649 >
2020-06-26 19:24:21 +00:00
Nicolas Dufresne
0344c50eaf
v4l2allocator: Fix data offset / bytesused size validation
...
The check was too strict causing spurious warning. Now check for <= so that 0
sized buffer do not cause a warning.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/649 >
2020-06-26 19:24:21 +00:00
Nicolas Dufresne
dbdbcfe7ff
v4l2videoenc: Fix negotiation caps leak
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/649 >
2020-06-26 19:24:21 +00:00