platform/upstream/gstreamer.git
2 years agourisourcebin: Document and rename fields
Edward Hervey [Tue, 25 Oct 2022 09:13:49 +0000 (11:13 +0200)]
urisourcebin: Document and rename fields

Removes ambiguity when reading the code

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2784>

2 years agourisourcebin: Remove unused lock/list
Edward Hervey [Tue, 25 Oct 2022 09:05:45 +0000 (11:05 +0200)]
urisourcebin: Remove unused lock/list

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2784>

2 years agourisourcebin: Check for live source when generating element
Edward Hervey [Tue, 25 Oct 2022 08:46:40 +0000 (10:46 +0200)]
urisourcebin: Check for live source when generating element

Instead of at a later stage

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2784>

2 years agourisourcebin: Streamline demuxer removal
Edward Hervey [Wed, 19 Oct 2022 10:28:41 +0000 (12:28 +0200)]
urisourcebin: Streamline demuxer removal

And since remove_source also removes the dmeuxer, we no longer need to call it
in addition

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2784>

2 years agourisourcebin: Clarify function name and arguments
Edward Hervey [Wed, 19 Oct 2022 09:03:03 +0000 (11:03 +0200)]
urisourcebin: Clarify function name and arguments

* The "need_queue" variable is only used in one place, move it there
* Clarify the fact the function also exposes raw_pads

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2784>

2 years agourisourcebin: Error out if a source doesn't expose pads
Edward Hervey [Wed, 19 Oct 2022 09:00:09 +0000 (11:00 +0200)]
urisourcebin: Error out if a source doesn't expose pads

Looks like this fell through the cracks. If a source element doesn't have
dynamic pads and doesn't provide any source pad ... we should properly error
out.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2784>

2 years agotsdemux: Push GST_EVENT_STREAM_COLLECTION
Edward Hervey [Wed, 2 Nov 2022 13:45:51 +0000 (14:45 +0100)]
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>

2 years agoadaptivedemux2: Notify that we are streams-aware
Edward Hervey [Wed, 26 Oct 2022 05:04:32 +0000 (07:04 +0200)]
adaptivedemux2: Notify that we are streams-aware

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2784>

2 years agov4l2codecs: Allow output caps to be updated
Nicolas Dufresne [Mon, 14 Nov 2022 20:53:00 +0000 (15:53 -0500)]
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>

2 years agonvdecoder: Handle input caps change
Seungha Yang [Sat, 5 Nov 2022 12:06:39 +0000 (21:06 +0900)]
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>

2 years agonvdecoder: Don't hold decoder output state
Seungha Yang [Sat, 5 Nov 2022 12:00:43 +0000 (21:00 +0900)]
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>

2 years agoexamples: Add test code to verify decoder caps update
Seungha Yang [Sat, 5 Nov 2022 11:16:21 +0000 (20:16 +0900)]
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>

2 years agod3d11decoder: Handle input caps change
Seungha Yang [Fri, 4 Nov 2022 17:47:54 +0000 (02:47 +0900)]
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>

2 years agocodecs: Keep track of non-decoding-essential input state change
Seungha Yang [Fri, 4 Nov 2022 16:07:02 +0000 (01:07 +0900)]
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>

2 years agoRevert "mpegtspacketizer: memcmp potentially seen_before data"
Edward Hervey [Wed, 16 Nov 2022 08:42:08 +0000 (09:42 +0100)]
Revert "mpegtspacketizer: memcmp potentially seen_before data"

This reverts commit fcad4cc646a23e4e621ec5e8485958ab78d98090.

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>

2 years agompegts: Check is program is identical before updating
Edward Hervey [Wed, 16 Nov 2022 08:29:59 +0000 (09:29 +0100)]
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>

2 years agortspsrc: Fix regression when using hostname in the location property
Nirbheek Chauhan [Wed, 16 Nov 2022 08:03:39 +0000 (13:33 +0530)]
rtspsrc: Fix regression when using hostname in the location property

When the address can't be parsed as an IP address, it should just be
treated as a hostname and used as-is.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1576

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3420>

2 years agoavviddec: Report a latency even without upstream framerate
Edward Hervey [Fri, 11 Nov 2022 08:06:55 +0000 (09:06 +0100)]
avviddec: Report a latency even without upstream framerate

There are cases where upstream will not provide a framerate, or it won't be
fixed. But if there is latency introduced by the decoder we do want to report
it.

Therefore use the framerate stored in the actual decoder, which will have a
default.

Fixes hangs when playing back such streams with decodebin3 (where the multiqueue
will not have been informed of that downstream latency and not grow accordingly)

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3391>

2 years agov4l2videodec: Fixes three H.264/HEVC ITU conformance tests
F. Duncanh [Mon, 14 Nov 2022 00:19:41 +0000 (19:19 -0500)]
v4l2videodec: Fixes three H.264/HEVC ITU conformance tests

Postpone the cleanup of any consecutive sequence of lost frames
which starts at frame 0, until frame 100 is dequeued from driver.

This allows fluster tests JVT/CVWP2_TOSHIBA_E, JVC/CVWP3_TOSHIBA_E
and HEVC/POC_A_Bossen_3 that sends out-of-order frames to successfully
complete  (e.g., test of Amphion vpu driver).

Fixes #1569

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3398>

2 years agortpjitterbuffer: Add test for rescheduling timers to negative times
Sebastian Dröge [Tue, 15 Nov 2022 15:26:18 +0000 (17:26 +0200)]
rtpjitterbuffer: Add test for rescheduling timers to negative times

This tests the changes introduced by 4d3b8d1129d8b863e4156cd0334e93257b9d0cc4
for issue #571.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3416>

2 years agortpjitterbuffer: Reschedule timers when updating their offset
Sebastian Dröge [Wed, 7 Sep 2022 08:07:40 +0000 (11:07 +0300)]
rtpjitterbuffer: Reschedule timers when updating their offset

As EXPECTED timers are skipped the order of the timers relative to each
other can change if there are EXPECTED timers and rescheduling needs to
happen.

Fixes https://gitlab.freedesktop.org/gstreamer/gstreamer/-/issues/1422

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3416>

2 years agowavparse: Do not run all typefinders for all output
Sanchayan Maity [Tue, 15 Nov 2022 15:52:17 +0000 (21:22 +0530)]
wavparse: Do not run all typefinders for all output

In order to figure out if the "raw" audio contained within the wav
container is actually DTS, wavparse calls the typefinder helper
except that means it runs all typefinders.

Since it only cares about checking for DTS, we should only run the
audio/x-dts typefinder (if present). Commit 858e516 did not really
fix things.

Use the new type helper with the caps to fix this.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3417>

2 years agotypefindhelper: Fix docs/annotations for the new functions
Sebastian Dröge [Tue, 15 Nov 2022 17:14:14 +0000 (19:14 +0200)]
typefindhelper: Fix docs/annotations for the new functions

Follow-up for https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3296

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3418>

2 years agortspsrc: Consistently set seqnums on events
Sebastian Dröge [Mon, 14 Nov 2022 19:19:12 +0000 (21:19 +0200)]
rtspsrc: Consistently set seqnums on events

Set udpsrc seqnums on all events sent to the udpsrc's, and before
forwarding events out of rtspsrc set the latest seek seqnum on them if
any.

Also produce a consistent seqnum in rtspsrc from the very beginning.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3409>

2 years agortspsrc: Make segment event writable before overriding the seqnum and use the proper...
Sebastian Dröge [Mon, 14 Nov 2022 17:14:27 +0000 (19:14 +0200)]
rtspsrc: Make segment event writable before overriding the seqnum and use the proper API to do so

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3409>

2 years agortspsrc: Intercept and handle events when using no manager too
Sebastian Dröge [Mon, 14 Nov 2022 17:10:05 +0000 (19:10 +0200)]
rtspsrc: Intercept and handle events when using no manager too

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3409>

2 years agortspsrc: Don't blindly copy over sticky events from manager pad to external source pad
Sebastian Dröge [Mon, 14 Nov 2022 17:08:54 +0000 (19:08 +0200)]
rtspsrc: Don't blindly copy over sticky events from manager pad to external source pad

This would get around the code that modifies some events when they go
through the ghost pad's proxypad. Instead go via the event function.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3409>

2 years agortspsrc: Don't make udpsrc segment events writable just to retrieve their seqnum
Sebastian Dröge [Mon, 14 Nov 2022 17:03:21 +0000 (19:03 +0200)]
rtspsrc: Don't make udpsrc segment events writable just to retrieve their seqnum

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3409>

2 years agortspsrc: Reset EOS flag also on FLUSH_STOP and not only on ssrc-active
Sebastian Dröge [Mon, 14 Nov 2022 16:40:56 +0000 (18:40 +0200)]
rtspsrc: Reset EOS flag also on FLUSH_STOP and not only on ssrc-active

Also don't bother not sending EOS if EOS was sent already:
gst_pad_push_event() takes care of that for us already.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3409>

2 years agopbutils: Fix vp9 mime mapping when caps when no chroma-site.
Víctor Manuel Jáquez Leal [Mon, 14 Nov 2022 11:44:05 +0000 (12:44 +0100)]
pbutils: Fix vp9 mime mapping when caps when no chroma-site.

It's possible to have 4:2:0 chroma format without chroma-site in caps, but it
isn't validated by the current code. This patch fixes it.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3405>

2 years agogdkpixbufoverlay: fix docs - changing images at runtime is supported
Tim-Philipp Müller [Tue, 15 Nov 2022 13:38:18 +0000 (13:38 +0000)]
gdkpixbufoverlay: fix docs - changing images at runtime is supported

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3415>

2 years agovideodecoder: Consider having output data when the subclass drops a frame
Sebastian Dröge [Mon, 14 Nov 2022 18:38:09 +0000 (20:38 +0200)]
videodecoder: Consider having output data when the subclass drops a frame

The subclass might drop a frame for QoS reasons (e.g. vpxdec) and if all
frames are dropped because of that it wouldn't make sense to post an
error message on EOS.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3408>

2 years agocodectimestamper: Remove duplicated GstSegment struct
Seungha Yang [Tue, 15 Nov 2022 18:15:44 +0000 (03:15 +0900)]
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>

2 years agoh264/5timestamper: provide a workaround for h264/5parse producing pts=NONE buffers
Matthew Waters [Wed, 9 Nov 2022 07:03:48 +0000 (18:03 +1100)]
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>

2 years agortpjitterbuffer: Unlock timer waits on flushing
Edward Hervey [Sun, 13 Nov 2022 07:38:25 +0000 (08:38 +0100)]
rtpjitterbuffer: Unlock timer waits on flushing

If there is a pending EOS wait for example, we would never unblock on flushing

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3401>

2 years agoinspect: Print default value of ValueArray properties
Thibault Saunier [Wed, 9 Nov 2022 19:57:15 +0000 (16:57 -0300)]
inspect: Print default value of ValueArray properties

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3377>

2 years agonvcodec: Update plugin cache
Seungha Yang [Fri, 11 Nov 2022 21:16:59 +0000 (06:16 +0900)]
nvcodec: Update plugin cache

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3389>

2 years agotests: cudaconvert: Update test code
Seungha Yang [Fri, 11 Nov 2022 20:45:15 +0000 (05:45 +0900)]
tests: cudaconvert: Update test code

Adding more formats, and rescale test with borders

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3389>

2 years agocudaconvertscale, cudascale: Add "add-borders" property and support 8bits RGB planar...
Seungha Yang [Fri, 11 Nov 2022 19:48:50 +0000 (04:48 +0900)]
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>

2 years agocuda: Rewrite colorspace/rescale object
Seungha Yang [Fri, 11 Nov 2022 19:06:32 +0000 (04:06 +0900)]
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>

2 years agocudaupload,cudadownload: Add support for planar 8bits RGB formats
Seungha Yang [Thu, 10 Nov 2022 10:38:03 +0000 (19:38 +0900)]
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>

2 years agocudacontext: Store texture alignment
Seungha Yang [Thu, 10 Nov 2022 11:47:44 +0000 (20:47 +0900)]
cudacontext: Store texture alignment

it was missed in the previous refactoring

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3389>

2 years agocudaconvert, cudascale: Port to GstCudaBaseCovert baseclass
Seungha Yang [Fri, 11 Nov 2022 19:01:08 +0000 (04:01 +0900)]
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>

2 years agocuda: Add convertscale element
Seungha Yang [Wed, 9 Nov 2022 12:31:01 +0000 (21:31 +0900)]
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>

2 years agotypefindhelper: Use the new GstTypeFind * API
Sanchayan Maity [Mon, 31 Oct 2022 13:39:06 +0000 (19:09 +0530)]
typefindhelper: Use the new GstTypeFind * API

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3296>

2 years agotypefindhelper: Introduce a new API for working with a GstTypeFind *
Sanchayan Maity [Mon, 31 Oct 2022 13:03:19 +0000 (18:33 +0530)]
typefindhelper: Introduce a new API for working with a GstTypeFind *

Introduce a new API that can return a GstTypeFind * with helper functions
and data set around buffer data.

While at it, drop factory field from GstTypeFindBufHelper. While it was
useful for logging, it was not passed through function arguments and keeping
it for logging would require an additional API increasing the API surface
and making it harder to use.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3296>

2 years agotypefindhelper: Add helpers to improve type finding given the caps
Sanchayan Maity [Tue, 15 Nov 2022 09:15:56 +0000 (14:45 +0530)]
typefindhelper: Add helpers to improve type finding given the caps

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3296>

2 years agotypefindhelper: Update annotation for function parameters
Sanchayan Maity [Sun, 30 Oct 2022 07:37:14 +0000 (13:07 +0530)]
typefindhelper: Update annotation for function parameters

Fix the nullable/optional situation. allow-none is deprecated and
replaced by either or both of the others.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3296>

2 years agovalidate-scenario: Avoid timeouts on EOS
Edward Hervey [Mon, 14 Nov 2022 06:27:28 +0000 (07:27 +0100)]
validate-scenario: Avoid timeouts on EOS

If there is an EOS and the next action is waiting for a playback time, execute
it since we are guaranteed the position won't change anymore.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3403>

2 years agogstplay: add warning message details check before post it
Elliot Chen [Thu, 10 Nov 2022 06:39:12 +0000 (14:39 +0800)]
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>

2 years agotests: Add DASH MPD baseURL with query test
Rafał Dzięgiel [Thu, 14 Oct 2021 09:56:58 +0000 (11:56 +0200)]
tests: Add DASH MPD baseURL with query test

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/1147>

2 years agompdparser: Fix missing baseURL query
Rafał Dzięgiel [Thu, 14 Oct 2021 08:12:51 +0000 (10:12 +0200)]
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>

2 years agompdparser: Be consistent about returning duplicated URL
Rafał Dzięgiel [Thu, 14 Oct 2021 08:09:31 +0000 (10:09 +0200)]
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>

2 years agompdparser: Return correct mediaURL value
Rafał Dzięgiel [Thu, 14 Oct 2021 08:18:40 +0000 (10:18 +0200)]
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>

2 years agod3d11converter: Fix YUY2 conversion error
Seungha Yang [Sat, 12 Nov 2022 17:08:15 +0000 (02:08 +0900)]
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>

2 years agod3d11: Add support for planar RGB formats
Seungha Yang [Sat, 12 Nov 2022 13:55:52 +0000 (22:55 +0900)]
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>

2 years agod3d11screencapturesrc: Update plugin cache
Seungha Yang [Sat, 12 Nov 2022 17:28:42 +0000 (02:28 +0900)]
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>

2 years agooggdemux: Don't leak incoming EOS event
Edward Hervey [Mon, 14 Nov 2022 06:26:25 +0000 (07:26 +0100)]
oggdemux: Don't leak incoming EOS event

If we're going to drop it ... then do drop it :)

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3400>

2 years agomatroskademux: Handle element's duration query.
Víctor Manuel Jáquez Leal [Mon, 14 Nov 2022 11:51:19 +0000 (12:51 +0100)]
matroskademux: Handle element's duration query.

This is small regression from commit f7abd81a.

When calling `gst_element_query()` no pad is associated with that query, but the
current code always forwards the query to the associated pad, which is NULL in
previous case. This patch checks for the pad before forwarding the query.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3404>

2 years agoaesdec: Fix padding removal for per-buffer-padding=FALSE
Jan Schmidt [Mon, 14 Nov 2022 13:11:15 +0000 (00:11 +1100)]
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>

2 years agoadaptivedemux2: Fix parent object leak
Rafał Dzięgiel [Sun, 13 Nov 2022 11:18:54 +0000 (12:18 +0100)]
adaptivedemux2: Fix parent object leak

gst_object_get_parent() method is transfer-full, thus unref is needed

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3396>

2 years agopbutils/encoding-profile: Streamline cleanup
Edward Hervey [Sat, 12 Nov 2022 10:35:58 +0000 (11:35 +0100)]
pbutils/encoding-profile: Streamline cleanup

Cleanup all local variables in one place, and ensure failure cases go through there.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390>

2 years agoavvidenc: Don't leak AVPacket on EOF
Edward Hervey [Sat, 12 Nov 2022 08:54:31 +0000 (09:54 +0100)]
avvidenc: Don't leak AVPacket on EOF

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390>

2 years agoavcfg: Don't leak the support GArray when registering flag/enums
Edward Hervey [Sat, 12 Nov 2022 08:53:14 +0000 (09:53 +0100)]
avcfg: Don't leak the support GArray when registering flag/enums

* Only create it if we are attempting to put values in it
* If we sucessfully registered the values, only free the GArray
* IF we didn't, also free the backing memory

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390>

2 years agotranscodebin: Use const arguments for clarity
Edward Hervey [Sat, 12 Nov 2022 08:16:36 +0000 (09:16 +0100)]
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>

2 years agotranscodebin: Don't leak GstStream
Edward Hervey [Sat, 12 Nov 2022 08:15:23 +0000 (09:15 +0100)]
transcodebin: Don't leak GstStream

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390>

2 years agotranscode: Don't leak caps
Edward Hervey [Sat, 12 Nov 2022 07:35:27 +0000 (08:35 +0100)]
transcode: Don't leak caps

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390>

2 years agotranscode: Don't leak timer
Edward Hervey [Sat, 12 Nov 2022 07:35:12 +0000 (08:35 +0100)]
transcode: Don't leak timer

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390>

2 years agovalidate-scenario: Don't leak GFile
Edward Hervey [Sat, 12 Nov 2022 07:18:42 +0000 (08:18 +0100)]
validate-scenario: Don't leak GFile

And use specific variables for clarity in loops.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390>

2 years agovalidate: Don't leak discoverer information
Edward Hervey [Sat, 12 Nov 2022 09:40:22 +0000 (10:40 +0100)]
validate: Don't leak discoverer information

The various streaminfo were being overwritten without being unreffed first

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390>

2 years agompegtsbase: Don't leak GList
Edward Hervey [Fri, 11 Nov 2022 13:37:17 +0000 (14:37 +0100)]
mpegtsbase: Don't leak GList

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390>

2 years agovalidate: Don't deinit too early
Edward Hervey [Fri, 11 Nov 2022 13:19:15 +0000 (14:19 +0100)]
validate: Don't deinit too early

If we are going to use the validate functions ... do that *before*
deinit'ing.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390>

2 years agostreamsynchronizer: Don't leak the syncstream object
Edward Hervey [Fri, 11 Nov 2022 13:18:21 +0000 (14:18 +0100)]
streamsynchronizer: Don't leak the syncstream object

It was leaked when breaking out early when handling GST_EVENT_STREAM_START

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390>

2 years agouritranscodebin: Don't leak uris, profile, sinkpad and filters
Edward Hervey [Sat, 12 Nov 2022 09:04:39 +0000 (10:04 +0100)]
uritranscodebin: Don't leak uris, profile, sinkpad and filters

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390>

2 years agotranscodebin: Don't leak profile
Edward Hervey [Sat, 12 Nov 2022 09:04:26 +0000 (10:04 +0100)]
transcodebin: Don't leak profile

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390>

2 years agotranscodebin: Actually free the TranscodingStream structure
Edward Hervey [Sat, 12 Nov 2022 09:03:48 +0000 (10:03 +0100)]
transcodebin: Actually free the TranscodingStream structure

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390>

2 years agotranscoder: Don't leak API bus and GMainLoop
Edward Hervey [Sat, 12 Nov 2022 09:02:53 +0000 (10:02 +0100)]
transcoder: Don't leak API bus and GMainLoop

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390>

2 years agoavvidenc: Don't leak filename
Edward Hervey [Sat, 12 Nov 2022 09:02:15 +0000 (10:02 +0100)]
avvidenc: Don't leak filename

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390>

2 years agoencodebasebin: Don't leak muxer pad
Edward Hervey [Sat, 12 Nov 2022 09:00:01 +0000 (10:00 +0100)]
encodebasebin: Don't leak muxer pad

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390>

2 years agopbutils/encoding-profile: Don't leak string array
Edward Hervey [Sat, 12 Nov 2022 08:58:41 +0000 (09:58 +0100)]
pbutils/encoding-profile: Don't leak string array

It was never freed

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390>

2 years agostreams: Reset stream id field on finalize
Edward Hervey [Sat, 12 Nov 2022 08:57:18 +0000 (09:57 +0100)]
streams: Reset stream id field on finalize

If debugging is activated, the parent class finalize might attempt to read it

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3390>

2 years agomeson: d3d11: Clarify the message for WGC support check
Seungha Yang [Wed, 9 Nov 2022 18:23:53 +0000 (03:23 +0900)]
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>

2 years agod3d11screencapturesrc: Fix build error with MSVC x86
Seungha Yang [Wed, 9 Nov 2022 17:49:38 +0000 (02:49 +0900)]
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>

2 years agoUpdated the Pango broken link
Taruntej Kanakamalla [Thu, 7 Jul 2022 06:55:14 +0000 (06:55 +0000)]
Updated the Pango broken link

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2723>

2 years agoUpdated the GObject tutorial link
Taruntej Kanakamalla [Thu, 7 Jul 2022 06:21:07 +0000 (06:21 +0000)]
Updated the GObject tutorial link

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/2723>

2 years agorawvideoparse: Fix support for sub-sampled tile
Nicolas Dufresne [Thu, 10 Nov 2022 14:49:41 +0000 (09:49 -0500)]
rawvideoparse: Fix support for sub-sampled tile

This element was missed as it does not use the new helpers to calculate the
plane size. The code is relatively simple though, so adding support for
subsample tiles was easy enough.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3385>

2 years agowebrtc/datachannel: handle error messages from appsrc/sink
Matthew Waters [Thu, 10 Nov 2022 03:31:43 +0000 (14:31 +1100)]
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>

2 years agosctpdec: fix stream reset (src pad removal) if no data is ever received
Matthew Waters [Thu, 10 Nov 2022 03:22:30 +0000 (14:22 +1100)]
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>

2 years agotest: Correct the test suite name of the h264 and h265 bitwriter.
He Junyan [Tue, 19 Jul 2022 09:42:12 +0000 (17:42 +0800)]
test: Correct the test suite name of the h264 and h265 bitwriter.

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3384>

2 years agovideocrop, videobox: Simplify navigation event handling and support touch events
Colin Kinloch [Mon, 10 Oct 2022 18:58:12 +0000 (19:58 +0100)]
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>

2 years agova: Fix vapostproc navigation event co-ordinate mapping
Colin Kinloch [Fri, 23 Sep 2022 18:29:31 +0000 (19:29 +0100)]
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>

2 years agovaapi: Use gst_video_orientation_from_tag to parse orientation
Colin Kinloch [Tue, 20 Sep 2022 16:39:39 +0000 (17:39 +0100)]
vaapi: 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>

2 years agovideoflip: Use gst_video_orientation_from_tag to parse orientation
Colin Kinloch [Mon, 19 Sep 2022 17:06:44 +0000 (18:06 +0100)]
videoflip: 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>

2 years agova: Use gst_video_orientation_from_tag to parse orientation
Colin Kinloch [Mon, 19 Sep 2022 17:05:28 +0000 (18:05 +0100)]
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>

2 years agomsdkvpp: delete the macros to make video memory work on Windows
Tong Wu [Wed, 7 Sep 2022 08:26:22 +0000 (16:26 +0800)]
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>

2 years agomsdkvpp: modify the way of copying system memory to msdk surface
Tong Wu [Wed, 7 Sep 2022 07:29:37 +0000 (15:29 +0800)]
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>

2 years agomsdkvpp: add d3d11 support during negotiation
Tong Wu [Wed, 7 Sep 2022 02:55:57 +0000 (10:55 +0800)]
msdkvpp: add d3d11 support during negotiation

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231>

2 years agomsdkvpp: add d3d11 video memory to sink and src caps
Tong Wu [Fri, 2 Sep 2022 08:03:09 +0000 (16:03 +0800)]
msdkvpp: add d3d11 video memory to sink and src caps

Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3231>

2 years agomsdkvpp: delete use_sinkpad_va and use_srcpad_va
Tong Wu [Wed, 7 Sep 2022 02:44:16 +0000 (10:44 +0800)]
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>

2 years agomsdkenc: modify the way of copying system memory to msdk surface
Tong Wu [Fri, 26 Aug 2022 08:19:33 +0000 (16:19 +0800)]
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>