| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
|
| |
PTS can start again from a different offset while the running time is
increasing. The only thing that matters here is the running time.
https://bugzilla.gnome.org/show_bug.cgi?id=796807
|
| |
|
| |
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=796821
|
|
|
|
|
|
|
| |
This was the last remaining place where modifying/unreffing the
input stream was not protected by the lock
https://bugzilla.gnome.org/show_bug.cgi?id=796639
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
When the pool is started, we allocate and release buffer, expecting
the pool release-buffer handler to queue them. Though, as we rely
on release function, there is no direct way to detect that this
process didn't work.
To check this, validate that the number of queued buffer is the same
as the number of allocated buffers. This allow returning an error
when buffer importation was refused by the driver.
https://bugzilla.gnome.org/show_bug.cgi?id=583890
|
|
|
|
|
|
|
|
|
|
|
| |
This will avoid sending EOS on v4l2src when a driver sends an empty
buffers. This case would be a bug in the driver, but yet the camera
should keep running.
This also removes the check for corrupted buffers, as this check is
already done later.
https://bugzilla.gnome.org/show_bug.cgi?id=794842
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=794842
|
|
|
|
|
| |
The length passed to the driver was always 0 instead of the size of
the memory. This would fail validation in videobuf2.
|
|
|
|
|
|
|
|
| |
Some camera firmware crash is TRY_FMT is called during streaming. As a
side effect. This try and detect that the same format as currently
running is about to be tried, and skip renegotiation.
https://bugzilla.gnome.org/show_bug.cgi?id=796789
|
|
|
|
|
|
| |
In some cases, set_format() may get called twice before the output
format is set. Running an allocation query in this case is both not
needed and will cause assertion due tot he NULL caps.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
When the decoder get linked further, it will receive a renegotiation
event from downstream. This case is not supported and should be ignored.
This fixes issues when this encoder is used inside an GstRtspServer
pipeline.
https://bugzilla.gnome.org/show_bug.cgi?id=796525
|
|
|
|
|
|
|
| |
The colorimetry will be set along with the raw format and those fields
will then be copied from sink to src caps by the gst encoder.
https://bugzilla.gnome.org/show_bug.cgi?id=791471
|
|
|
|
|
|
|
| |
This fixes patch dd1c5aed656e07e3dad01f83410f3af16cfb14cf which
pretended to always set colorimetry but the patch was incomplete.
This is again best effort considering the spec says that for CAPTURE
you may only read this value.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
gst_v4l2_buffer_pool_flush() executes streamoff for the output, but
streamoff->streamon for the capture of the decoder.
gst_v4l2_buffer_pool_streamon() on capture assumes that is able to
resurrect the buffers from the pool, but acquiring buffers fails if the
buffer pool is still flushing.
The decoder needs to stop flushing the pools before calling
gst_v4l2_buffer_pool_flush() to restart the v4l2 device. Otherwise
starting the decoding thread might fail, because there are no buffers in
the capture pool.
This fixes a regression that was introduced in 97985a335c78
("v4l2videodec: Add dynamic resolution change support").
https://bugzilla.gnome.org/show_bug.cgi?id=796681
|
|
|
|
|
|
|
|
|
|
|
| |
The S_CROP call doesn't work on mem2mem output queues. Use the
S_SELECTION call to set the crop rectangle and only fall back to
S_CROP for ancient kernels.
This will allow v4l2videoenc to set the coded size on the output
queue via S_FMT and then set the visible size via the crop rectangle,
as required by the V4L2 codec API.
https://bugzilla.gnome.org/show_bug.cgi?id=796672
|
|
|
|
|
|
|
|
|
|
| |
Some drivers need output buffers set before capture buffers.
CODA cannot set output format if capture is streaming.
Exynos MFC fails on output STREAMON if capture is already streaming.
This patch delays capture activation until output is configured and
streaming
https://bugzilla.gnome.org/show_bug.cgi?id=796693
|
|
|
|
|
|
|
| |
This is both racy and inefficient. This function is still missing some
locking which will be address in later patch.
https://bugzilla.gnome.org/show_bug.cgi?id=796185
|
|
|
|
|
|
| |
It's a decoder, not an encoder :)
https://bugzilla.gnome.org/show_bug.cgi?id=795941
|
|
|
|
|
|
| |
Drop truncated frames regardless if they have the ERROR flag or not.
Truncated frame causes video frame map failure in many elements
including cluttersink, glupload etc.
|
|
|
|
|
|
|
| |
Pass 64 bits to g_object_set() for 64-bit integer properties like
rtpstorage's "size-time" property.
https://bugzilla.gnome.org/show_bug.cgi?id=796429
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
dropping them"
This reverts commit 762e9c645ec13513c62eb5a3800d7406e01cdcb7.
This was pushed by mistake
|
|
|
|
|
|
| |
This reverts commit 0ba62ba4805e2cdbed17fa9934762d685be42fd4.
This was pushed by mistake
|
|
|
|
|
|
| |
This reverts commit 6715af9933a6607e5d86ac6fc1bcf476761cbf10.
This was pushed by mistake
|
|
|
|
|
|
| |
sof-marker is 4 when input is in the RGB colorspace.
https://bugzilla.gnome.org/show_bug.cgi?id=795463
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
qtdemux selected the first system corresponding to a working GStreamer
decryptor. With this change, before selecting that decryptor, qtdemux
will check if it has context (a preferred decryptor id) and if not, it
will request it.
The request includes track-id, available key system ids for the
available decryptors and even the events so that the init data is
accessible.
[eocanha@igalia.com: select the preferred protection system even if not available]
Test "4. ClearKeyVideo" in YouTube leanback EME conformance tests 2016 for
H.264[1] uses a media file[2] with cenc encryption which embeds 'pssh' boxes
with the init data for the Playready and Widevine encryption systems, but not
for the ClearKey encryption system (as defined by the EMEv0.1b spec[3] and with
the encryption system id defined in [4]).
Instead, the ClearKey encryption system is manually selected by the web page
code (even if not originally detected by qtdemux) and the proper decryption key
is dispatched to the decryptor, which can then decrypt the video successfully.
[1] http://yt-dash-mse-test.commondatastorage.googleapis.com/unit-tests/2016.html?test_type=encryptedmedia-test&webm=false
[2] http://yt-dash-mse-test.commondatastorage.googleapis.com/unit-tests/media/car_cenc-20120827-86.mp4
[3] https://dvcs.w3.org/hg/html-media/raw-file/eme-v0.1b/encrypted-media/encrypted-media.html#simple-decryption-clear-key
[4] https://www.w3.org/Bugs/Public/show_bug.cgi?id=24027#c2
https://bugzilla.gnome.org/show_bug.cgi?id=770107
|
|
|
|
|
|
|
|
| |
Use a volatile Cookie jar to store cookies and handle the context
query so that session data can be shared with other elements (like
adaptivedemux).
https://bugzilla.gnome.org/show_bug.cgi?id=726314
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If there is an external source which is about to timeout and be removed
from the source hashtable and we receive feedback RTCP packet with the
media ssrc of the source, we unlock the session in
rtp_session_process_feedback before emitting 'on-feedback-rtcp' signal
allowing rtcp timer to kick in and grab the lock. It will get rid of
the source and rtp_session_process_feedback will be left with RTPSource
with ref count 0.
The fix is to grab the ref to the RTPSource object in
rtp_session_process_feedback.
https://bugzilla.gnome.org/show_bug.cgi?id=795139
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=795139
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=737928
|
|
|
|
| |
Avoids debugging message issues. Also just use the main riff header
|
|
|
|
|
|
|
| |
People might use very large mtu sizes where every payload
fits into a single output packet.
https://bugzilla.gnome.org/show_bug.cgi?id=795758
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=795332
|
|
|
|
| |
https://bugzilla.gnome.org/show_bug.cgi?id=795332
|
|
|
|
|
|
|
|
| |
Wait for caps on all pads to start writing data even when source is live.
Includes unit test by Havard Graff that simulates it.
https://bugzilla.gnome.org/show_bug.cgi?id=794722
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
After a CAPS event, in theory a new stream can start and it might start
with the FLAC headers again. We can't detect FLAC headers in the middle
of the stream, so we drain the parser to be able to detect either FLAC
headers after the CAPS event or the continuation of the previous stream.
This fixes for example
gst-launch-1.0 audiotestsrc num-buffers=200 ! flacenc ! c. \
audiotestsrc num-buffers=200 freq=880 ! flacenc ! c. \
concat name=c ! rtpgstpay ! udpsink host=127.0.0.1 port=5000
gst-launch-1.0 udpsrc multicast-group=127.0.0.1 port=5000 \
caps=application/x-rtp,media=application,clock-rate=90000,encoding-name=X-GST ! \
rtpgstdepay ! flacparse ! flacdec ! audioconvert ! pulsesin
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, enable_v4l2_probe is hard-coded to "yes" on linux, platforms
arm and aarch64. This even overrides the --disable-v4l2-probe argument.
As a result, it is impossible to disable v4l2_probe. It becomes a problem
for use-cases, when startup time is critical, because the v4l2_probe
feature increases the initialization time.
This commit makes the v4l2_probe feature configurable.
On linux, platforms arm and aarch64, the default value is still "yes".
But now it can be disabled by the --disable-v4l2-probe argument.
https://bugzilla.gnome.org/show_bug.cgi?id=795200
|
|
|
|
|
|
|
|
|
|
|
| |
gst_v4l2_dup() will now take care of setting
v4l2capture->no_initial_format and keep_aspect instead of doing it
manually.
Fix a typo as keep_aspect was set twice on v4l2output but never on
v4l2capture.
https://bugzilla.gnome.org/show_bug.cgi?id=795028
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit af273b4de9eb292c0b6af63665e10ca015895902.
While RFC 3264 (SDP) says that sendonly/recvonly are from the point of view of
the requester, the actual RTSP RFCs (RFC 2326 / 7826) disagree and say
the opposite, just like the ONVIF standard.
Let's follow those RFCs as we're doing RTSP here, and add a property at
a later time if needed to switch to the SDP RFC behaviour.
https://bugzilla.gnome.org/show_bug.cgi?id=793964
|
|
|
|
|
|
|
|
|
|
| |
gst_qt_mux_can_renegotiate () gets called everywhere following
that pattern:
return gst_qt_mux_can_renegotiate (ref(self));
This means the reference must be released both in the success
and failure cases, it was only done in the success case.
|
|
|
|
|
| |
Instead it is expected to return GST_FLOW_EOS, and let the
base class handle that.
|
|
|
|
|
| |
We ended up leaking every single buffer going through the
muxer, which is far from ideal
|
|
|
|
|
|
|
|
| |
libv4l2 does not prevent exporting DMABuf even when emulated formats are
in use. As a side effect, userspace ends up with buffers of the original
formats which will cause issues.
https://bugzilla.gnome.org/show_bug.cgi?id=795097
|
|
|
|
|
|
|
|
| |
BT2020_12 is not represented in V4L2, so drivers providing full colority
for BT2020 will set V4L2_XFER_FUNC_709 transfer function. To fix the
issue, we bump this to BT2020_12 if the resoltion is 4K, but we should
only do that if the colorspace is BT2020 to start with, otherwise it's
not possible to use normal BT709 for 4K 8bit formats.
|