Commit graph

1511 commits

Author SHA1 Message Date
Antonio Ospite f8bed33d4b test: add subparse test for SRT subtitles with no newline at the end
Add a test to verify that SRT subtitles work even if the last chunk does
not have an empty line after it.
2019-05-06 13:28:02 +02:00
Antonio Ospite 1c454fdafc subparse: fix pushing WebVTT cue when last is not an empty line
If the last WebVTT cue does not have an empty line after it, or if it
does not end with a newline at all, it does not get pushed out and it
won't be displayed.

gst_sub_parse_sink_event() already handles the issue for other subtitle
formats, enable handling it for GST_SUB_PARSE_FORMAT_VTT too.

While at it also add a test for this case.
2019-05-06 13:28:02 +02:00
A. Wilcox 57e2bc3c1c video test: Keep BE test inline with LE test 2019-05-03 06:26:27 +00:00
Seungha Yang 630d3c3d12 tests: video: Add test for video-hdr 2019-04-30 15:45:44 +00:00
Sebastian Dröge cbccda6f3b video-anc: Handle SD formats correctly
VANC is stored linearly in SD formats instead of separating the Y and YV
components from each other and having first all Y and then all UV
values.
2019-04-23 11:25:05 +00:00
Kristofer Bjorkstrom 1dea6d52ce rtspconnection: add Content-Length limit
Add the possible to limit the Content-Length
Define an appropriate request size limit and reject requests exceeding
the limit (413 Request Entity Too Large)
2019-04-22 09:01:32 +00:00
Aaron Boxer b27b31e099 discoverer: set 30 second for long-running tests 2019-04-01 18:35:06 +00:00
Aaron Boxer 6146d8c622 discoverer: fix a race bug in disco test 2019-04-01 18:35:06 +00:00
Jimmy Ohn ee077a1cb3 tests: rtpmeta: Avoid C99 declaration in 'for' loop
Avoid C99 declaration in for loop
2019-04-01 22:34:28 +09:00
Guillaume Desmottes 10ce73b6eb video-info: check if alternate caps has the feature as well
It's invalid to have a 'interlace-mode=alternate' without the Interlaced caps
feature as well.
Modify gst_video_info_from_caps() to reject such case so we can easily
spot them in bugged elements.
2019-03-25 15:36:57 +01:00
Guillaume Desmottes 6ba860021c video-info: handle 'field-order' in alternate mode
The alternate interlace mode may also use the 'field-order' field in caps.
2019-03-25 15:35:46 +01:00
Tim-Philipp Müller 3288093c75 tests: video: speed up test_video_color_convert
This test takes a long time. It tests ca. 8900 conversion
combinations, and then it also runs each conversion for
at least 100ms in order to come up with some kind of benchmark.

Remove the benchmarking from the unit test, we have a separate
benchmarking tool for that now.

Also split the conversions into groups and run those as
separate checks, which allows better parallelisation at
the runner level (normal runs and when using valgrind).
2019-03-24 16:39:30 +00:00
Tim-Philipp Müller b05e70ea94 tests: video: reduce debug log spam
This shouldn't be logged at info level.
2019-03-24 16:39:30 +00:00
Stian Selnes eadeec791a rtpbasedepayload: Drop gap events before first buffer
Before a gap event is pushed downstream a segment event must be pushed
since the gap event can cause packet concealment downstream and hence
data flow. Since concealment before receiving any data packets usually
doesn't make any sense, the gap event is not sent downstream.

Alternatively one could generate a default caps and segment event, but
no need to complicate things until it's proven necessary.

https://bugzilla.gnome.org/show_bug.cgi?id=773104
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/301
2019-03-20 15:30:50 +00:00
Tim-Philipp Müller eed2e9d52b tests: audiodecoder: speed up audiodecoder_buffer_after_segment test
We're creating buffers with one sample here for some reason. The
actual value of the segment stop is irrelevant for what we're testing
here, so lower it to 10ms so that we create fewer buffers which speeds
things up on slow machines and in valgrind.
2019-03-09 17:17:11 +00:00
Matthew Waters d5b18ae58f tests/glbin: setting a full reference means we need to unref
Fixes the element leaks in the full variants of the glbin test.
2019-03-06 23:32:18 +11:00
Tim-Philipp Müller 273da3ed2f tests: vorbisec: fix leaks in unit test 2019-03-06 10:51:40 +00:00
Tim-Philipp Müller 9f664f62ee tests: glmatrix: fix leaks in unit test 2019-03-06 10:51:40 +00:00
Tim-Philipp Müller afe5ed8ad7 tests: glmemory: fix leaks in unit test 2019-03-06 10:51:40 +00:00
Tim-Philipp Müller 82dc6a4858 tests: videoencoder: fix leaks in unit test 2019-03-06 10:51:40 +00:00
Tim-Philipp Müller 3221167750 tests: audio: fix leaks in unit test 2019-03-06 10:51:40 +00:00
Tim-Philipp Müller 6f6c73b223 tests: audiomixer: fix leaks in unit test 2019-03-06 10:51:40 +00:00
Tim-Philipp Müller 9854d5151a tests: audioconvert: fix leaks in unit test 2019-03-06 10:51:40 +00:00
Seungha Yang 541d598fad tests: audiorate: Don't compare string with enum
../subprojects/gst-plugins-base/tests/check/elements/audiorate.c(192): warning C4047

Meaningful validation at that point seems to checking output GstAudioFormat
of gst_audio_format_from_string()
2019-03-04 22:49:23 +09:00
Vivia Nikolaidou 8ecc3b9730 videorate: Add max-duplication-time property
This will only duplicate buffers if the gap between two consecutive
buffers is up to fill-until nsec. If it's larger, it will only output
the new buffer and mark it as discont.
2019-02-21 15:50:55 +00:00
Tim-Philipp Müller a1d757b1ee tests: video: add basic sanity check of pstrides for formats
https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/merge_requests/117
2019-02-20 09:49:26 +00:00
Victor Toso 1012e3d89c tests: use GPOINTER_TO_INT to avoid warnings with mingw
New casts to avoid the the warnings mentioned below. While at it, move
some existing casts (introduced at 61bc909189) to use
GPOINTER_TO_INT too.

[458/673] Compiling C object 'tests/check/7d01337@@libs_video@exe/libs_video.c.obj'.
../tests/check/libs/video.c: In function 'fourcc_get_size':
../tests/check/libs/video.c:160:10: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
   return (unsigned long) p->endptr;
          ^

In file included from ../tests/check/libs/video.c:32:
../tests/check/libs/video.c: In function 'test_video_formats':
../tests/check/libs/video.c:563:39: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
   fail_unless_equals_int (size, (unsigned long) paintinfo.endptr);
   ^

And more.

https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/merge_requests/94
2019-02-19 18:23:25 +00:00
Victor Toso c7fe0ed637 tests: fix compiler warnings on Windows with mingw
With commit 3f184c3abc, the gst_dir variable becomes unusable in
windows build. Moving it to linux scope to avoid warning:

    [433/673] Compiling C object 'tests/check/7d01337@@libs_profile@exe/libs_profile.c.obj'.
    ../tests/check/libs/profile.c: In function 'profile_suite':
    ../tests/check/libs/profile.c:688:10: warning: unused variable 'gst_dir' [-Wunused-variable]
       gchar *gst_dir;
             ^~~~~~~

Also fix a typo in the comment.
2019-02-19 09:54:52 +00:00
Nicolas Dufresne fcaf938e8c tests: video: Test video format enum stability
It is really easy to break the API and insert a new video format in the
middle of the enum instead of at the end. This minimal test should catch
the most obvious errors. Ideally, this test should be updated after new
format have been added, so that it won't allow further modification to
the enumeration API.
2019-02-18 13:25:23 +00:00
Nirbheek Chauhan 91863b071f misc: Fix compiler warnings on Cerbero's MinGW
rtpbasedepayload.c:126:5: error: unknown conversion type character 'z' in format [-Werror=format]
profile.c:688:10: error: unused variable 'gst_dir' [-Werror=unused-variable]
2019-02-05 23:48:13 +05:30
Nirbheek Chauhan 2b8e09b49f meson: orc-test is not required
This is especially never available on iOS.
2019-01-31 15:22:21 +05:30
Seungha Yang 57aba8952d meson: Add support orc fallback
Allow fallback to orc subproject if any.
Additionally 'dependencies' keyword is removed from find_library,
because it's invalid keyword for find_library.
2019-01-30 19:41:32 +09:00
Seungha Yang 34813b94bd tests: discoverer: Add async API test cases
Add more test cases for async APIs such as gst_discoverer_{start,stop},
and gst_discoverer_discover_uri_async()
2019-01-28 18:53:39 +09:00
Sebastian Dröge acc098a736 gl: Only unbind buffers/vertex attrib arrays if we can't directly bind the vertex array to 0
Binding the vertex array to 0 will unbind everything else already.

In the previous order older versions of the Intel GL driver caused
errors to be printed for every single call when disabling the vertex
attrib arrays after binding the vertex array to 0.
2019-01-16 14:09:18 +02:00
Tim-Philipp Müller 30b5d7892a meson: enable tests for orc code 2019-01-16 00:37:48 +00:00
Jordan Petridis 5396ef6e45 subparse: do not assert when failing to parse subrip timestamp
If a badly formatted was passed into `parse_subrip_time` it would
assert instead of exiting gracefully. This is problematic since
the input is provided by the user, and will trigger a crash.

https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/issues/532
2019-01-14 11:43:57 +00:00
Jan Alexander Steffens (heftig) 4d24f78c05 videoscale: Add a test to verify stepped dimensions work 2019-01-14 10:18:21 +00:00
Alex Ashley 5767d65321 codec-utils: support extension audio object type and sample rate
ISO 14496-3 defines that audioObjectType 5 is a special case that
indicates SBR is present and that an additional field has to be
parsed to find the true audioObjectType.

There are two ways of signaling SBR within an AAC stream - implicit
and explicit (see [1] section 4.2). When explicit signaling is used,
the presence of SBR data is signaled by means of the SBR
audioObjectType in the AudioSpecificConfig data.

Normally the sample rate is specified by an index into a
table of common sample rates. However index 0x0f is a special case
that indicates that the next 24 bits contain the real sample rate.

[1] https://www.telosalliance.com/support/A-closer-look-into-MPEG-4-High-Efficiency-AAC

Fixes #39
2019-01-11 17:41:15 +05:30
Seungha Yang a95ab79d34 tests: Enable more tests on Windows
Enable libs_rtp, libs_video and elements_compositor
2018-12-30 23:25:14 +00:00
Seungha Yang f5c4826ea4 tests: compositor: Drop needless unistd.h 2018-12-30 23:25:14 +00:00
Tim-Philipp Müller 2972b673c0 compositor: add to build after move from -bad
This replaces videomixer.

Fixes #138
2018-12-28 12:16:18 +01:00
Tim-Philipp Müller f11571f398 Move GstVideoAggregator, compositor and OpenGL mixers from -bad
Merge branch 'videoaggregator-compositor-glmixers-move'

Fixes #137 and #138.
2018-12-28 12:15:39 +01:00
Sebastian Dröge acd7010576 videotimecode: Set the DROP_FRAME flag when parsing timecodes with a ,/; from a string
And also add a test for parsing a few valid and invalid timecodes
2018-12-19 23:11:24 +00:00
Sebastian Dröge c02d3b03c2 videotimecode: Add API for initializing from a GDateTime with validation
The old API would only assert or return an invalid timecode, the new API
returns a boolean or NULL. We can't change the existing API
unfortunately but can at least deprecate it.
2018-12-19 23:11:24 +00:00
Seungha Yang 362f771fe8 tests: Disable some tests for Windows
Disable some tests which are unstable on windows or need fix
2018-12-18 10:34:01 +00:00
Seungha Yang 548b72d693 tests: Use OS-specific seperator for whitelist
... instead of hardcoded ':', since G_SEARCHPATH_SEPARATOR_S
varies depending on OS (e.g., ':' for *nix and ';' for Windows).
Note that, when the seperator is not specified explicitly, Meson
will use ';' for Windows and ':' for *nix respectively.
2018-12-18 10:34:01 +00:00
Seungha Yang 076d023508 meson: Use join_paths() instead of '/'
Let Meson decide correct seperator such as '\' for Windows and
'/' for others
2018-12-18 10:34:01 +00:00
Justin Kim 5303e2c32b rtcpbuffer: add support XR packet parsing
According to RFC3611, the extended report blocks in XR packet can
have variable length. To visit each block, the iterator should look
into block header. Once XR type is extracted, users can parse the
detailed information by given functions.

Loss/Duplicate RLE
The Loss RLE and the Duplicate RLE have same format so
they can share parsers. For unit test, randomly generated
pseudo packet is used.

Packet Receipt Times
The packet receipt times report block has a list of receipt
times which are in [begin_seq, end_seq).

Receiver Reference Time paser for XR packet
The receiver reference time has ntptime which is 64 bit type.

DLRR
The DLRR report block consists of sub-blocks which has ssrc, last RR,
and delay since last RR. The number of sub-blocks should be calculated
from block length.

Statistics Summary
The Statistics Summary report block provides fixed length
information.

VoIP Metrics
VoIP Metrics consists of several metrics even though they are in
a report block. Data retrieving functions are added per metrics.

https://bugzilla.gnome.org/show_bug.cgi?id=789822
2018-12-13 14:01:06 -05:00
Sebastian Dröge 70d8c174ac video: Split the success and error convert_frame_async() test into two tests
To make it more obvious which of the two is actually failing.
2018-11-30 12:39:43 +02:00
Jordan Petridis 2229d53f60
Run gst-indent through the files
This is required before we enabled an indent test in the CI.

https://gitlab.freedesktop.org/gstreamer/gstreamer-project/issues/33
2018-11-28 05:51:53 +02:00