Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
This release requires all buffer descriptor pointers to be valid, even
when we provide zero input buffers.
|
|
|
|
According to the MSDK documation[1], MFXCloneSession is a light-weight
equivalent of MFXJoinSession after MFXInit, so MFXJoinSession call isn't
needed in the msdk plugin, otherwise the cloned session is joined to the
parent session twice, and we will get a MFX error when closing the
parent session
example pipeline:
gst-launch-1.0 videotestsrc num-buffers=100 ! \
video/x-raw,format=NV12,width=352,height=288 ! msdkh264enc ! msdkh264dec ! \
msdkh264enc ! fakesink
Error message:
0:00:00.211948518 21733 0x5586ee741c60 ERROR msdk
msdk.c:148:msdk_close_session: Close failed (undefined behavior)
[1]: https://software.intel.com/en-us/node/628429#MFXCloneSession
|
|
And log the failures for debugging
|
|
In MSDK samples, the wait time for encoder, decoder and vpp is
300000. Let's set the wait time to the same value in msdk plugin
|
|
The returned type is a pointer
|
|
Needn't check the pointers against NULL because the pointers are
non-NULL
|
|
In general, we should assume any unhandled error is
non-recoverable.
In the flush frames loop, some error states can cause us
to never increment the task and therefore we get stuck
in an infinite loop and generate GST_ELEMENT_ERROR
over and over again. This eventually consumes all
system memory and triggers OOM. Thus, assume the worst
and break out of the loop upon the first "unhandled" error.
https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/859
|
|
This is not a standard mode and no longer supported by fdk-aac 2.0.0.
For https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/825
|
|
The latter is going away in libfdk-aac 2.0.0. Instead, MPEG-style output
is always non-interleaved and WAV-style output is always interleaved.
Earlier libfdk-aac also defaults interleaving accordingly.
Since our reordering looks at the associated PCE indices instead of the
actual channel order, we're agnostic to the mapping.
For https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/825
|
|
|
|
The 'MAX' expression used to set segtotal always returned 2 because the unused and unitialized variable buffer_frame_count was always 0
|
|
Use proper API to flush libass events when we do
a flushing seek, and also do it in FLUSH_STOP
rather than FLUSH_START, so we can be sure
streaming has stopped.
Fixes seeking back in time.
Something seems to have changed in libass that
renders the old manual way of flushing events
ineffective and libass then seems to ignore
timestamps that are older than the ones last
seen then if we do it the old way.
Fixes #916
|
|
Allocated device memory should be freed with cuMemFree
|
|
Mapped resource via NvEncMapInputResource() will result to unregister fail.
It can happen when paused to ready state change without EOS event.
|
|
VUI is an optional for SPS parse, some HEVC file has incorrect VUI
parameters but still can be decoded
|
|
baseclass didn't take the stream lock during stop. It's valid only for
GstVideoEncoder::finish()
Closes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/912
|
|
|
|
|
|
It's deprecated. Just use 'inline'.
|
|
For not being duplicated here it was being freed when the manifest was
being destroyed and a second time when the buffer was being destroyed.
|
|
Encoder will not configure internal pool again if input_state exist
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/912
|
|
To drain all queued encoding items, encoder should gracefully
wait the encoding thread without stealing queued items.
Otherwise, some input frames can be dropped.
|
|
GValue should be freed with g_value_unset()
|
|
|
|
Instead of creating a region, adding nothing to it, setting that as the
input region and destroying the region, you can instead just pass NULL
to wl_surface_set_input_region for the same effect.
Fixes #702
|
|
OpenSSL will take care of returning valid context if there are
only non-fatal issues. Don't abort in those cases and instead just
print out the issues
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/811
|
|
The MPEG-TS packetiser should use the upstream DTS for
skew correction when running in that mode, as the DTS
carries the upstream arrival time. The PTS (if it's
set at all) is less useful, and can be invalid.
|
|
If the last frame(s) produce errors, then we need to drop them
or else we spin forever failing to decode a frame and thinking
it'll get better if we wait for more data that's never coming.
|
|
|
|
|
|
'channel-mask' field should not be put in caps if channel mask is 0x0
Mapping WASAPI channel mask to GST equivalent was going only over
first nChannels elements of wasapi_to_gst_pos array, translating, for
example, WASAPI's 0x63f to GST's 0x3f instead of 0xc3f.
When 'channel-mask' is specified as NULL, it signifies that there's
need to do downmix or upmix and it makes caps negotiation with
audioconvert element impossible. Just omit it.
Signed-off-by: Nirbheek Chauhan <nirbheek@centricular.com>
|
|
When the audio device goes away during playback or capture, we were
going into an infinite loop of AUDCLNT_E_DEVICE_INVALIDATED. Return -1
and post an error message so the ringbuffer thread exits with an error.
|
|
infinite loop
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/844
|
|
Double free will happen if application frees string retuned by _get_property
|
|
Need to free allocated string memory on _finalize()
|
|
Mix of single and double precision leads to zero-by-zero divide
for upper 64-bit of the xmm register, even though they are not
used.
|
|
|
|
|
|
The FLIR Boson USB provides 16-bit grayscale video using this FOURCC.
|
|
|
|
Before this patch, if mode=auto and video-format!=auto, video-format would
always be ignored, and get set to 8bit-yuv, or if detected to be RGB444, then
it would be set to 8bit-argb. This change respects video-format if it is set
to 10bit-yuv (v210) or 8bit-bgra, even when mode=auto.
Closes #772
|
|
Detect opengl api from -base .pc files correctly.
There was a mismatch between the .pc files generated by
autotools and by meson that would lead to meson not detecting
that opengl api is available even though it is. This could
lead to build failures when building -bad with meson against
a -base that was built with autotools. The mismatch has now
been rectified but we will still check the old one for backwards
compatibility.
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/871
|
|
bindings.
|
|
Fix validation of some syntax.
Fixes #798
|
|
Should fix the Windows build after
b1509b1047bb76c9b2d8b14e9cecd0da72fd8e65.
|
|
As suggested in [the SSL_get_error manpage][1]. Upgrade the message to a
warning if the errno isn't 0 (success). The latter apparently means the
transport encountered an EOF (shutdown) without the shut down handshake
on the (D)TLS level. This happens quite often for otherwise normal DTLS
connections.
[1]: https://www.openssl.org/docs/man1.1.1/man3/SSL_get_error.html
|
|
Print out all errors from the OpenSSL error queue instead of just
looking at the topmost error. Using the callback interface also removes
the need for formatting using a buffer on the stack.
|