summaryrefslogtreecommitdiff
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* Use gst_element_request_pad_simple...François Laignel2021-05-057-15/+15
| | | | | | Instead of the deprecated gst_element_get_request_pad. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2180>
* tests/netsim: Set src caps before creating buffersDoug Nazar2021-04-211-1/+3
| | | | | | | GstHarness requires the source pad caps to be set before buffer allocations. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2179>
* d3d11: Add support for BGRx and RGBx formatsSeungha Yang2021-04-211-4/+4
| | | | | | | For such formats, we can re-use existing BGRA/RGBA implementations but ignoring alpha channel Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2174>
* webrtcbin test: Don't fail if data channel is createdOlivier Crête2021-04-211-0/+2
| | | | | | In tests that voluntarily create a data channel. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2168>
* tests/avtp: increase timeout of test_depayloader_fragmented_bigDoug Nazar2021-04-141-3/+6
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2160>
* check: fix dash_mpdparser_check_mpd_client_set_methods test.Doug Nazar2021-04-141-2/+2
| | | | | | | Setting guint64 valist properties without type specifier fails on 32bit archs. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2161>
* line21enc: fix remove-caption-meta property testDoug Nazar2021-04-131-4/+43
| | | | | | | It's possible for the same address to be allocated to the decoded metadata. Switch test to actual detect if it was removed. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2159>
* tests: fix shm test deadlockDoug Nazar2021-04-131-2/+2
| | | | | | | | Stopping the consumer first would occasionally allow the producer to fill the shm segment causing it to block in send() and unable to be stopped. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2158>
* check: Fix test dash_mpdparser_xlink_periodDoug Nazar2021-04-131-1/+1
| | | | | | | | | | | Test used http://404/ERROR/XML.period as an invalid url. Curl now interprets that as an 32bit int and tries an actual connect which timesout. Use .invalid as an IANA reserved domain for invalid DNS. curl -v http://404/ERROR/XML.period * Trying 0.0.1.148:80... Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2157>
* webrtcbin test: Wait for set-local-desc & set-remote-desc to continueOlivier Crête2021-04-121-10/+12
| | | | | | | | To avoid racing betwen the SDPs being set and the next step of the test, let's wait for setting the SDP both locally and remotely to succeed. of the test Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
* webrtcbin test: Add for the case where a second m-line is renegotiatedOlivier Crête2021-04-121-9/+102
| | | | | | | | | This is for the case where there answerer forces a specific media type for a m-line, but he origin offer only has the other media type. In this case, we will create a second transceiver on receiving the offer and add the desired media type using renegotiation. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
* webrtc test: Verify that forcing different kinds on peers failsOlivier Crête2021-04-121-0/+69
| | | | | | | If the offer contains an audio kind and a video kind, forcing them both at m-line zero will fail. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
* webrtc tests: Verify that create-offer is rejected when neededOlivier Crête2021-04-121-0/+80
| | | | | | | Verify that it gets rejected if a m-line at index 1 is requested but there is no m-line 0. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
* webrtcbin test: Add test for various cases where get_request_pad is meant to ↵Olivier Crête2021-04-121-0/+93
| | | | | | | | fail This should ensure that the recently added code works. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
* webrtcbin: Try to match an existing transceiver on pad requestOlivier Crête2021-04-121-0/+1
| | | | | | This should avoid creating extra transceivers that are duplicated. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
* webrtcbin test: Test adding a stream to a stream+datachannelOlivier Crête2021-04-121-1/+71
| | | | | | | This use-case was previously broken by the expectation of having a 1-1 match between the pad id and the m-line index Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2104>
* h2645parser: Catch overflows in AVC/HEVC NAL unit length calculationsSebastian Dröge2021-03-242-0/+120
| | | | | | | | | | | | | | | | | | | Offset and size are stored as 32 bit guint and might overflow when adding the nal_length_size, so let's avoid that. For the size this would happen if the AVC/HEVC NAL unit size happens to be stored in 4 bytes and is 4294967292 or higher, which is likely corrupted data anyway. For the offset this is something for the caller of these functions to take care of but is unlikely to happen as it would require parsing on a >4GB buffer. Allowing these overflows causes all kinds of follow-up bugs in the h2645parse elements, ranging from infinite loops and memory leaks to potential memory corruptions. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2103>
* gst: don't use volatile to mean atomicMatthew Waters2021-03-221-2/+2
| | | | | | | | | | | | volatile is not sufficient to provide atomic guarantees and real atomics should be used instead. GCC 11 has started warning about using volatile with atomic operations. https://gitlab.gnome.org/GNOME/glib/-/merge_requests/1719 Discovered in https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/issues/868 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2098>
* tests/webrtc: check for more sdp things across the boardMatthew Waters2021-03-191-245/+501
| | | | | | | | | | | e.g. - test for a=setup:$val and direction attributes in all tests - test number of media sections - test number of formats in each m= section (for audio/video) - test no duplicate formats Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2093>
* examples: Add an mpegtsmux example of prog-map usage.Jan Schmidt2021-03-182-1/+100
| | | | | | | | Add an example of how to construct the prog-map structure for the MPEG-TS muxers and assign streams to programs, and set PCR and PMT PIDs. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2039>
* cccombiner: implement schedulingMathieu Duponchelle2021-03-171-92/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Prior to that, cccombiner's behaviour was essentially that of a funnel: it strictly looked at input timestamps to associate together video and caption buffers. This patch instead exposes a "schedule" property, with a default of TRUE, to control whether caption buffers should be smoothly scheduled, in order to have exactly one per output video buffer. This can involve rewriting input captions, for example when the input is CDP sequence counters are rewritten, time codes are dropped and potentially re-injected if the input video frame had a time code meta. Caption buffers may also get split up in order to assign captions to the correct field when the input is interlaced. This can also imply that the input will drift from synchronization, when there isn't enough padding in the input stream to catch up. In that case the element will start dropping old caption buffers once the number of buffers in its internal queue reaches a certain limit (configurable). The property is exposed so that existing users of cccombiner can revert back to the original behaviour, but should eventually be removed, as that behaviour was simply inadequate. This commit also disallows changing the input caption type, as this would needlessly complicate implementation, and removes the corresponding test. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2076>
* va: example: multiple-vpp: test sharpen with dynamic controllerVíctor Manuel Jáquez Leal2021-03-162-4/+52
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2082>
* va: example: multiple-vpp: test direction changeVíctor Manuel Jáquez Leal2021-03-121-1/+57
| | | | | | | | | | If the driver supports it (iHD, so far) and the parameter -d is set, the direction of the video will be changed randomly. In the code you can select, at compilation time, if the direction change is done by element's property or by pipeline events. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2074>
* zxing: update to support version 1.1.1Stéphane Cerveau2021-03-121-18/+15
| | | | | | | | Support new API in 1.1.1 Update the supported input video format. Update tests to use parse_launch Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2037>
* play: tests: Switch user-agent test to a real HTTP serverPhilippe Normand2021-03-092-7/+175
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2061>
* play: tests: Refactor to use new Message bus APIPhilippe Normand2021-03-092-599/+524
| | | | | | | | | Instead of relying on an extra GMainLoop, the messages are poped from the player bus and handled synchronously. This should avoid flaky behaviors. Fixes #608 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2061>
* webrtc: don't generate duplicate rtx payloads when bundle-policy is setMatthew Waters2021-03-091-0/+94
| | | | | | | | | | | | | | | | It was possible to generate a SDP that had an RTX payload type that matched one of the media payload types when providing caps via codec_preferences without any sink pads. Fixes m=video 9 UDP/TLS/RTP/SAVPF 96 ... a=rtpmap:96 VP8/90000 a=rtcp-fb:96 nack pli a=fmtp:96 apt=96 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2046>
* tests: Add negotiation tests for the interlace elementsVivia Nikolaidou2021-03-082-0/+217
| | | | | | Many complicated cases exist. Would be good to have some checks. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2062>
* webrtc ice: Add 'min/max-rtp-port' props for setting RTP port rangeIlya Kreymer2021-03-011-1/+74
| | | | | | | | | default min port == 0, max port == 65535 -- if min port == 0, uses existing random port selection (range ignored) add 'gathering_started' flag to avoid changing ports after gathering has started validity checks: min port <= max port enforced, error thrown otherwise include tests to ensure port range is being utilized (by @hhardy) Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/119>
* va: vpp: implement GstColorBalance interfaceVíctor Manuel Jáquez Leal2021-02-252-5/+37
| | | | | | And modify multiple-vpp example to use it with -r parameter. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2033>
* h264parse: don't invalidate the last PPS when parsing a new SPSMichael Olbrich2021-02-171-0/+70
| | | | | | | | | | | | When a SPS is received then any previous PPS remains valid. So don't clear the PPS flag from the parser state. This is important because there are encoders that don't generated a PPS after every SPS. Closes https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/issues/571 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2019>
* va: add multiple-vpp exampleVíctor Manuel Jáquez Leal2021-02-172-0/+266
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2015>
* examples: Add d3d11videosink examples for shared-texture use casesSeungha Yang2021-01-265-0/+1317
| | | | | | | | | | | | | | | | Add two examples to demonstrate "draw-on-shared-texture" use cases. d3d11videosink will draw application's own texture without copy by using: - Enable "draw-on-shared-texture" property - make use of "begin-draw" and "draw" signals And then, application will render the shared application's texture to swapchain's backbuffer by using 1) Direct3D11 APIs 2) Or, Direct3D9Ex + interop APIs Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1873>
* test: Add more test cases for the av1parse obu aligned output.He Junyan2021-01-262-0/+118
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1979>
* test: Add test cases for av1parse element.He Junyan2021-01-193-0/+2060
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1614>
* meson: va: Skip configuration on non-linux environmentSeungha Yang2021-01-071-0/+4
| | | | | | | | VA plugin is linux-only plugin, so we can skip it earlier. Note that this plugin is making use of libdrm meson fallback, which is unusable on the other platforms such as Windows Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1946>
* examples/ts-parser: Use the section type for descriptor identificationEdward Hervey2020-12-141-248/+275
| | | | | | Some descriptors can only be present in some section Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1880>
* examples/ts-parser: Try more descriptor/stream typesEdward Hervey2020-12-141-0/+10
| | | | | | These were added recently Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1880>
* mpegts: Add support for SIT sectionsEdward Hervey2020-12-141-0/+26
| | | | | | Selection Information Tables (EN 300 468) Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1852>
* d3d11: Add support for packed 4:2:2 and 4:4:4 10bits formatsSeungha Yang2020-11-201-2/+2
| | | | | | | | Add support for Y210 and Y410 formats which are commonly used format for en/decoders on Windows. Note that those formats cannot be used for render target (output) of shader. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1821>
* test: av1parser: update the test result because of bug fixing.He Junyan2020-11-171-8/+8
| | | | Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1464>
* examples: Properly handle extended descriptorsEdward Hervey2020-11-091-5/+14
| | | | | | | By checking the extended tag. Provides a bit more information (if extended tag is known) Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1781>
* tests: Don't set dtlsenc state before linking.Jan Schmidt2020-10-311-1/+2
| | | | | | | Link the dtlsenc in the testsuite before setting it to paused, as it starts a pad task that can generate a not-linked error otherwise. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1744>
* dtls: Catch bus errors and fail instead of hanging.Jan Schmidt2020-10-311-1/+32
| | | | | | | | If the DTLS elements fail, they post a bus error and don't signal any key negotiation. Catch the bus error and fail the test early instead of letting it hang and time out. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1741>
* tests: Add CUDA filter unit testsSeungha Yang2020-10-163-0/+386
| | | | | | Adding a test for buffer meta and colorspace conversion Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1633>
* tests: svthevcenc: Fix test_encode_simpleJan Alexander Steffens (heftig)2020-10-101-1/+1
| | | | | | | Pick the same I420 format the other test use. Without this, the source picks AYUV64, which fails. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1573>
* tests/avtp: Fix coverity issuesEderson de Souza2020-09-283-5/+8
| | | | | | | | Fixes sign extension issues, unchecked return values and some constant expression results. CID: 1465073, 1465074, 1465075, 1465076, 1465077 Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1398>
* d3d11: Add support for packed 8bits 4:2:2 YUV formatsSeungha Yang2020-09-181-2/+48
| | | | | | | | | Note that newly added formats (YUY2, UYVY, and VYUY) are not supported render target view formats. So such formats can be only input of d3d11convert or d3d11videosink. Another note is that YUY2 format is a very common format for hardware en/decoders on Windows. Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1581>
* h265parse: recognize more HEVC extension streamsHaihao Xiang2020-09-161-30/+48
| | | | | | | | | | | | There are streams which have the right general_profile_idc and general_profile_compatibility_flag, but don't have the right extension flags. We may try to use chroma_format_idc and bit_depth to recognize these streams. e.g. https://www.itu.int/wftp3/av-arch/jctvc-site/bitstream_exchange/draft_conformance/SCC/IBF_Disabled_A_MediaTek_2.zip Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1328>
* h265parser: select the right profile for high throughput SCC streamHaihao Xiang2020-09-161-2/+1
| | | | | | | | | | | | | | Currently screen-extended-high-throughput-444 is recognized as screen-extended-main-444, screen-extended-high-throughput-444-10 is recognized as screen-extended-main-444-10 because they have the same extension flags, so without this patch, it is possible that a decoder which supports SCC but doesn't support throughput SCC will try to decode a throughput SCC stream. e.g. https://www.itu.int/wftp3/av-arch/jctvc-site/bitstream_exchange/draft_conformance/SCC/HT_A_SCC_Apple_2.zip Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1328>