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