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
Matthew Waters
a2b0c81900
tests: add libnice to the plugin loading whitelist
...
Allows webrtcbin to actually unit test some negotiation scenarios.
Without this, only two of the possible 33 tests are being executed.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1240 >
2020-05-06 02:53:27 +00:00
He Junyan
4ccd59eb24
test: h265parser: Add a test case for SCC extension.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1146 >
2020-05-05 17:07:41 +00:00
He Junyan
3be186fe85
libs: parser: h265: Add SCC extension support.
...
Add support for screen content coding extensions profiles.
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1146 >
2020-05-05 17:07:41 +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
Georg Ottinger
13d55627f0
libs: parser: Adds AV1 parser.
...
This is the first version of AV1 parser implementation in GStreamer.
A test file is also provied with several test cases. It contains a
test sequence taken from the aom testdata set, with one key and one
inter-frame. The same test sequence has been reencoded to annexb.
testdata is taken from aom testdata (and reencoded for annexb) as well
as handcrafted testcases. Once reference testdata is available, the
testing could be imporved aswell.
Co-author: He Junyan <junyan.he@hotmail.com>
Co-author: Víctor Manuel Jáquez Leal <vjaquez@igalia.com>
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/785 >
2020-05-01 19:55:41 +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
He Junyan
9082f103a4
test: h265parser: Add check for high throughput scc.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1121 >
2020-04-28 13:54:11 +00:00
He Junyan
be1cdca760
test: h265parser: Add more check or h265 extensions.
...
Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/1121 >
2020-04-28 13:54:11 +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
db1ea18276
h264parser: Add support for creating picture timing SEI
...
This new method can make it possible to inject timecode meta into
h264 bitstream
2020-04-08 15:39:12 +00:00
Seungha Yang
72854261bb
tests: h264parser: Fix picture timing SEI
...
The payloadSize don't need to include rbsp_trailing_bits()
2020-04-08 15:39:12 +00:00
Seungha Yang
ce09ceb106
h265parser: Add a helper method to create SEI nal unit
...
Add an API to create raw SEI nal unit. This would be useful in case
an user want to create SEI nal data and inject the SEI nal data
into bitstream.
2020-04-02 09:20:11 +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
Seungha Yang
a1e8109aa8
h264parser: Add a helper method to create and inject raw SEI data
...
Add an API to create raw SEI nal unit. This would be useful in case
an user want to create SEI nal data and inject the SEI nal data
into bitstream.
2020-03-30 07:59:10 +00:00
Seungha Yang
f94157c949
nalutils: Introduce NAL writer helper methods
...
Add helper methods for writing h264 and h265 NAL
2020-03-30 07:59:10 +00:00
Seungha Yang
5ac018e949
tests: h265parser: Add test for registered user data SEI
2020-03-23 15:21:42 +00:00
Guillermo Rodríguez
21a56b396c
examples/wayland: unref GstContext after use
2020-03-20 17:30:22 +11:00
Seungha Yang
959320264a
h265parser: Add helper macro for nal type classification
...
Add some macros to remove code duplication and to make it more readable
2020-03-05 23:22:34 +09:00
Yeongjin Jeong
c8df00a423
tests: vp9parser: Add test parsing superframe
2020-03-02 01:55:33 +09:00
Stéphane Cerveau
5881c1ad2d
tests: add picture timing SEI parsing
2020-02-25 09:33:47 +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