External xml could have empty, one or multiple top-level "Period" elements.
Because xml parser cannot parse the multiple top-level elements
(i.e., no root element), we need to wrap a xml in order to make root element.
See also ISO/IEC 23009-1:2014 5.3.2.2
https://bugzilla.gnome.org/show_bug.cgi?id=774357
PlayReady being the one of the few DRM formats encoding its data with
base64 it was not consistent to have a special case for this. So the
base64 decoding operation now needs to be done by the protection event
consumer, if needed.
https://bugzilla.gnome.org/show_bug.cgi?id=774112
gstgl doesn't undo/overwrite what GL state the examples are changing
anymore. As such, the examples need to reset the GL state themselves
to be able to play nice with libgstgl
The spec allows the core/compatibility profiles to be used
with #version 150.
Also tighten up the tests to check for default profiles being chosen
correctly.
The linker flags for several plugins (dashdemux, mssdemux, hlsdemux) are missing
$(GST_PLUGINS_BASE_LIBS), so add them so they can find -lgsttag and -lgstapp.
https://bugzilla.gnome.org/show_bug.cgi?id=771780
The tests were broken since 91fea30, which changed glupload to return
GST_GL_UPLOAD_RECONFIGURE if the texture target in the input buffers doesn't
match the texture-target configured in the output caps.
This commit fixes that and adds more checks for the new behaviour.
It uses random data streams but dashdemux nowadays actually looks into the
streams and doesn't like randomness very much. The tests should probably just
become validate tests on real streams.
https://bugzilla.gnome.org/show_bug.cgi?id=769553
Add a test of the gst_mpd_client_get_maximum_segment_duration() function
to check that it first checks the MPD@maxSegmentDuration and then falls
back to checking all of the segment durations.
https://bugzilla.gnome.org/show_bug.cgi?id=753751
Facilities are given to create fbo's and attach GL memory (renderbuffers
or textures). It also keeps track of the renderable size for use with
effective use with glViewport().
Rather than assuming something. e.g. zerocopy on iOS with GLES3 requires
the use of Luminance/Luminance Alpha formats and does not work with
Red/RG textures.
When the test involves doing a seek, only check for data size after
the seek. The final segment range after seek might be different/smaller
than the threshold for doing the seek and doing the check before
seeking would fail.
Following the Don't Repeat Yourself principle, define macros
for the structures that contain the request and response headers,
so that the name is not repeated in multiple places in multiple files.
https://bugzilla.gnome.org/show_bug.cgi?id=762144
Test content protection
Configure 3 content protection sources:
- a uuid scheme/value pair
- a non uuid scheme/value pair (dash recognises only uuid schemes)
- a complex uuid scheme, with trailing spaces and capital letters in scheme uri
Only the uuid scheme should be recognised. We expect to receive 2 content protection events
https://bugzilla.gnome.org/show_bug.cgi?id=758064
Test header download error.
Let the adaptive demux download a few bytes, then instruct the
GstTestHTTPSrc element to generate an error while the fragment header
is still being downloaded.
https://bugzilla.gnome.org/show_bug.cgi?id=762144
Moved testQuery after testFragmentDownloadError so that testDownloadError
and testFragmentDownloadError are grouped together.
The commit just moved the testQueryCheckDataReceived and
GST_START_TEST (testQuery) functions but git gets confused in matching the
lines and reports a lot of changes in the patch.
https://bugzilla.gnome.org/show_bug.cgi?id=762144
To allow the adaptivedemux live stream tests to run in non-realtime, use a
GstTestClock as the system clock. This allows the unit tests to complete
more quickly than if they had to complete in real time.
https://bugzilla.gnome.org/show_bug.cgi?id=762147
Deallocate GObject* with g_object_unref instead of gst_object_unref.
Even if it works now, it is confusing and in the future it might
not work if any GstObject specifics are added.
https://bugzilla.gnome.org/show_bug.cgi?id=762142
As is done everywhere else.
From what I can gather from make -C tests/check V=1 $(GST_PLUGINS_BAD_CFLAGS) is
required in order to find in-tree headers as well as srcdir != builddir
configurations.
fxtest.c: In function ‘main’:
fxtest.c:190:3: error: ISO C90 forbids mixed declarations and code [-Werror=declaration-after-statement]
GtkWidget *window;
^~~~~~~~~
With e38af23044 returning the correct contexts,
gst_gl_display_add_context() was susceptible to causing infinte loops when
adding the same GstGLContext more than once. Fix and add a test for
gst_gl_display_add_context().
Fixes glvideomixer gst-validate tests.
When the start_type is GST_SEEK_TYPE_NONE for a forward seek
(or stop_type for a reverse) is not set on a snap seeking operation,
the element should use the current position and then snap as requested.
Also fixes uninitialized variable complaint by clang about
'ts' variable.
All hlsdemux tests create a GstStructure called "state" that can be used
by test cases to store information during a test. The name of this
structure is arbitrary. When the code was written, the intention was
to use the name of the test, to aid debugging. However, during
development this was lost, so that the state GstStructure is always
given the name "setup_test_variables".
This commit changes this so that the name of the test is used.
https://bugzilla.gnome.org/show_bug.cgi?id=762684
The default one is 6 minutes, the test was using 5 minutes so just
resort to using the default.
For the non-valgrind test also use the default 20 secs instead of
reducing it to 6s. No real reason to set a custom value here.
When caps are already negotiated it should be possible to
select formats other than the one that was negotiated. If downstream
allows alpha video caps and it has already negotiated to a non-alpha
format, caps queries should still return the alpha caps as a possible
format as caps renegotiation can happen.
Includes tests (for compositor) to check that caps queries done after
a caps has been negotiated returns complete results
https://bugzilla.gnome.org/show_bug.cgi?id=757610