He Junyan
c365389930
va: Add H265 SCC profile support.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036 >
2022-12-01 09:45:19 +08:00
He Junyan
0952c556dc
va: Add extended formats support such as 10/12 bits, 4:2:2 and 4:4:4.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036 >
2022-12-01 09:45:14 +08:00
He Junyan
17c416ca92
va: enable multi tile support for H265 encoder.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036 >
2022-12-01 09:45:07 +08:00
He Junyan
2f8ce208e8
va: enable vah265lpenc for low power mode H265 encoder.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036 >
2022-12-01 09:45:00 +08:00
He Junyan
2677d4c6db
va: Add the low-delay-b frame support for H265.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036 >
2022-12-01 09:44:41 +08:00
He Junyan
9ee657cdee
va: Add prediction direction attribute support for H265 encoder.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036 >
2022-12-01 09:44:33 +08:00
He Junyan
4e7eddeafe
va: Register and enable and the vah265enc plugin.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036 >
2022-12-01 09:44:26 +08:00
He Junyan
3d99f24843
va: Implement the vah265enc plugin for va HEVC encoding.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2036 >
2022-12-01 09:44:08 +08:00
Seungha Yang
a3b352c99d
mfvideosrc: Fix buffer leak
...
The allocated buffer should be released
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3479 >
2022-11-28 18:50:03 +00:00
Seungha Yang
581481c12f
mediafoundation: Chain up from GObject::constructed
...
... so that GstTracer can trace it
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3479 >
2022-11-28 18:50:03 +00:00
Seungha Yang
b9b3a9c4e1
d3d11: Use correct ref/unref methods
...
Those objects are GstObject subclasses
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3479 >
2022-11-28 18:50:03 +00:00
Seungha Yang
468b049a04
win32ipcvideosrc: Fix property name and enum value mismatch
...
Make them consistent
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3465 >
2022-11-25 15:50:33 +00:00
Seungha Yang
20e83fa45b
win32ipcvideosrc: Protect pipe from flush thread
...
The pipe object must be protected against GstBaseSrc::unlock()
thread.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3465 >
2022-11-25 15:50:33 +00:00
He Junyan
25f90c828a
h264parser: Fix a typo in pred_weight_table parsing.
...
When setting default values, the reference list number of l1 is wrong.
Fix: https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/-/issues/336
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3464 >
2022-11-25 14:13:46 +00:00
Ma, Mingyang
66087b6276
msdkdec: Update decoding pts
...
Update frame pts before calling gst_video_decoder_finish_frame, or frames may be lost when transcoding in specific stream
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3449 >
2022-11-25 01:42:58 +00:00
Seungha Yang
4f846540cb
win32ipc: Add WIN32 shared memory videosrc/sink elements
...
Windows supports various IPC methods but that's completely
different form that of *nix from implementation point of view.
So, instead of adding shared memory functionality to existing
shm plugin, new WIN32 shared memory source/sink elements
are implemented in this commit.
Each videosink (server) and videosrc (client) pair will communicate
using WIN32 named pipe and thus user should configure unique/proper
pipe name to them (e.g., \\.\pipe\MyPipeName).
Once connection is established, videosink will create named shared memory
object per frame and client will be able to consume the object
(i.e., memory mapped file handle) without additional copy operation.
Note that implementations under "protocol" directory are almost
pure C/C++ with WIN32 APIs except for a few defines and debug functions.
So, applications can take only the protocol part so that the application
can send/receive shared-memory object from/to the other end
even if it's not an actual GStreamer element.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3441 >
2022-11-24 12:41:18 +00:00
Jan Lorenz
47b8762774
mfvideosrc: check HRESULT of CreateClassEnumerator correctly
...
Fixes a crash during direct show device enumeration
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1599
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3460 >
2022-11-23 14:45:50 +00:00
Nicolas Dufresne
6981384184
kmssink: Fix compilation without kernel headers
...
There was a drm/drm_mode.h included added recently, drm/ is usually
referencing the linux kernel header, but we only requires the libdrm
headers to be installed. On top of this, including drm_mode.h is never
needed as its already included by drm.h.
Fixes #1596
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3452 >
2022-11-23 08:39:49 +00:00
Daniel Morin
855f84c558
onnx: Update to OnnxRT >= 1.13.1 API
...
- Replace deprecated methods
- Add a check on ORT version we are compatible with.
- Add clarification to the example given.
- Add the url to retrieve the model mentioned in the example.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3388 >
2022-11-22 22:36:34 +00:00
He Junyan
e7d584a816
h265parse: Add the missing timestamp when splitting a frame.
...
When splitting a frame, the gst_buffer_copy_region() does not copy
the timestamp correctly for sub frames when the offset is not 0.
We still need those timestamps for each output sub frame.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3448 >
2022-11-22 21:47:49 +00:00
He Junyan
dae73d6686
h264parse: Add the missing timestamp when splitting a frame.
...
When splitting a frame, the gst_buffer_copy_region() does not copy
the timestamp correctly for sub frames when the offset is not 0.
We still need those timestamps for each output sub frame.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3448 >
2022-11-22 21:47:49 +00:00
Sebastian Dröge
76eb870251
dvbsubenc: Write Display Definition Segment if a non-default width/height is used
...
Otherwise it can't be rendered by dvbsuboverlay or ffmpeg at least.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3446 >
2022-11-22 21:04:39 +00:00
Seungha Yang
6c007b8936
av1dec: Demote rank to secondary
...
cerbero does not build this plugin for now, and there's altanative
dav1ddec
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3287 >
2022-11-22 17:48:25 +00:00
Bill Hofmann
afb18e0e31
kmssink: add HDR10 infoframe support
...
If stream has HDR10 metadata and HDMI device EDID supports it, this patch
will set the DRM properties accordingly.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3303 >
2022-11-21 17:55:41 -05:00
Bill Hofmann
daecbd1ff0
kmssink: Add skip-vsync property
...
The legacy emulation in DRM/KMS drivers badly interact with GStreamer and
may cause the framerate to be halved. With this property, users can disable
vsync (which is handled internally by the emulation) in order to regain the
full framerate.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3303 >
2022-11-21 17:55:20 -05:00
Seungha Yang
132eddd7b9
av1decoder: Clear highest_spatial_layer per sequence header
...
Clear the value to default zero, indicating that no spatial scalability
layer is used.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3430 >
2022-11-19 11:58:01 +00:00
Seungha Yang
c92128f6b0
av1decoder: Don't error out by dropped OBU
...
OBU can be dropped if the current layer is not in selected operation
point
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3430 >
2022-11-19 11:58:01 +00:00
Seungha Yang
f1a52c5ea0
av1decoder: Fix wrong spatial layer validation
...
Highest spatial id and temporal id is independent, and should not drop
temporal enhance layer by the previous condition. Note that
the decision for dropping OBU based on operation point is being
handled in gst_av1_parser_identify_one_obu() already.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1585
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3430 >
2022-11-19 11:58:01 +00:00
Seungha Yang
55ca832d70
av1parser: Don't print warning for expected OBU drop
...
Dropping an OBU which is not in selected operation point is an
expected condition.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3430 >
2022-11-19 11:58:01 +00:00
Seungha Yang
3ef2955c7d
av1parser: Remove impossible condition
...
unsigned integer cannot be negative
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3430 >
2022-11-19 11:58:01 +00:00
Jan Schmidt
dfb5e3365e
webrtcbin: Remove queue after rtpfunnel
...
The original BUNDLE support commit placed a queue after the
rtpfunnel that combines streams, but I don't see a good reason for
it. It has default settings, so if network output is slow might
accidentally store up to 1 second of pending data, increasing
latency.
Remove it in favour of doing any necessary buffering before
webrtcbin. If it turns out that there is a reason for it to
exist, the limits should probably be configurable and small.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3437 >
2022-11-19 10:31:50 +00:00
Jan Schmidt
6538ebbaf3
webrtc: Improve GstWebRTCStatsType docstring
...
Fix a typo of peer-connectiion -> peer-connection
Add a link to the w3c RTCStats type for a description
of what each statistics type is.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3434 >
2022-11-19 13:12:58 +11:00
Jan Schmidt
5fa4f0562c
webrtcbin: Fix a typo in debug log
...
transceiever -> transceiver
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3434 >
2022-11-19 13:12:58 +11:00
Seungha Yang
f6327e25a7
qsv: Promote encoder rank to PRIMARY on Windows
...
QSV is very well integrated with GstD3D11 infrastructure on Windows,
and this is the recommended H/W encoder element over the MediaFoundation
plugins on Intel GPU system.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3393 >
2022-11-19 00:43:10 +00:00
Nicolas Dufresne
5980fb76e7
video: Add arbitrary tile dimensions support
...
In current tile representation, only tiles with power of two
width and height in bytes are supported. This limitation
prevents adding more complex tiles formats.
In this patch, we deprecate tile_ws and tile_hs from GstVideoFormatInfo and
replace if with an array of GstVideoTileInfo. Each plane tiles are then
described with their pixels width/height, line stride and total size.
The helper gst_video_format_info_get_tile_sizes() that depends on the
deprecated API is also being removed. This can simply be removed as it wasn't
in any stable release yet.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3424 >
2022-11-18 22:59:29 +00:00
Johan Sternerup
e708543039
webrtcbin: Add settings for HTTP proxy
...
Pass this to libnice which has a simple HTTP 1.0 proxy with basic
authentication only.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2867 >
2022-11-18 15:00:58 +00:00
Vivia Nikolaidou
ccb0e6e435
tsdemux: Add pad-name to warning for continuity mismatch
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3141 >
2022-11-18 12:22:03 +00:00
Enrique Ocaña González
a2990020b2
hlsdemux: Expose EXT-X-PROGRAM-DATE-TIME as tags.
...
This allows an application to use timestamps associated
with fragments.
Patch by: Thomas Bluemel <tbluemel@control4.com>
See: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/195
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1417 >
2022-11-17 22:11:12 +00:00
Víctor Manuel Jáquez Leal
b2bfb066ec
vabaseenc: Reduce logging noise if finish_frame fails.
...
Fixes : #1579
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3423 >
2022-11-17 05:25:18 +00:00
Seungha Yang
433301d0e5
amfcodec: Promote encoder rank to PRIMARY
...
This H/W encoder implementation is the recommended element
on AMD system over the MediaFoundation one.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3394 >
2022-11-16 14:47:27 +00:00
Edward Hervey
3305d7ce8d
tsdemux: Push GST_EVENT_STREAM_COLLECTION
...
Demuxers that are not streams-aware will have that handled by parsebin. This
created a difference in results downstream between streams-aware and
non-streams-aware demuxers
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2784 >
2022-11-16 14:01:46 +00:00
Nicolas Dufresne
d3c5fc815e
v4l2codecs: Allow output caps to be updated
...
This change allow output caps to be updated even though we stay in
streaming state. This is needed so that any upstream updated to fields
like framerate, hdr data, etc. can result in a downstream caps event
being pushed.
Previously, any of these changes was being ignored and the downstream
caps would not reflect it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3328 >
2022-11-16 13:12:38 +00:00
Seungha Yang
0e4c520cf3
nvdecoder: Handle input caps change
...
Update output caps if it's notified by baseclass
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3328 >
2022-11-16 13:12:38 +00:00
Seungha Yang
b4c19a96b7
nvdecoder: Don't hold decoder output state
...
It's not referenced by this implementation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3328 >
2022-11-16 13:12:38 +00:00
Seungha Yang
b886935e83
examples: Add test code to verify decoder caps update
...
Sample command lines
* Configures pipeline with video encoder
decoder-caps-update \
--encoder="video/x-raw,format=NV12 ! qsvh264enc" \
--decoder=d3d11h264dec \
--videosink=d3d11videosink
* Playing exisiting file
decoder-caps-update \
--location=test_file.mp4 \
--decoder=d3d11h264dec \
--videosink=d3d11videosink
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3328 >
2022-11-16 13:12:38 +00:00
Seungha Yang
349f8de13e
d3d11decoder: Handle input caps change
...
Update output caps if it's notified by baseclass
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3328 >
2022-11-16 13:12:38 +00:00
Seungha Yang
2ede4011bf
codecs: Keep track of non-decoding-essential input state change
...
In theory, input caps can be updated anytime at non-keyframe or
sequence boundary, such as HDR10 metadata, framerate, aspect-ratio
or so. Those information update might not trigger ::new_sequence()
or subclass may ignore the changes.
By this commit, input state change will be tracked by baseclass
and subclass will be able to know the non-decoding-essential
update by checking the codec specific picture struct
on ::output_picture()
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3328 >
2022-11-16 13:12:38 +00:00
Edward Hervey
a40842545f
Revert "mpegtspacketizer: memcmp potentially seen_before data"
...
This reverts commit fcad4cc646
.
This was wrong is so many ways.
* The memcmp was badly used (it should use == 0 to check the data is identical,
and not != 0)
* There was no boundary checks on the present stream section_data when passing
it to memcmp.
* The return value should have been TRUE (i.e. we have done all checks, none of
them failed, therefore the section has been seen before)
* stream->section_data would *always* be NULL if the section had already been
processed
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1559
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3421 >
2022-11-16 12:20:41 +00:00
Edward Hervey
a87b7da308
mpegts: Check is program is identical before updating
...
There is no need to update the program if it's identical :)
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3421 >
2022-11-16 12:20:41 +00:00
Seungha Yang
721f059397
codectimestamper: Remove duplicated GstSegment struct
...
Use the one in priv struct. And use gst_segment_is_equal()
to compare GstSegment
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3380 >
2022-11-15 19:32:10 +00:00
Matthew Waters
6265fc8424
h264/5timestamper: provide a workaround for h264/5parse producing pts=NONE buffers
...
A workaround for
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/649
and
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/287
which is hard to change baseparse behaviour for both video and audio
parsers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3380 >
2022-11-15 19:32:10 +00:00
Seungha Yang
a4733eb33d
nvcodec: Update plugin cache
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3389 >
2022-11-15 16:25:45 +00:00
Seungha Yang
5f1bc553f4
tests: cudaconvert: Update test code
...
Adding more formats, and rescale test with borders
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3389 >
2022-11-15 16:25:44 +00:00
Seungha Yang
9d30f9dd59
cudaconvertscale, cudascale: Add "add-borders" property and support 8bits RGB planar formats
...
Adding "add-borders" property which is identical to that of
videoscale and this will be enabled by default.
And adding RGBP/BGRP/GBR/GBRA format support.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3389 >
2022-11-15 16:25:44 +00:00
Seungha Yang
c11f8fa930
cuda: Rewrite colorspace/rescale object
...
Rewriting GstCudaConverter object, since the old implementation was not
well organized and it's hard to add new features.
Moreover, the conversion operations were not very optimized.
Major change of this implementation:
* Remove redundant intermediate conversion operations such as
any RGB -> ARGB(64) conversion or any YUV -> Y444 (or 16bits Y444).
That's not required most of cases. The only required case is
converting 24bits (such as RGB/BGR) packed format to 32bits format
because CUDA texture object does not support sampling 24bits format
* Use normalized sample fetching (i.e., [0, 1] range float value)
and also normalized coordinates system for CUDA texture.
It's consistent with the other graphics APIs such as Direct3D
and OpenGL, that makes sampling operations much easier.
* Support a kind of viewport and adopt math for colorspace conversion
from GstD3D11 implementation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3389 >
2022-11-15 16:25:44 +00:00
Seungha Yang
c1efa9ac4b
cudaupload,cudadownload: Add support for planar 8bits RGB formats
...
Defines RGBP, BGRP, and GBR formats, which have the same memory
layout as already supported Y444. And defines GBRA format as well
which needs just one additional alpha plane
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3389 >
2022-11-15 16:25:44 +00:00
Seungha Yang
9c4c8c3932
cudacontext: Store texture alignment
...
it was missed in the previous refactoring
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3389 >
2022-11-15 16:25:44 +00:00
Seungha Yang
950dad201d
cudaconvert, cudascale: Port to GstCudaBaseCovert baseclass
...
Don't need to hold duplicated code in the source tree
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3389 >
2022-11-15 16:25:44 +00:00
Seungha Yang
eb2ef5a4fd
cuda: Add convertscale element
...
GstCudaConverter object can do colorspace conversion and scale at once.
Adding new element "cudaconvertscale" to do that, this can
save unnecessary GPU operation if colorspace conversion and
rescale is required for given input stream format.
Most of codes are taken from d3d11convert element
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3389 >
2022-11-15 16:25:44 +00:00
Elliot Chen
b09b246fc8
gstplay: add warning message details check before post it
...
For some warning message which has no detail data, need check to avoid printing critical log.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3382 >
2022-11-15 01:01:10 +00:00
Rafał Dzięgiel
e93f391139
tests: Add DASH MPD baseURL with query test
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1147 >
2022-11-14 23:45:53 +00:00
Rafał Dzięgiel
30c2bdad61
mpdparser: Fix missing baseURL query
...
When no initializationURL or mediaURL, return baseURL that also
contains original URI query if available. This fixes a problem
where URI query was being omitted in the HTTP requests.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1147 >
2022-11-14 23:45:53 +00:00
Rafał Dzięgiel
548bbc3147
mpdparser: Be consistent about returning duplicated URL
...
Instead of returning a "const gchar" or a "gchar" that should not be freed, always
return a duplicated string as those functions were used together with g_strdup anyway.
This is needed to prepare support for returning modified strings in next commit.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1147 >
2022-11-14 23:45:53 +00:00
Rafał Dzięgiel
0d79dbedf3
mpdparser: Return correct mediaURL value
...
This fixes a problem where get_mediaURL was returning NULL when segmentURL
was unavailable instead of baseURL as a fallback.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1147 >
2022-11-14 23:45:53 +00:00
Seungha Yang
837881ad29
d3d11converter: Fix YUY2 conversion error
...
Always configure shader conversion path, then fallback to the
shader path if processor is not available
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3392 >
2022-11-14 20:14:27 +00:00
Seungha Yang
d0572622fa
d3d11: Add support for planar RGB formats
...
Adding RGBP, BGRP, GBR, GBR_10LE, GBR_12LE, GBRA, GBRA_10LE, and
GBRA_12LE format support
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3392 >
2022-11-14 20:14:27 +00:00
Seungha Yang
b4d59e4e43
d3d11screencapturesrc: Update plugin cache
...
Missed in
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3360
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3392 >
2022-11-14 20:14:26 +00:00
Jan Schmidt
452890093d
aesdec: Fix padding removal for per-buffer-padding=FALSE
...
When per-buffer-padding is FALSE, the OpenSSL context needs
to be told to remove any padding at the end of the ciphertext
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1243
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3406 >
2022-11-15 00:13:15 +11:00
Edward Hervey
1c8a57a85c
transcodebin: Use const arguments for clarity
...
And rename it when it classhes with existing local variable
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390 >
2022-11-13 06:59:11 +01:00
Edward Hervey
2e2bc0da54
transcodebin: Don't leak GstStream
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390 >
2022-11-13 06:59:11 +01:00
Edward Hervey
8e09b645c0
transcode: Don't leak caps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390 >
2022-11-13 06:59:11 +01:00
Edward Hervey
c82f9c9f8c
transcode: Don't leak timer
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390 >
2022-11-13 06:59:11 +01:00
Edward Hervey
00133ebbe4
mpegtsbase: Don't leak GList
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390 >
2022-11-13 06:59:10 +01:00
Edward Hervey
45e8137e6e
uritranscodebin: Don't leak uris, profile, sinkpad and filters
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390 >
2022-11-12 10:33:51 +01:00
Edward Hervey
a301c92ca3
transcodebin: Don't leak profile
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390 >
2022-11-12 10:33:51 +01:00
Edward Hervey
9b67028759
transcodebin: Actually free the TranscodingStream structure
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390 >
2022-11-12 10:33:51 +01:00
Edward Hervey
90a1d9f873
transcoder: Don't leak API bus and GMainLoop
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390 >
2022-11-12 10:33:51 +01:00
Seungha Yang
219c5cf330
meson: d3d11: Clarify the message for WGC support check
...
Even Windows10 SDK seems to have required symbols depending on installed
SDK version
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3376 >
2022-11-11 19:42:19 +00:00
Seungha Yang
12a2c1dffe
d3d11screencapturesrc: Fix build error with MSVC x86
...
Delete the code for now. Note that the code block is unnecessary already
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3375 >
2022-11-11 18:58:54 +00:00
Matthew Waters
5ca3988420
webrtc/datachannel: handle error messages from appsrc/sink
...
Fixes a possible race where closing a data channel may produce e.g.
not-linked errors.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3381 >
2022-11-11 10:13:27 +00:00
Matthew Waters
a34e380e2e
sctpdec: fix stream reset (src pad removal) if no data is ever received
...
If we don't receive any data from usrsctp, then there will be no src pad
for the stream id and the stream reset will fail to remove the relevant
src pad. Workaround by first attempting to add the relevant src pad, then
almost immediately removing it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3381 >
2022-11-11 10:13:27 +00:00
He Junyan
b010f00d36
test: Correct the test suite name of the h264 and h265 bitwriter.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3384 >
2022-11-11 08:19:01 +00:00
Colin Kinloch
99fc124f25
videocrop, videobox: Simplify navigation event handling and support touch events
...
Signed-off-by: Colin Kinloch <colin.kinloch@collabora.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3053 >
2022-11-11 06:45:49 +00:00
Colin Kinloch
841f50f0d9
va: Fix vapostproc navigation event co-ordinate mapping
...
Signed-off-by: Colin Kinloch <colin.kinloch@collabora.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3053 >
2022-11-11 06:45:49 +00:00
Colin Kinloch
d54e597278
va: Use gst_video_orientation_from_tag to parse orientation
...
Signed-off-by: Colin Kinloch <colin.kinloch@collabora.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3053 >
2022-11-11 06:45:48 +00:00
Tong Wu
ef4fc11193
msdkvpp: delete the macros to make video memory work on Windows
...
Since gst_msdk_import_to_msdk_surface has been implemented for d3d11, we
delete the macros to make it work on Windows.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231 >
2022-11-11 06:02:28 +00:00
Tong Wu
7becf35221
msdkvpp: modify the way of copying system memory to msdk surface
...
Replace video_copy with memcpy to fix the issue when the sizes of the
src frame and dst frame don't match. Moreover, for Windows, you have to
do the copy first and call gst_msdk_import_to_msdk_surface later.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231 >
2022-11-11 06:02:28 +00:00
Tong Wu
9a6dd525f7
msdkvpp: add d3d11 support during negotiation
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231 >
2022-11-11 06:02:28 +00:00
Tong Wu
a55808d299
msdkvpp: add d3d11 video memory to sink and src caps
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231 >
2022-11-11 06:02:28 +00:00
Tong Wu
78523c5130
msdkvpp: delete use_sinkpad_va and use_srcpad_va
...
This two variables are no longer useful. Delete them for now.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231 >
2022-11-11 06:02:28 +00:00
Tong Wu
f25f528120
msdkenc: modify the way of copying system memory to msdk surface
...
Replace video_copy with memcpy to fix the issue when the sizes of the
src frame and dst frame don't match. Moreover, for Windows, you have to
do the copy first and call gst_msdk_import_to_msdk_surface later.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231 >
2022-11-11 06:02:28 +00:00
Tong Wu
f6e207eb1b
msdkallocator_d3d: add d3d11 video memory and import it to msdk surface
...
This patch introduces d3d11 texture and index to GstMsdkMemoryID and
implements gst_msdk_import_to_msdk_surface in order to wrap the surface
to mfxMemId.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231 >
2022-11-11 06:02:28 +00:00
Tong Wu
7f18f11a90
msdkallocator_d3d: implement GetHDL callback function
...
During encoding process, oneVPL runtime will call GetHDL callback function.
This patch implements this function for the use of msdk.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231 >
2022-11-11 06:02:28 +00:00
Tong Wu
86d22b2e38
msdkallocator: add a parameter to function gst_msdk_import_to_msdk_surface
...
Add a flags parameter to function gst_msdk_import_to_msdk_surface and
move the function declaration to gstmsdkallcator.h to prepare for adding
Windows implementation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231 >
2022-11-11 06:02:28 +00:00
Tong Wu
abe47f3fa0
msdkenc: add d3d11 pool during negotiation
...
This patch adds Windows specific set_format and propose_allocation
functions to enable creating d3d11 pools during negotiation.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231 >
2022-11-11 06:02:28 +00:00
Tong Wu
c62deb6fe9
msdkenc: add D3D11 caps for msdkenc
...
This patch adds D3D11 feature to sink factory for msdkenc.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231 >
2022-11-11 06:02:28 +00:00
Tong Wu
d61a248ac8
MSDK: Introduce d3d11 device to MSDK context
...
Currently MSDK context does not support d3d11va. Now introduce d3d11va
device to MSDK context, making it able to create msdk session with d3d11
device and to easily share with upstream and donwstream.
Add environment variable to enable user to choose GPU device in multi-GPU
environment. This variable is only valid when there's no context
returned by upstream or downstream. Otherwise it will use the device
that created by upstream or downstream.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231 >
2022-11-11 06:02:28 +00:00
Tong Wu
11e13b189d
MSDK: Add gst d3d11 lib into MSDK's dependency
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231 >
2022-11-11 06:02:28 +00:00
Víctor Manuel Jáquez Leal
eb0f90f6ec
vafilter: Log out processed surfaces for debug.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3373 >
2022-11-11 04:19:54 +00:00
Víctor Manuel Jáquez Leal
bc4aa017ac
vadeinterlace, vapostproc: Drop output buffer if process failed.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3373 >
2022-11-11 04:19:54 +00:00
Daniel
ccfb77c775
debugutils: videocodectestsink: add support for more formats
...
Add support for more formats so as to run the libvpx high bit depth test suite.
This means the files under CONFIG_VP9_HIGHBITDEPTH
This also allows running the yuv444p 8bit file in the regular 8 bit vp9 suite.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3356 >
2022-11-10 15:26:22 +00:00
Elliot Chen
4020542b3c
gstplay: fix segmentation fault caused by subtitle info update
...
For subtitle stream played by subrui, gstplay will update subtitle
information before select the stream by using playbin3. Need check
the subtitle_sid value to avoid segmentation fault.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3383 >
2022-11-10 14:07:39 +00:00
Guillaume Desmottes
9eee5adb24
gssink: add 'content-type' property
...
Useful when one wants to upload a video as `video/mp4` instead of
'video/quicktime` for example.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3371 >
2022-11-10 09:53:29 +00:00
Matthew Waters
e2ff6b61ce
cccombiner: initial implementation of using CCBuffer helper
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3211 >
2022-11-10 00:52:14 +00:00
Matthew Waters
088597b430
closedcaption: move CC buffering to helper object
...
Move most of the interesting code from ccconverter to this new helper
object.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3211 >
2022-11-10 00:52:14 +00:00
Matthew Waters
06a20f9243
closedcaption: move cdp->cc_data into shared location
...
So it can be used by both ccconverter and cccombiner
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3211 >
2022-11-10 00:52:14 +00:00
Matthew Waters
fde92ec43f
closedcaption: move cc_data->cdp to shared file
...
Used by both ccconverter and cccombiner
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3211 >
2022-11-10 00:52:14 +00:00
Matthew Waters
9f1b54f6ee
ccconverter: avoid different indent versions indenting !! differently.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3211 >
2022-11-10 00:52:14 +00:00
Matthew Waters
067185e7da
closedcaption: move cdp framerate table to common file
...
shared by both cccombiner and ccconverter
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3211 >
2022-11-10 00:52:14 +00:00
Matthew Waters
5dd199f7e8
cccombiner: don't assume a single cea608 data packet per buffer
...
e.g. 24fps can have up to 3 and would include either two field0 or
field1 cea608 data.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3211 >
2022-11-10 00:52:14 +00:00
Matthew Waters
741cfd18b5
ccconverter: drop data when overflow on extracting cea608 from cc_data
...
If the buffer overflows, then drop rather than causing a failure and
fropping the output buffer indefinitely. This may have caused downstream to
be waiting for data the will never arrive.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3211 >
2022-11-10 00:52:14 +00:00
Matthew Waters
542060fea7
ccconverter: fix framerate passthrough with malformed input
...
If an input is malformed (only produces cea608 field 1 cc_data) then
when in passthrough we would effectively be dropping every second cea608
on output as we would not store any unused cea608 data.
Fix by having all code paths go through the framerate conversion code
which will store and retrieve any relevant data across buffers.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3211 >
2022-11-10 00:52:14 +00:00
Seungha Yang
b36b9c7821
amfcodec: Fix typos
...
Fixing typo surfrace -> surface
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3378 >
2022-11-09 23:02:21 +00:00
Seungha Yang
93b6cf7adb
mfvideosrc: Return S_OK from ISampleGrabberCB callback
...
The Microsoft's ISampleGrabber implementation seems to be ignoring
the HRESULT return value from the callback though,
S_OK is the right HRESULT code.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3379 >
2022-11-10 06:03:45 +09:00
Seungha Yang
99b83f33f7
d3d11screencapturesrc: Specify PAR 1/1 to template caps
...
... otherwise PAR can be wrongly signalled during the negotiation
Fixing below pipeline when desktop resolution is not 640x480
gst-launch-1.0.exe \
d3d11screencapturesrc ! videoscale !
video/x-raw,width=640,height=480,pixel-aspect-ratio=1/1 ! d3d11videosink
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3360 >
2022-11-09 11:22:06 +00:00
Víctor Manuel Jáquez Leal
7f4f11503c
tests: examples: va: Add encoders dynamic reconfiguration.
...
Take the QSV encoder test and used it for VA.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2466 >
2022-11-09 06:15:23 +01:00
Víctor Manuel Jáquez Leal
1f7cf1d408
va: caps: Fix raw caps for H264 encoding.
...
Mesa gallium and Intel i965 ill reports unsupported video formats.
This commit reverts ecb12a05
and adds a deeper workaround, since
ecb12a05
only fix the template caps, but not when renegotation
happens.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2466 >
2022-11-09 06:15:23 +01:00
Víctor Manuel Jáquez Leal
4994487b8f
vabaseenc: Log out the flow error name.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2466 >
2022-11-09 06:15:23 +01:00
Víctor Manuel Jáquez Leal
dbf8c38667
vah264enc: Enable parameters change while running.
...
1. Removes the verification if the internal encoder is not opened
yet to allow the property setting.
2. And toggles on the base class' reconf flag for each property
variable that can be modified at run time.
3. Mark those modifiable properties as mutable while playing.
Currently the run-time modifiable properties are:
qpi, qpp, qpb, bitrate, target percentage, target usage and rate control
Other properties can be enabled too, but they need testing.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2466 >
2022-11-09 06:15:21 +01:00
Víctor Manuel Jáquez Leal
bd3c50e50f
vabaseenc: Enable encoder reconfiguration.
...
Adds an internal function reset() which drains the internal queues and
calls the reconfig() vmethod.
This reset() method is called inconditionally at set_format() and in
handle_frame() if the instance's reconf flag is enabled.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2466 >
2022-11-09 06:13:26 +01:00
Víctor Manuel Jáquez Leal
351a107ecc
vah264enc: Avoid reopen encoder or renegotiate.
...
If parameters remain similar enough to avoid either encoder reopening
or downstream renegotiation, avoid it.
This is going to be useful for dynamic parameters setting.
To check if the stream parameters changed, so the internal encoder has
to be closed and opened again, are required two steps:
1. If input caps, profile, chroma or rate control mode have changed.
2. If any of the calculated variables and element properties have
changed.
Later on, only if the output caps also changed, the pipeline
is renegotiated.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2466 >
2022-11-09 06:13:26 +01:00
Víctor Manuel Jáquez Leal
38f1a4ee3d
vaencoder: Add gst_va_encoder_get_reconstruct_pool_config()
...
This method will return the caps configured in the reconstruct buffer
pool, and its maxium number of buffers to allocate.
The caps are needed later to know if the internal encoder has to be
reopened if the stream properties change.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2466 >
2022-11-09 06:13:25 +01:00
Seungha Yang
ded3e7c81a
directshow: Demote rank of device provider to GST_RANK_NONE
...
Current directshow plugin seems to be unstable and unmaintained
for many many years.
See
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3323
and
https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1828
Disable this device provider by default to avoid any side-effect
of this plugin
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3355 >
2022-11-09 00:30:45 +00:00
Victor Manuel Jaquez Leal
bb86728a1a
vah264enc: Fix properties documentation.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3361 >
2022-11-08 21:49:05 +00:00
Victor Manuel Jaquez Leal
c60504bd9e
va: Document device-path property.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3361 >
2022-11-08 21:49:05 +00:00
Victor Manuel Jaquez Leal
98a3aee6cb
va: Reenable plugin cache.
...
This basically a revert of commit 9bb560e7
Also it adds vaav1dec.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3361 >
2022-11-08 21:49:05 +00:00
Victor Manuel Jaquez Leal
0918910a7d
vavp8dec, vampeg2dec: Fix type name.
...
The camel case name is wrong when registering the type.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3361 >
2022-11-08 21:49:05 +00:00
Víctor Manuel Jáquez Leal
96a6b33029
vacaps: Sort raw caps according their efficiency.
...
Caps negotiations considers template caps order. This patch sets the
correct order according the feture caps: VAMemory, DMABuf and
SystemMemory.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3349 >
2022-11-08 05:15:09 +00:00
Tim-Philipp Müller
db450689db
Back to development
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3358 >
2022-11-08 02:08:08 +00:00
Tim-Philipp Müller
3e29ac35c4
Release 1.21.2
2022-11-07 23:54:03 +00:00
Tim-Philipp Müller
98d2f958a9
Update ChangeLogs for 1.21.2
2022-11-07 23:53:57 +00:00
Jan Alexander Steffens (heftig)
28628a67e5
srt: Add a property to disable automatic reconnect
...
This adds a new boolean property `auto-reconnect`, defaulting to `true`.
Setting it to `false` makes the elements (in caller mode) immediately
report an error to the application instead of trying to reconnect.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3326 >
2022-11-07 22:23:02 +00:00
Víctor Manuel Jáquez Leal
bbd2bce11d
vabasetransform: Fail if cannot import the input buffer.
...
Otherwise got a buffer double free.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3348 >
2022-11-07 17:57:05 +00:00
Seungha Yang
4b05736c63
mfvideosrc: Add support for DirectShow capture filter
...
Adding DirecShow video capture filter mode, in addition
to existing MediaFoundation and WinRT(UWP) mode, to support
DirectShow only filters (not KS driver compatible)
such as custom virtual camera filters.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3350 >
2022-11-08 01:33:14 +09:00
Jan Alexander Steffens (heftig)
b22093be3c
rtmp2: Improve error messages
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403 >
2022-11-07 12:31:08 +00:00
Jan Alexander Steffens (heftig)
f2d7b98ea4
rtmp2/connection: Pass triggering GError in 'error' signal
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403 >
2022-11-07 12:31:08 +00:00
Jan Alexander Steffens (heftig)
9952be2ab3
rtmp2/connection: Pass triggering GError to _emit_error
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403 >
2022-11-07 12:31:08 +00:00
Jan Alexander Steffens (heftig)
39bab56a08
rtmp2/connection: Discern reasons for cancelling all commands
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403 >
2022-11-07 12:31:08 +00:00
Jan Alexander Steffens (heftig)
297cdaa381
rtmp2/connection: Handle EOF like error
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403 >
2022-11-07 12:31:08 +00:00
Jan Alexander Steffens (heftig)
031d52672b
rtmp2/client: Make sure 'salt' is not NULL
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403 >
2022-11-07 12:31:08 +00:00
Jan Alexander Steffens (heftig)
dcada94046
rtmp2/client: Make sure 'reason' is not NULL
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403 >
2022-11-07 12:31:07 +00:00
Jan Alexander Steffens (heftig)
a13f234be3
rtmp2/client: Make sure 'desc' is not NULL
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403 >
2022-11-07 12:31:07 +00:00
Jan Alexander Steffens (heftig)
2037f1ed0a
rtmp2/client: Make sure 'code' is not NULL
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1403 >
2022-11-07 12:31:07 +00:00
Edward Hervey
a100f36b69
webrtcbin: Don't duplicate enum string values
...
Some were leaked when debugging was enabled. Instead just directly use the
static strings as-is.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3347 >
2022-11-07 11:21:00 +00:00
Nicolas Dufresne
e81e212610
videocodectestsink: Add YUV422 support
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3331 >
2022-11-07 00:40:25 +00:00
Seungha Yang
0405e0cfc7
d3d11videosink: Always clear back buffer on resize
...
Swapchain may not need to be resized if the size of backbuffer
is equal to the previous size. Then previously rendered frame will be stay
on the screen. Do clear back buffer whenever resize() is called
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3341 >
2022-11-05 17:23:24 +00:00
Seungha Yang
e1e9ee5506
qsv: Fix encoding error when input memory belongs to other GPU
...
Copy frame if VA display of input buffer is different from that
of encoder, like we've been doing on Windows
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3335 >
2022-11-05 13:59:45 +00:00
He Junyan
1881d1826a
va: baseenc: Do not import the VA surface from other display.
...
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1167
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3322 >
2022-11-05 13:39:34 +08:00
He Junyan
d51b29b1dc
va: compositor: Do not use allocator and pool from other display.
...
Just like the va decoder, the compositor should not use allocator
and pool from other display. Also, when importing the input buffer,
if it is from other display, we should fallback to memory copy.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1167
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3322 >
2022-11-05 13:39:34 +08:00
He Junyan
b9b211c1d1
va: basetransform: Do not use allocator and pool from other display.
...
Just like the va decoder, the vpp and deinterlace should not use allocator
and pool from other display. Also, when importing the input buffer, if it
is from other display, we should fallback to memory copy.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1167
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3322 >
2022-11-05 13:39:34 +08:00
He Junyan
a8330686cb
va: basedec: Do not use allocator and pool from other display.
...
The command line such as:
gst-launch-1.0 -vf filesrc location=1.264 ! h264parse !
vah264dec ! varenderD129postproc ! fakesink
The decoder here gets the allocation proposal from the vpp which is
on another GPU device. The allocator and pool belong to other display
and should not be used in the decoder.
Fixes: https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1167
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3322 >
2022-11-05 13:39:34 +08:00
He Junyan
3875c420f7
libs: va: Add API to peek the va buffer's display.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3322 >
2022-11-05 13:39:34 +08:00
He Junyan
464650a5d0
libs: va: Add API to peek the va memory's display.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3322 >
2022-11-05 13:39:34 +08:00
He Junyan
b1a98433f8
libs: va: Add API to peek the allocator's display.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3322 >
2022-11-05 13:39:34 +08:00
He Junyan
028920cfc4
libs: va: Fix code style in gstvaallocator.h
...
Replace all tabs with spaces.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3322 >
2022-11-05 13:39:34 +08:00
Seungha Yang
4db4f08227
d3dvideosink: Update plugin description
...
Direct3D is too generic (there are various version numbers).
Clarify that this element is using the Direct3D9 API
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3333 >
2022-11-04 22:48:41 +00:00
Edward Hervey
f4d0537b3e
lv2: Don't leak plugin information on registration
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319 >
2022-11-04 17:59:21 +00:00
Edward Hervey
685a4aaaa7
ladspa: Don't leak plugin information on registration
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319 >
2022-11-04 17:59:21 +00:00
Edward Hervey
8ca2a2a230
fdkaacenc: Properly terminate GEnumValue table
...
It should be terminated with a NULL entry, otherwise we just stray into the
realms of cryptographic libraries^W^W random memory usage.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3319 >
2022-11-04 17:59:21 +00:00
Jan Alexander Steffens (heftig)
424b331afc
srt: Remove callers for which srt_bstats fails
...
This keeps them from accumulating in the element and in the stats while
the sink is not being fed, as long as we at least periodically grab
stats.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3156 >
2022-11-04 13:07:34 +00:00
Jan Alexander Steffens (heftig)
d575a41145
srt: Use simpler list operations for callers
...
Avoid `g_list_append` and `g_list_remove` (which have to scan the list)
and replace them with `g_list_prepend` and `g_list_delete_link`.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3156 >
2022-11-04 13:07:34 +00:00
Jan Alexander Steffens (heftig)
3c23c16f40
srt: Clean up poll/sock lifecycle
...
Make sure `srtobject->poll_id` is never invalid as long as `srtobject`
exists. Only remove our caller socket from it when the socket becomes
invalid.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3156 >
2022-11-04 13:07:34 +00:00
Jan Alexander Steffens (heftig)
4e05100e8c
srt: Clean up error handling
...
- Make the srt_epoll_wait loops more uniform.
- Error only via GError when possible; let the element send the error
message. Avoids a second error message.
- Return 0 when cancelled. Avoids an error message from the element.
- Don't send an error message from send_headers when we're a server
sink.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3156 >
2022-11-04 13:07:34 +00:00
Jan Alexander Steffens (heftig)
a3cc5cf257
srt: Simplify socket stats
...
Don't hide stats depending on whether we're a sending or receiving
socket. While we're here, add some more debug logs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3156 >
2022-11-04 13:07:34 +00:00
Jan Alexander Steffens (heftig)
b6974b6afc
srt: Replace stats accumulation with naive byte counting
...
srt_bstats cannot be used to get the stats of closed connections, so the
best we can do is keep the running count ourselves.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3156 >
2022-11-04 13:07:34 +00:00
Seungha Yang
bfed80a82c
directshow: Validate enumerated AM_MEDIA_TYPE struct
...
The video info struct can be null if format is undefined
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3323 >
2022-11-04 10:01:39 +00:00
Seungha Yang
6d46a9c3c7
examples: d3d11: Fix GCC build error/warning
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3318 >
2022-11-04 02:17:22 +09:00
Seungha Yang
f7cc753274
qsvjpegenc: Add support for YUY2 format
...
Now GstD3D11 defines YUY2 format
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3316 >
2022-11-03 06:40:10 +09:00
Seungha Yang
1853dd56a4
qsv: Add JPEG decoder
...
Because DXVA does not define JPEG decoding, we need this
vendor specific API for Windows
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3316 >
2022-11-03 06:40:10 +09:00
Seungha Yang
3f94df9487
d3d11: Add support for YUY2 format
...
YUY2 is a primary YUV 4:2:2 format for DXVA.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3316 >
2022-11-03 06:40:09 +09:00
Tong Wu
60f7467dfe
msdkcontext: use gst_object_unref instead of g_object_unref
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3301 >
2022-11-02 07:40:59 +00:00
Tong Wu
bae66c8ae0
msdkcontext: use gst_object_ref for GstVaDisplay
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3301 >
2022-11-02 07:40:59 +00:00
Tong Wu
c9cc92a20a
msdkcontext: g_object_new() must not return nullptr
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3301 >
2022-11-02 07:40:59 +00:00
Tong Wu
7b03da634b
msdkenc: use GST_CAPS_FEATURE_MEMORY_VA to check the feature
...
Add macros to protect sinkpad_is_va(), since it is not defined on
Windows.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3301 >
2022-11-02 07:40:59 +00:00
Guillaume Desmottes
a92f41e0c7
wpe: fix wpevideosrc gst-play example
...
wpe:// no longer works since 1.20, see wpesrc examples.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3306 >
2022-11-02 00:21:21 +00:00
Eric Knapp
87e9952b8f
vah264enc: Added option to insert CEA-708 closed captions
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2910 >
2022-11-01 23:22:03 +00:00
Seungha Yang
be1771126d
qsv: Check 16K resolution support
...
... and remove duplicated code
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3310 >
2022-11-01 17:23:52 +00:00
Marijn Suijten
31c23fb6c0
vulkan: Mark gst_vulkan_image_view_new create_info as constant pointer
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1615 >
2022-11-01 15:19:51 +01:00
Marijn Suijten
3d081c45be
vulkan: Remove unnecessary null checks
...
These null checkes are slightly misleading when double-checking
mutability for external language interop. None of the functions in
these files allow the variable at hand to become `NULL` under normal
operation, because they are checked at initialization and never (allowed
to be) reassigned to `NULL`.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1615 >
2022-11-01 15:19:51 +01:00
Marijn Suijten
ebe7517b8e
vulkan: Add missing (nullable)
annotation to Returns
...
Most of these functions already state they might return `%NULL`, but
this is not picked up by G-IR.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1615 >
2022-11-01 15:19:51 +01:00
Marijn Suijten
614cd87732
vulkan: Add missing array length
and (out)
annotation to parameters
...
Add `array length` annotation for `layouts` such that `n_layouts` is
properly marked as its length, and add `(out)` where a function returns
in that parameter.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1615 >
2022-11-01 15:19:51 +01:00
Seungha Yang
92e03ba869
d3d11decoder: Fix for VP9 decoding with odd resolution
...
Fixing off by one mismatch when width and/or height of stream
is odd number
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3302 >
2022-10-31 20:45:25 +00:00
Seungha Yang
5e66dde1b2
qsv: Add VP9 decoder
...
Recent Intel GPU supports 12bits VP9 decoding but only VP9
profile2 with 10bits is defined by DXVA spec.
Thus, we need this vendor specific decoder element
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3290 >
2022-10-31 19:30:47 +00:00
Seungha Yang
d8bdd9429b
d3d11vp9dec: Disallow Profile2 12bits stream
...
Since DXVA does not support the format, specify bit-depth field
to sinkpad template caps so that d3d11vp9dec can be skipped
during autoplugging
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3297 >
2022-10-31 11:29:39 +00:00
Seungha Yang
32b13a883a
vp9parse: Set subsampling to src caps even if GBR stream
...
Some muxer elements will need the subsampling information
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3297 >
2022-10-31 11:29:38 +00:00
Seungha Yang
47f1dc837f
vp9parse: Delaying src caps until frame is parsed if profile > 0
...
subsampling and/or bitdepth information will be required for
negotiation
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3297 >
2022-10-31 11:29:38 +00:00
Sanchayan Maity
da52bedbff
fdkaacenc: Update documentation to clarify bitrate and peak-bitrate
...
bitrate property is only applicable for constant bitrate and
peak-bitrate is only applicable for variable bitrate. Clarify
the same.
2022-10-30 16:54:51 +05:30
Sanchayan Maity
f0ceb9ea4f
fdkaacenc: Add support for setting bitrate mode
2022-10-30 16:54:51 +05:30
Sanchayan Maity
595dd7a1ed
fdkaacenc: Add support for setting peak bitrate
2022-10-29 16:04:42 +05:30
Sanchayan Maity
734593ccab
fdkaacenc: Add support for enabling afterburner
...
This is an additional quality parameter. In the default configuration this
quality switch is deactivated because it would cause a workload increase
which might be significant. If workload is not an issue in the application
it can be recommended to activate this feature.
2022-10-29 15:57:52 +05:30
Sanchayan Maity
a63d8ee720
fdkaacdec: Do not report decoding error for flush request
...
A flush request is done when set_format is called to empty internal bit
buffer maintained by fdk-aac. When this happens, during the explicit
call to handle_buffer, decodeFrame does not return a AAC_DEC_OK. This
gets reported as a decoding error while no decoding error in fact took
place. Since this can be confusing, just return a GST_FLOW_OK and log
that an explicit flush was requested.
2022-10-29 10:47:16 +05:30
Matthew Waters
f77f27f4c9
vp9parser: initialize subsampling to -1
...
The default value of 0 is a valid subsampling value and could be
confused with an 'unset' value.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3260 >
2022-10-28 00:06:07 +00:00
Víctor Manuel Jáquez Leal
96f0521155
vaencoder: Reset attribute index to one.
...
Further fix to 4ffb3663
where I forgot to reset the attribute index.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3285 >
2022-10-27 20:32:15 +00:00
Thibault Saunier
4f991a55af
adaptivedemux: Minor typo fix
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3159 >
2022-10-27 19:45:44 +00:00
Thibault Saunier
8a9821e805
dash: Fix computing repeat_index
when seeking in stream with a start !=0 on the first fragment
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3159 >
2022-10-27 19:45:44 +00:00
He Junyan
2408ca2f18
h265bitwriter: Correct the all API to byte aligned.
...
In fact, all the h265 bit writer have byte aligned output. So we
change the API from bit size in unit to byte size, which is easy
to use.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3193 >
2022-10-27 12:15:43 +00:00
He Junyan
c294ba82e6
h264bitwriter: Correct the all API to byte aligned.
...
In fact, all the h264 bit writer have byte aligned output except
the slice header. So we change the API from bit size in unit to
byte size, which is easy to use. For slice header, we add a extra
"trail_bits_num" to return the unaligned bits number.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3193 >
2022-10-27 12:15:43 +00:00
He Junyan
9dc76185fc
bitwriter: Fix a nal conversion bug when input is not byte aligned.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3193 >
2022-10-27 12:15:43 +00:00
Mengkejiergeli Ba
13be7cbe86
msdkvpp: Set va mem caps as higher priority
...
We use va pool as msdkvpp's bufferpool, which means both va memory
and dma memory will be allocated by va pool. Considering drm modifier
stuff is not ready, we use va memory with higher priortiry than
dma memory when deciding vpp caps.
Besides, this patch removes the specified "interlace-mode" in vpp caps.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3253 >
2022-10-27 11:12:08 +00:00
Mengkejiergeli Ba
c989d023fd
msdkav1enc: Remove reorder TU workaround
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3225 >
2022-10-27 07:07:38 +00:00
Mengkejiergeli Ba
78a7c6318a
msdkav1enc: Remove pts workaround
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3225 >
2022-10-27 07:07:38 +00:00
Seungha Yang
2c5a050ae7
codecparsers: {h264,h265}bitwriter: Don't install headers yet
...
Those APIs are quite early stage of development, and we might want to
change them in the near future
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3275 >
2022-10-27 06:15:56 +00:00
Mengkejiergeli Ba
2c1315cae9
msdkvpp: Fix upper frc
...
Refact vpp commit 4c6b719445
broke the
upper FRC, here to fix this by using outbuf_new.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3223 >
2022-10-27 05:17:12 +00:00
Mengkejiergeli Ba
27216d6f2e
bad: Add msdkav1enc docs
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2971 >
2022-10-27 04:02:10 +00:00
Nicolas Dufresne
8a8fe360a2
alphacombine: Add missing query handler for gaps
...
The gap handling was in place, but there was no event handler to trigger it.
Implement the alpha sink event handler for the gaps. This fixes handling of
valid streams which may not refresh the alpha frames for every video frames.
It will also allow a clean error if the stream was missing the initial
alpha frame, at least until we find a better way to handle these
invalid frames.
Related to #1518
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3264 >
2022-10-26 14:51:40 +00:00
Ignacio Casal Quinteiro
d44eb4b2fa
avfdeviceprovider: do not leak the properties
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3268 >
2022-10-26 10:29:25 +00:00
Víctor Manuel Jáquez Leal
ba24191f2a
vaencoder: Fix caps semantics.
...
When using gst_va_caps_from_profiles() the semantics of sink/src caps
depends if the element is an encoder or a decoder.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3063 >
2022-10-26 08:19:32 +00:00
Víctor Manuel Jáquez Leal
d32fdf975d
va: Fix typos.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3063 >
2022-10-26 08:19:32 +00:00
Víctor Manuel Jáquez Leal
4ffb3663a8
vah264enc: Fail if unsupported rate control.
...
Handle when encoder doesn't support rate control, which is set as
VA_RC_NONE, and if the set rate control mode is not supported by the
GStreamer element, the element configuration fails.
Also it logs out max and target bitrate.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3063 >
2022-10-26 08:19:32 +00:00
Víctor Manuel Jáquez Leal
5e531c1a88
vah264enc: Add todo item.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3063 >
2022-10-26 08:19:32 +00:00
Víctor Manuel Jáquez Leal
d463feaa08
vaencoder: Honor entrypoint at constructor.
...
The entrypoint is set when the encoder helper is constructed,
nonetheless it was also passed as parameter when opening. That's
buggy.
In order to simplify the code, the entrypoint at construction is
honored.
But gst_va_encoder_has_profile_and_entrypoint() now doesn't rely in
the internal list of profiles since it only contains those that
belongs to codec and entrypoint, thus it queries directly the VA
driver.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3063 >
2022-10-26 08:19:32 +00:00
Víctor Manuel Jáquez Leal
79c47fbdb8
vabaseenc: Scope error bail out.
...
Though this is not enforced by the GStreamer code style, it's clearer
to add a nested scope for error handling using label/goto.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3063 >
2022-10-26 08:19:32 +00:00
Víctor Manuel Jáquez Leal
d608872ba3
vabaseenc: Use class entrypoint.
...
Add a macro to access to class entrypoint and use it instead of move
it to a variable.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3063 >
2022-10-26 08:19:32 +00:00
Seungha Yang
e68645c2d2
d3d11: Move format defines to private header
...
Those defines will be likely changed/deleted in the future, and we
don't need to expose them to public at the moment
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3265 >
2022-10-26 02:55:34 +09:00
Sebastian Dröge
366893e9ac
Fix various warnings from gobject-introspection
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3261 >
2022-10-25 09:45:25 +03:00
Tim-Philipp Müller
e703374ff8
fdkaac: add minimal unit test
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1785 >
2022-10-25 00:13:05 +00:00
Tim-Philipp Müller
d7e2aff994
fdkaacenc: fix output caps in case of implicit signaling and HE-AAC
...
Need to put the actual profile in the output caps otherwise any
capsfilter after the encoder that was used to force the output
profile will fail, such as
fdkaacenc ! audio/mpeg,stream-format=adts,profile=he-aac-v1 ! ..
because we put profile=lc in there to match the profile signaled
in the ADTS header. This is expressed through the base-profile=lc
in the GStreamer caps though, the profile needs to carry the
'real' profile.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1785 >
2022-10-25 00:13:04 +00:00
Tim-Philipp Müller
24645e35c5
fdkaacenc: don't set base-profile=lc for non-backwards compatible output
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1785 >
2022-10-25 00:13:04 +00:00
Tim-Philipp Müller
31c04f87e3
fdkaacenc: rename profile=sbr|ps to profile=he-aac-v1|he-aac-v2
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1785 >
2022-10-25 00:13:04 +00:00
Piotrek Brzeziński
d8b1ff4668
fdkaacenc: add support for AAC-LD
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1785 >
2022-10-25 00:13:04 +00:00
Piotrek Brzeziński
8cda666cb0
fdkaacenc: add support for HE-AACv1 and HE-AACv2
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1785 >
2022-10-25 00:13:04 +00:00
Seungha Yang
4124c83e22
gst-plugins-bad: Update Windows plugins cache
...
Add/update d3d11, qsv, nvcodec, wic, directshow, and amfcodec plugins cache
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250 >
2022-10-24 12:42:52 +00:00
Seungha Yang
722f097b9d
nvcodec: Update for documentation
...
* Use GST_PARAM_DOC_SHOW_DEFAULT flags for GPU ID related
properties
* Fix some typos
* Add since markers
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250 >
2022-10-24 12:42:51 +00:00
Seungha Yang
7ce3fccf25
mediafoundation: Update for documentation
...
* Use GST_PARAM_DOC_SHOW_DEFAULT flags for GPU ID related
properties
* Add doc caps
* Add since markers
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250 >
2022-10-24 12:42:51 +00:00
Seungha Yang
9d926ae8b1
mfvideoencoder: Document only hardware encoders
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250 >
2022-10-24 12:42:51 +00:00
Seungha Yang
e9415aafb5
mfvideoencoder: Fix device enumeration
...
Although a GPU does not support the codec, the other GPU might
be able to support the codec
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250 >
2022-10-24 12:42:51 +00:00
Seungha Yang
d92c43cb0f
amfcodec: Update for documentation
...
* Use GST_PARAM_DOC_SHOW_DEFAULT flags for GPU ID related
properties
* Add doc caps
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250 >
2022-10-24 12:42:51 +00:00
Seungha Yang
4038a486a0
qsv: Use GST_PARAM_DOC_SHOW_DEFAULT flag
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250 >
2022-10-24 12:42:51 +00:00
Seungha Yang
6974b6f6ff
d3d11: Update for documentation
...
* Use GST_PARAM_DOC_SHOW_DEFAULT flags for GPU ID related
properties
* Add doc caps
* Increase deinterlace max resolution
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250 >
2022-10-24 12:42:51 +00:00
Seungha Yang
31be056b6e
d3d11: Run indent
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250 >
2022-10-24 12:42:51 +00:00
Seungha Yang
1ec4905e92
wic: Add since marker
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250 >
2022-10-24 12:42:51 +00:00
Seungha Yang
92fd435a25
directshow: Add since marker
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3250 >
2022-10-24 12:42:51 +00:00
Seungha Yang
23261bccbb
qsv: Enable MinGW toolchain support
...
Use PCRE regex method to work around (likely) GCC std::regex bug,
and enable building for non-MSVC
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3239 >
2022-10-24 10:53:40 +00:00
Nirbheek Chauhan
a083280a58
gl/vulkan: Fix static linking on macOS
...
duplicate symbol '__invoke_on_main' in:
/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstvulkan-1.0.a(cocoa_gstvkwindow_cocoa.m.o)
/Library/Frameworks/GStreamer.framework/Versions/1.0/lib/libgstgl-1.0.a(cocoa_gstglwindow_cocoa.m.o)
ld: 1 duplicate symbol for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Also make the same change in iOS for consistency.
Continuation of https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1132
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3242 >
2022-10-24 00:48:08 +00:00
Matthew Waters
0077d13304
webrtcbin: configure rtpulpfecdec passthrough property
...
This allows downstream (payloaders mostly) to be able to correctly
detect actual packet loss from rtp sequence numbers.
See
https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/581
for background.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1407
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3212 >
2022-10-23 23:44:07 +00:00
Seungha Yang
426535f3a6
d3d11screencapture: Add WinRT API based capture mode
...
Add Windows Graphics Capture (WGC) API based screen capture mode.
The conditions where this mode is used:
* Explicitly requested by user (capture-api property)
* To capture specific window
* When DXGI desktop duplication API does not work on hybrid graphics systems
(e.g., multi-gpu laptop)
Full features of this implementation require Windows 11. And Windows 11
SDK is required to build this feature.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3144 >
2022-10-21 14:21:28 +00:00
Seungha Yang
087e335006
d3d11screencapture: Subclassing capture implementation
...
Preparation to use WinRT capture API
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3144 >
2022-10-21 14:21:28 +00:00
Seungha Yang
dcd3f210a0
qsv: Add plugin doc
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2738 >
2022-10-21 21:29:25 +09:00
Seungha Yang
2b3f690355
qsv: Update SDK version to v2022.2.4
...
See release note
https://github.com/oneapi-src/oneVPL/releases/tag/v2022.2.0
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2738 >
2022-10-21 21:29:25 +09:00
He Junyan
242401915f
av1parse: Correct the pts for frames and OBUs inside a TU.
...
When the output alignment is smaller than the input alignment, for
example, When the output alignment is "FRAME" and the parse is likely
connecting to a decoder, the current PTS setting for AV1 frames inside
a TU is not very correct.
For example, a TU may begin with non-displayed frames and end with a
displayed frame. The current way will assign the PTS to the first
non-displayed frame, which is a decode-only frame and the PTS will be
discarded in the video decoder. While the last displayed frame has
invalid PTS, and so the video decoder needs to guess its PTS based on
the frame rate and previous frame's PTS. This is not a decent and
robust way. And more important, when the previous frames provide DTS,
the video decoder will also guess the PTS based on the previous frames'
DTS and trigger the warning like:
gstvideodecoder.c:3147:gst_video_decoder_prepare_finish_frame: \
<vavp9dec0> decreasing timestame
It sets the reordered_output and makes the decoder in free run mode.
We should correct the PTS for a TU, let the non-displayed frames have
no PTS while set the correct PTS to the displayed one. Also, when the
AV1 stream has multi spatial layers, there are more than one displayed
frames inside one TU with the same PTS.
Note: If the input alignment is not TU aligned, we can not know the
exact PTS of this TU, and so we just clear the PTS of the decode only
frame and leave others unchanged.
We also correct all the PTS if the output is OBU aligned. All their
PTS and DTS are set to the input buffer's PTS.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3182 >
2022-10-21 11:16:13 +00:00
He Junyan
a1f352196f
av1parse: Only check the TU bound when the alignment is TU.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3182 >
2022-10-21 11:16:13 +00:00
He Junyan
ee5d7ce075
av1parse: push all data once when input alignment not smaller than output.
...
When the incoming data has big alignment than the output, we do not need to
call finish_frame() and exit the current handle_frame() for each splitted
frame. We can push them all at one shot with in one handle_frame(), whcih
may improve the performance and can help us to find the edge of TU.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3182 >
2022-10-21 11:16:13 +00:00
He Junyan
b7d3a219ab
av1parse: Set the output buffer flags correctly.
...
The current code forgets to clear some flags and has some typo.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3182 >
2022-10-21 11:16:13 +00:00
Matthew Waters
a633f5d287
webrtcbin: also add rtcp-fb ccm fir for video mlines by default
...
In addition to the 'nack pli' already added. Both are supported by
rtpbin/rtpsession by default already.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3235 >
2022-10-21 01:02:34 +00:00
Sangchul Lee
0f05be382b
webrtcbin: Improve documentation of 'turn-server' property
...
Description about how to set time-limited credentials is added.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3229 >
2022-10-20 15:30:07 +00:00
Mathieu Duponchelle
11c74ccec6
fake{video|audio}sink: don't proxy properties at instance init.
...
Instead proxy properties from the GstBaseSink class at class_init time,
and duplicate the rest of the fakesink properties manually.
Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1442
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3073 >
2022-10-19 09:12:11 +00:00
Alba Mendez
4810008afa
webrtcbin: support adding TURN servers after pipeline start
...
Fixes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/1680
When a TURN server is added for the first time, propagate
the change to all nice streams that already exist. This
lets us add servers after the pipeline has been started
(and streams have been added).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3217 >
2022-10-19 07:23:42 +00:00
Fabian Orccon
50c6c54675
srtp: Fix test skipping when plugin option is disabled
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3200 >
2022-10-18 22:12:41 +00:00
Seungha Yang
573a0489f6
d3d11videosink: Add "emit-present" property
...
Controls the decision for "present" signal use, and
allows delayed "present" signal handler install via the property
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3176 >
2022-10-18 21:19:01 +00:00
Sebastian Dröge
f6898303a0
play: Add/fix various annotations
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3194 >
2022-10-18 13:51:17 +03:00