Matthew Waters
c6c4d42c4a
ccconverter: fail negotiation when framerate conversion is not possible
...
Converting between anything but cdp will fail at converting
framerates and negotiation should reflect that.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1393 >
2020-07-01 19:33:56 +00:00
Matthew Waters
4f334234c8
ccconverter: fix missing output framerate on the caps
...
A pipeline like this:
closedcaption/x-cea-708,format=cdp,framerate=30000/1001 ! ccconverter ! closedcaption/x-cea-708,format=cc_data
would produce a critical/assert:
GStreamer-CRITICAL **: 14:21:11.509: gst_util_fraction_multiply: assertion 'a_d != 0' failed
because there would be no framerate field on ccconverter's output.
Fixed by always fixating a framerate if the input has a framerate.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1393 >
2020-07-01 19:33:56 +00:00
Seungha Yang
57c8ad1dbc
tests: wasapi2: Add unit test for reusing wasapisrc
...
Test state change between playing and null and playing again
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1264 >
2020-06-08 03:10:05 +00:00
Ederson de Souza
6caea9e19b
tests/avtp: Plug some (more) leaks
...
Some leaks were introduced in new tests - this patch fix them.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1312 >
2020-06-01 18:03:19 +00:00
Jan Alexander Steffens (heftig)
aad9cf8096
mpegtsdemux: tests: Test that tsparse doesn't drop padding
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1300 >
2020-05-28 16:41:30 +00:00
Jan Schmidt
737cfc40de
avtp: Initialise strack structures to 0 in tests
...
Avoid valgrind warnings about accessing uninitialised memory
in the tests by initialisting structures to 0
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1305 >
2020-05-28 10:58:02 +00:00
Jan Schmidt
0e578b1096
avtp: Fix some leaks in the tests
...
Fix valgrind errors that area showing on the CI now
that AVTP elements are built.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1305 >
2020-05-28 10:58:02 +00:00
Jan Alexander Steffens (heftig)
055de3cdff
mpegtsdemux: tests: Add simple tests for tsparse and tsdemux
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1274 >
2020-05-18 14:11:40 +00:00
Matthew Waters
ba1558a7ab
ccconverter: use a better padding byte sequence for writing cdp
...
0xf8 can be interpreted as cea608 data at the beginning of a cdp packet
as the cc_valid bit is not checked when cc_valid in (0b00 or 0b01).
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1116 >
2020-05-11 12:30:31 +00:00
Matthew Waters
7ed0bc539f
ccconverter: split temporary storage into 3
...
Instead of storing the raw cc_data, store the 2 cea608 fields individually
as well as the ccp data.
Simply copying the input cc_data to the output cc_data violates a number of
requirements in the cea708 specification. The most prominent being, that
cea608 triples must be placed at the beginning of each cdp.
We also need to comply with the framerate-dpendent limits for both the
cea608 and the ccp data which may involve splitting or merging some
cea608 data but not ccp data or vice versa.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1116 >
2020-05-11 12:30:31 +00:00
Matthew Waters
3417a1709c
ccconvert: compact input cc_data where possible
...
Skip over padding cc_data triples.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1116 >
2020-05-11 12:30:31 +00:00
Matthew Waters
7d028af675
ccconverter: implement support for CDP framerate conversions
...
- Any format involving CDP is supported.
- Time codes (if present) are scaled as well.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1116 >
2020-05-11 12:30:31 +00:00
Matthew Waters
ddc7563ac9
tests/ccconverter: test the time codes are successfully passed through
...
Where time codes are not stored in the caption data themselves
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1116 >
2020-05-11 12:30:31 +00:00
Matthew Waters
31a0bf367d
ccconverter: cc_count limits are per framerate
...
Enforce this and add a test for cdp input being too large.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1116 >
2020-05-11 12:30:31 +00:00
Nicolas Dufresne
fac627ba1b
test: h265parse: Test parsing buffer the ends with half a NAL header
...
This test cover the case where we are parsing, but our current buffers ends
with half the NAL header (which is 2 bytes in HEVC). Previously we would
throw an error message on the bus.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1251 >
2020-05-07 14:17:28 -04:00
Nicolas Dufresne
26296646d7
test: h264/h265: Add test for four bytes start code initial skip
...
This test detects if the parser have skipped too much and dropped meaninful
NALs.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1251 >
2020-05-07 13:59:23 -04:00
Nicolas Dufresne
fd423c8468
test: h264/h265: Constify all test buffers
...
This ensure that no test modify other tests data.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1251 >
2020-05-07 12:08:36 -04:00
Nicolas Dufresne
dc4c470d75
h264parse: Properly handle 4 bytes start code
...
This will stop stripping four bytes start code. This was fixed and broken
again as it was causing the a timestamp shift. We now call
gst_base_parse_set_ts_at_offset() with the offset of the first NAL to ensure
that fixing a moderatly broken input stream won't affect the timestamps. We
also fixes the unit test, removing a comment about the stripping behaviour not
being correct.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1251 >
2020-05-07 12:08:36 -04:00
Matthew Waters
02c8e66ff1
webrtc: fix an off-by-one calculating low-threshold
...
We were not signalling low-threshold when the previous amount was at
exactly the low-threshold mark.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1247 >
2020-05-06 15:49:58 +10:00
Matthew Waters
d0b20f8bba
webrtc: fix a slightly racy test
...
There is no guarantee that the peer data channel has transitioned to
open when we do.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1247 >
2020-05-06 15:49:58 +10:00
Matthew Waters
d0be6b74f2
tests/webrtc: fix a data channel leak in a test
...
test_data_channel_create_after_negotiate overrides the data_channel_data
without ever freeing it.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1240 >
2020-05-06 02:53:27 +00:00
Matthew Waters
7aa58954c1
tests/webrtc: move bus thread creation earlier
...
Fixes a small deadlock race where the bus watch GSource could execute before
the unlock mutex GSource.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1240 >
2020-05-06 02:53:27 +00:00
Edward Hervey
cbd89f0381
check: Fix dash mpd unit test
...
Unexpected critical/warning: g_object_set_is_valid_property: object class 'GstMPDBaseURLNode' has no property named 'service location'
Stack trace:
gst_debug_get_stack_trace (gstinfo.c:3021)
gst_check_log_critical_func (gstcheck.c:281)
g_logv (gmessages.c:1350)
g_log (gmessages.c:1415)
g_object_set_valist (gobject.c:2327)
gst_mpd_client_add_baseurl_node (gstmpdclient.c:3142)
dash_mpdparser_check_mpd_client_set_methods (dash_mpd.c:6192)
srunner_run_tagged (check_run.c:465)
gst_check_run_suite (gstcheck.c:1086)
main (dash_mpd.c:6521)
__libc_start_main (libc-start.c:308)
_start (/home/bilboed/work/devel/gst-build/build/subprojects/gst-plugins-bad/tests/check/elements_dash_mpd:0x40554a)
2020-05-05 16:07:40 +02:00
Tim-Philipp Müller
c79db43299
tests: curlhttpsrc: fix compiler warning on raspbian
...
tests/check/elements/curlhttpsrc.c:142:14: warning: format ‘%lu’
expects argument of type ‘long unsigned int’, but argument 8 has
type ‘gsize’ {aka ‘unsigned int’}
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1239 >
2020-05-03 12:21:09 +01:00
Ederson de Souza
12838af353
avtpcvfpay: Ensure NAL fragments are transmitted following stream specs
...
TSN streams are expected to send packets to the network in a well
defined "pace", which is arbitrarily defined for each stream. This pace
is defined by the "measurement interval" property of a stream.
When the AVTP CVF payloader element - avtpcvfpay - fragments a video
frame that is too big to be sent to the network, it currently defines
that all fragments should be transmitted at the same time (via DTS
property of GstBuffers generated, as sink will use those to time the
transmission of the AVTPDU). This doesn't comply with stream definition,
which also has a limit on how many packets can be sent on a given
measurement interval.
This patch solves that by spreading in time the DTS of the GstBuffers
containing the AVTPDUs. Two new properties, "measurement-interval" and
"max-interval-frames", added to avptcvfpay element so that it knows
stream measurement interval and how many AVTPDUs it can send on any of
them. More details on the method used to proper spread DTS/PTS according
to measurement interval can be found in a code commentary inside this patch.
Tests also added for the new property and behaviour.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1004 >
2020-05-02 17:42:15 +00:00
Vedang Patel
2510052d12
tests: add tests for functions in gstavtpcrfutil.c
...
This adds tests for the helper functions in ext/avtp/gstavtpcrfutils.c
2020-04-30 23:31:25 +00:00
Vedang Patel
4b6a290beb
tests: Add the tests for CRF Checker element
...
This adds tests to ensure the avtpcrfchecker element validates and drops the
packets which do not match the CRF Synchronization criteria.
2020-04-30 23:31:25 +00:00
Vedang Patel
da810db63d
tests: Add tests for GstAvtpCrfBase base class.
...
This adds tests which test the functions which do not call any external
syscalls and the properties.
2020-04-30 23:31:25 +00:00
Vedang Patel
551258b2c4
tests: Add tests for CRF Synchronizer element
...
This adds tests to validate whether the avtpcrfsync element applies the
adjustment correctly.
Also, the infrastructure to include additional source files while compiling
is added. This change is exactly the same as the one in gst-plugins-good.
2020-04-30 23:31:25 +00:00
Ederson de Souza
3ea0f694de
clockselect: Add TAI clock support
...
Via new value for property clock-id, "tai", it's possible to use
GST_CLOCK_TYPE_TAI as pipeline clock.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1009 >
2020-04-30 19:21:37 +00:00
Ederson de Souza
443c01e119
clockselect: Remove non-sense comment
...
Commentary appears to assume `gst_harness_find_element` return value was
"transfer none", but it is not the case. So, element must be unrefed
before the end.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1009 >
2020-04-30 19:21:37 +00:00
Olivier Crête
d9512dc132
ristrtpdeext: Expose the largest sequence number received
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1153 >
2020-04-30 18:31:32 +00:00
Olivier Crête
f2e8d4dcf2
ristrtpdeext: Update RTP header extension packet to latest spec
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1153 >
2020-04-30 18:31:32 +00:00
Olivier Crête
a602eb7eea
ristrtpext: Update RTP header extension packet to latest spec
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1153 >
2020-04-30 18:31:32 +00:00
Olivier Crête
1342e4ba43
rist: Add test for rtp ext code
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1153 >
2020-04-30 18:31:31 +00:00
Seungha Yang
c19d21f464
tests: mfvideosrc: Add unit test
...
Simple test for reuse scenario
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/760 >
2020-04-28 14:37:31 +00:00
Sebastian Dröge
04b98a4ecd
tsmux: Don't assert sinkpad reference counts in test
...
We can't be sure about the reference count if the muxer is currently
running, which can happen in the test_reappearing_pad test. An
additional reference might temporarily be owned by the srcpad task of
tsmux while iterating over the pads.
2020-04-19 19:16:25 +00:00
George Kiagiadakis
1fb57155ff
tests: h265parse: Add unit test for conversion and sliced data
...
testing only byte-stream for now
2020-04-15 14:10:16 +00:00
George Kiagiadakis
04a4eae13b
tests: h264parse: unit tests for sliced data processing
2020-04-15 14:10:16 +00:00
Vivia Nikolaidou
fecd38c8f6
tsmux: Ability for streams to disappear and reappear
...
Until now, any streams in tsmux had to be present when the element
started its first buffer. Now they can appear at any point during the
stream, or even disappear and reappear later using the same PID.
2020-04-15 09:07:24 +00:00
Seungha Yang
f05effe024
h264parse,h265parse: Update for video-hdr struct change
...
See the change of -base https://gitlab.freedesktop.org/gstreamer/gst-plugins-base/-/merge_requests/594
2020-04-01 05:18:11 +00:00
Ederson de Souza
f1976e0de5
avtp: Plug several leaks
...
After finally running tests with valgrind enabled, some leaks were found
- both on code and on tests themselves. This patch plugs them all!
2020-02-07 21:53:57 +00:00
Sebastian Dröge
0478e2dc1a
ccconverter: Fill remainder of the cc_data in CDP packets with empty packets
...
Instead of filling it completely with zeroes. Filling with zeroes is
considered invalid by various CC implementations.
2020-01-24 09:26:28 +00:00
Josep Torra
bebf20c906
h264parse: do not push wrong PTS with some raw files
...
Some raw h264 encoded files trigger the assignment of wrong PTS to buffers
when some SEI data is provided. This change prevents it to happen.
Also ensure this behavior is being tested.
2020-01-10 15:03:38 +00:00
Seungha Yang
ce3b035a53
tests: d3d11colorconvert: Add test cases for visual validation
...
By default new test cases are disabled since it might be timed out
or test environment might not have render device.
2020-01-09 16:29:47 +00:00
Stéphane Cerveau
e8fb7fc046
zxing: initial plugin revision
...
Status:
- scan QR code with low resolution
- Scan barcode with high resolution
2020-01-07 17:24:50 +00:00
Stéphane Cerveau
f065cdebc1
tests: add h26xparse HDR SEI test
...
Detect caps according to MDCV + CLLI SEI message
2020-01-07 08:55:28 +00:00
Stéphane Cerveau
f22e516639
test: add h265parse test
2020-01-07 08:55:28 +00:00
Stéphane Cerveau
982072ce1d
dashsink: Add new sink to produce DASH content
...
Add static or dynamic mpd with:
- baseURL
- period
- adaptation_set
- representaton
- SegmentList
- SegmentURL
- SegmentTemplate
Support multiple audio and video streams.
Pass conformance test with DashIF.org
2020-01-03 20:50:27 +00:00
Stéphane Cerveau
ac74b042ec
dash: Generate an XML content from object.
...
Add mpd node base class to provide
xml generation facilities for child
objects.
2020-01-03 20:50:27 +00:00