...
 
Commits (23)
project('gst-devtools', 'c',
version : '1.9.90',
version : '1.10.4',
meson_version : '>= 0.33.0',
default_options : [ 'warning_level=1',
'c_std=gnu99',
......@@ -12,10 +12,10 @@ gst_version_minor = version_arr[1]
gst_version_micro = version_arr[2]
if version_arr.length() == 4
gst_version_nano = version_arr[3]
TESTUITE_VERSION = '@0@.@1@'.format(gst_version_major, gst_version_minor)
TESTUITE_VERSION = 'master'
else
gst_version_nano = 0
TESTUITE_VERSION = 'master'
TESTUITE_VERSION = '@0@.@1@'.format(gst_version_major, gst_version_minor)
endif
apiversion = '1.0'
......
=== release 1.10.0 ===
=== release 1.10.5 ===
2016-11-01 Sebastian Dröge <slomo@coaxion.net>
2017-06-15 Sebastian Dröge <slomo@coaxion.net>
* configure.ac:
releasing 1.10.0
releasing 1.10.5
2017-02-23 17:26:50 +0000 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
meson: update version
=== release 1.10.4 ===
2017-02-23 16:12:26 +0200 Sebastian Dröge <sebastian@centricular.com>
* validate/ChangeLog:
* validate/NEWS:
* validate/configure.ac:
* validate/gst-validate.doap:
Release 1.10.4
2017-01-06 13:14:17 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* meson.build:
validate: Fix setting of the testsuite version
If nano is set, it means we are running in git/unreleased version
2017-02-20 16:37:05 +0100 Edward Hervey <edward@centricular.com>
* validate/configure.ac:
validate: Use proper testsuite branch
1.10
=== release 1.10.3 ===
2017-01-30 16:29:31 +0200 Sebastian Dröge <sebastian@centricular.com>
* validate/ChangeLog:
* validate/NEWS:
* validate/configure.ac:
* validate/gst-validate.doap:
Release 1.10.3
2016-12-19 16:17:56 +0100 Edward Hervey <bilboed@bilboed.com>
* validate/gst/validate/gst-validate-scenario.c:
validate-scenario: Properly get the rate for action validation
This issue was most likely introduced by the refactoring of the
position querying into a standalone function.
In execute_next_action() the rate variable was never replaced by
the current rate of the pipeline, this would result in all reverse
playback actions to trigger immediately instead of waiting for
the actual target time.
https://bugzilla.gnome.org/show_bug.cgi?id=776280
2016-11-30 14:07:04 -0300 Thibault Saunier <tsaunier@gnome.org>
* validate/launcher/baseclasses.py:
validate:launcher: Handle missing media info file
2016-11-30 13:32:09 -0300 Thibault Saunier <tsaunier@gnome.org>
* validate/gst/validate/gst-validate-pipeline-monitor.c:
* validate/tests/launcher_tests/test_validate.py:
validate: Properly handle proxy pads generating detailed info about NNEs
In cases where we had a two consecutive bins with proxy pads, we could
segfault because we were dereferencing a NULL pointer to pad.
2016-11-30 07:40:05 -0300 Thibault Saunier <tsaunier@gnome.org>
* validate/launcher/baseclasses.py:
validate:launcher: Make sure that the IPC server is shutdown before closing the socket
2016-11-29 14:47:35 -0300 Thibault Saunier <tsaunier@gnome.org>
* validate/launcher/baseclasses.py:
validate:launcher: Make sure to check string when verifying expected failures
The value can potentially be None and we should handle that
=== release 1.10.2 ===
2016-11-29 16:23:17 +0200 Sebastian Dröge <sebastian@centricular.com>
* validate/ChangeLog:
* validate/NEWS:
* validate/configure.ac:
* validate/gst-validate.doap:
Release 1.10.2
2016-11-02 12:43:54 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* validate/launcher/vfb_server.py:
validate:launcher: Do not try to set DISPLAY envvar to None
2016-11-02 17:25:21 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* validate/tools/gst-validate-media-check.c:
validate: media check: Always print runner infos when bailing out.
2016-11-03 11:22:08 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* validate/gst/validate/Makefile.am:
* validate/gst/validate/meson.build:
validate: gir: We should not depend on GstVideo
We do not depend on it at all in GstValidate itself
https://bugzilla.gnome.org/show_bug.cgi?id=773898
2016-11-03 16:17:08 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* validate/gst/validate/gst-validate-report.c:
validate: report: Do not unref an object where we do not own a ref
g_io_stream_get_output_stream is transfer none
2016-11-15 18:55:09 -0300 Thibault Saunier <thibault.saunier@osg.samsung.com>
* validate/gst/validate/meson.build:
validate: meson: Do not mixup gstvalidate lib and tracer plugin
Even though it is mostly the same thing in the end
2016-11-17 10:25:37 -0800 Scott D Phillips <scott.d.phillips@intel.com>
* validate/gst/validate/validate.c:
validate: Remove #include <unistd.h>
It isn't needed and isn't present in non-posix environments like windows
with MSVC or mingw.
https://bugzilla.gnome.org/show_bug.cgi?id=774638
2016-11-17 10:28:01 -0800 Scott D Phillips <scott.d.phillips@intel.com>
* validate/gst/validate/gst-validate-pad-monitor.c:
pad-monitor: fix return type of get_range_func
The return type of GstPadGetRangeFunction is GstFlowReturn
https://bugzilla.gnome.org/show_bug.cgi?id=774638
2016-11-23 08:38:49 -0300 Thibault Saunier <tsaunier@gnome.org>
* validate/gst/validate/gst-validate-monitor-factory.c:
* validate/gst/validate/gst-validate-reporter.c:
* validate/gst/validate/gst-validate-runner.c:
* validate/gst/validate/gst-validate-scenario.c:
* validate/gst/validate/gst-validate-scenario.h:
validate: Fix GI warnings
2016-11-20 14:56:13 +0000 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
meson: update version
=== release 1.10.1 ===
2016-11-17 15:59:16 +0200 Sebastian Dröge <sebastian@centricular.com>
* validate/ChangeLog:
* validate/NEWS:
* validate/configure.ac:
* validate/gst-validate.doap:
Release 1.10.1
2016-11-01 19:43:53 +0000 Tim-Philipp Müller <tim@centricular.com>
* meson.build:
meson: update version
=== release 1.10.0 ===
2016-11-01 18:16:13 +0200 Sebastian Dröge <sebastian@centricular.com>
* validate/ChangeLog:
* validate/NEWS:
* validate/configure.ac:
* validate/gst-validate.doap:
Release 1.10.0
2016-10-26 17:58:58 +0200 Edward Hervey <edward@centricular.com>
......
# GStreamer 1.10 Release Notes
**GStreamer 1.10.0 was released on 1st November 2016.**
GStreamer 1.10.0 was originally released on 1st November 2016.
The latest bug-fix release in the 1.10 series is [1.10.5](#1.10.5) and was
released on 15 June 2017.
The GStreamer team is proud to announce a new major feature release in the
stable 1.x API series of your favourite cross-platform multimedia framework!
......@@ -11,7 +13,7 @@ improvements.
See [https://gstreamer.freedesktop.org/releases/1.10/][latest] for the latest
version of this document.
*Last updated: Tuesday 1 Nov 2016, 15:00 UTC [(log)][gitlog]*
*Last updated: Thursday 15 Jun 2017, 09:30 UTC [(log)][gitlog]*
[latest]: https://gstreamer.freedesktop.org/releases/1.10/
[gitlog]: https://cgit.freedesktop.org/gstreamer/www/log/src/htdocs/releases/1.10/release-notes-1.10.md
......@@ -39,7 +41,7 @@ improvements.
- A new `gst-docs` module has been created, and we are in the process of moving
our documentation to a markdown-based format for easier maintenance and
updates
- A new `gst-examples` module has been create, which contains example
- A new `gst-examples` module has been created, which contains example
GStreamer applications and is expected to grow with many more examples in
the future
- Various OpenGL and OpenGL|ES-related fixes and improvements for greater
......@@ -1073,6 +1075,138 @@ which is a stable branch.
1.10.0 was released on 1st November 2016.
<a name="1.10.1"></a>
### 1.10.1
The first 1.10 bug-fix release (1.10.1) was released on 17 November 2016.
This release only contains bugfixes and it should be safe to update from 1.10.x.
#### Major bugfixes in 1.10.1
- Security-relevant bugfix in the vmnc decoder (CVE-2016-9445, CVE-2016-9446)
- Various bugfixes to playbin3/decodebin3
- Fix error at the end of playing any WAV file
- Fix usability of androidmedia plugin if the camera or sensor API is not
available, but codecs are
- Handle redirections on PLAY, and missing control attribute in the RTSP source
- Various OpenGL related bugfixes
- ... and many, many more!
For a full list of bugfixes see [Bugzilla][buglist-1.10.1]. Note that this is
not the full list of changes. For the full list of changes please refer to the
GIT logs or ChangeLogs of the particular modules.
[buglist-1.10.1]: https://bugzilla.gnome.org/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&classification=Platform&limit=0&list_id=168172&order=bug_id&product=GStreamer&query_format=advanced&resolution=FIXED&target_milestone=1.10.1
<a name="1.10.2"></a>
### 1.10.2
The second 1.10 bug-fix release (1.10.2) was released on 29 November 2016.
This release only contains bugfixes and it should be safe to update from 1.10.x.
#### Major bugfixes in 1.10.2
- Security-relevant bugfix in the FLI/FLX/FLC decoder (CVE-2016-9634,
CVE-2016-9635, CVE-2016-9636)
- Various fixes for crashes, assertions and other failures on fuzzed input
files. Among others, thanks to Hanno Böck for testing and reporting
(CVE-2016-9807, CVE-2016-9808, CVE-2016-9809, CVE-2016-9810, CVE-2016-9811,
CVE-2016-9812, CVE-2016-9813).
- SAVP/SAVPF profile in gst-rtsp-server works for live streams again, and the
correct MIKEY policy message is generated
- Further OpenGL related bugfixes
- gst-libav was updated to ffmpeg 3.2.1
- ... and many, many more!
For a full list of bugfixes see [Bugzilla][buglist-1.10.2]. Note that this is
not the full list of changes. For the full list of changes please refer to the
GIT logs or ChangeLogs of the particular modules.
[buglist-1.10.2]: https://bugzilla.gnome.org/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&classification=Platform&limit=0&list_id=168172&order=bug_id&product=GStreamer&query_format=advanced&resolution=FIXED&target_milestone=1.10.2
<a name="1.10.3"></a>
### 1.10.3
The third 1.10 bug-fix release (1.10.3) was released on 30 January 2017.
This release only contains bugfixes and it should be safe to update from 1.10.x.
#### Major bugfixes in 1.10.3
- Various fixes for crashes, assertions, deadlocks and memory leaks on fuzzed
input files and in other situations (CVE-2016-10198, CVE-2016-10199,
CVE-2017-5837, CVE-2017-5838, CVE-2017-5839, CVE-2017-5840, CVE-2017-5841,
CVE-2017-5842, CVE-2017-5843, CVE-2017-5844, CVE-2017-5845, CVE-2017-5846)
- Regression fixes for souphttpsrc with redirection tracking and retrying
- Regression fix for gst-rtsp-server not handling TCP-only medias anymore
- Various other bugfixes the RTP/RTSP codebase
- Fix for gmodule on 64 bit Android, it was never working before there
- vp8enc works again on 32 bit Windows
- Fixes to Opus PLC handling in the decoder
- Fix for stream corruption in multihandlesink when removing clients
- gst-libav was updated to ffmpeg 3.2.2
- ... and many, many more!
For a full list of bugfixes see [Bugzilla][buglist-1.10.3]. Note that this is
not the full list of changes. For the full list of changes please refer to the
GIT logs or ChangeLogs of the particular modules.
[buglist-1.10.3]: https://bugzilla.gnome.org/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&classification=Platform&limit=0&list_id=187054&order=bug_id&product=GStreamer&query_format=advanced&resolution=FIXED&target_milestone=1.10.3
<a name="1.10.4"></a>
### 1.10.4
The fourth 1.10 bug-fix release (1.10.4) was released on 23 February 2017.
This release only contains bugfixes and it should be safe to update from 1.10.x.
#### Major bugfixes in 1.10.4
- Various fixes for crashes, assertions, deadlocks and memory leaks on fuzzed
input files and in other situations (CVE-2017-5847, CVE-2017-5848)
- More regression fixes for souphttpsrc redirection tracking
- Regression fix for gmodule on 32 bit Android, which was introduced as part
of the 64 bit Android fix in 1.10.3 and broke the androidmedia plugin
- Various bugfixes for regressions and other problems in the V4L2 plugin
- Fix for 5.1, 6.1 and 7.1 channel layouts for Vorbis
- Fixes for timestamp generation of Android video encoder element
- gst-libav was updated to ffmpeg 3.2.4, fixing a couple of CVEs
- ... and many, many more!
For a full list of bugfixes see [Bugzilla][buglist-1.10.4]. Note that this is
not the full list of changes. For the full list of changes please refer to the
GIT logs or ChangeLogs of the particular modules.
[buglist-1.10.4]: https://bugzilla.gnome.org/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&classification=Platform&limit=0&list_id=187054&order=bug_id&product=GStreamer&query_format=advanced&resolution=FIXED&target_milestone=1.10.4
<a name="1.10.5"></a>
### 1.10.5
The fifth 1.10 bug-fix release (1.10.5) was released on 15 June 2017.
This release only contains bugfixes and it should be safe to update from 1.10.x.
This is most likely the last release in the stable 1.10 release series.
#### Major bugfixes in 1.10.5
- Various fixes for crashes, assertions, deadlocks and memory leaks
- Fix for regression in rtpjitterbuffer that caused PTS to be reset to 0 on
- Fix detection of some HLS streams
- Various fixes to the MOV/MP4 muxer and demuxer
gaps in the input
- gst-libav was updated to ffmpeg 3.2.5, fixing a couple of CVEs
- ... and many, many more!
For a full list of bugfixes see [Bugzilla][buglist-1.10.5]. Note that this is
not the full list of changes and also does not include bug reports that were
closed after the 1.12.0 release. For the full list of changes please refer to
the GIT logs or ChangeLogs of the particular modules.
[buglist-1.10.5]: https://bugzilla.gnome.org/buglist.cgi?bug_status=RESOLVED&bug_status=VERIFIED&classification=Platform&limit=0&list_id=187054&order=bug_id&product=GStreamer&query_format=advanced&resolution=FIXED&target_milestone=1.10.5
## Known Issues
- iOS builds with iOS 6 SDK and old C++ STL. You need to select iOS 6 instead
......@@ -1083,11 +1217,6 @@ which is a stable branch.
- Building applications with Android NDK r13 on Windows does not work. Other
platforms and earlier/later versions of the NDK are not affected.
[Bug #772842](https://bugzilla.gnome.org/show_bug.cgi?id=772842)
- The new leaks tracer may deadlock the application (or exhibit other undefined
behaviour) when `SIGUSR` handling is enabled via the `GST_LEAKS_TRACER_SIG`
environment variable. [Bug #770373](https://bugzilla.gnome.org/show_bug.cgi?id=770373)
- vp8enc crashes on 32 bit Windows, but was working fine in 1.6. 64 bit Windows is unaffected.
[Bug #763663](https://bugzilla.gnome.org/show_bug.cgi?id=763663)
## Schedule for 1.12
......@@ -1096,9 +1225,9 @@ development version leading up to the stable 1.12 release. The development
of 1.11/1.12 will happen in the git master branch.
The plan for the 1.12 development cycle is yet to be confirmed, but it is
expected that feature freeze will be around early/mid-January,
expected that feature freeze will be around early/mid-February,
followed by several 1.11 pre-releases and the new 1.12 stable release
in March.
in April.
1.12 will be backwards-compatible to the stable 1.10, 1.8, 1.6, 1.4, 1.2 and
1.0 release series.
......@@ -1111,4 +1240,3 @@ Müller, Reynaldo H. Verdejo Pinochet, Arun Raghavan, Thibault Saunier,
Jan Schmidt, Wim Taymans, Matthew Waters*
*License: [CC BY-SA 4.0](http://creativecommons.org/licenses/by-sa/4.0/)*
......@@ -2,7 +2,7 @@ AC_PREREQ(2.62)
dnl initialize autoconf
dnl when going to/from release please set the nano (fourth number) right !
dnl releases only do Wall, cvs and prerelease does Werror too
AC_INIT(Gst-Validate, 1.10.0,
AC_INIT(Gst-Validate, 1.10.5,
http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer,
gst-validate)
......@@ -10,7 +10,7 @@ dnl This is the version of the testsuite to use with the current version
dnl of gst-validate. During development it should be "master"
dnl during release cycle it should be the release version (1.6 in the 1.6
dnl branch, 1.5.90 for the 1.5.90 release)
GST_VALIDATE_TESTSUITE_VERSION="master"
GST_VALIDATE_TESTSUITE_VERSION="1.10"
AS_AC_EXPAND(GST_VALIDATE_TESTSUITE_VERSION, $GST_VALIDATE_TESTSUITE_VERSION)
AG_GST_INIT
......@@ -49,7 +49,7 @@ AC_SUBST(GST_API_VERSION)
AC_DEFINE_UNQUOTED(GST_API_VERSION, "$GST_API_VERSION",
[GStreamer API Version])
AS_LIBTOOL(GST, 1000, 0, 1000)
AS_LIBTOOL(GST, 1005, 0, 1005)
dnl *** required versions of GStreamer stuff ***
GST_REQ=1.10.0
......
......@@ -52,6 +52,46 @@
</GitRepository>
</repository>
<Version>
<revision>1.10.5</revision>
<branch>1.10</branch>
<created>2017-06-15</created>
<file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-validate/gst-validate-1.10.5.tar.xz" />
</Version>
</release>
<Version>
<revision>1.10.4</revision>
<branch>1.10</branch>
<created>2017-02-23</created>
<file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-validate/gst-validate-1.10.4.tar.xz" />
</Version>
</release>
<Version>
<revision>1.10.3</revision>
<branch>1.10</branch>
<created>2017-01-30</created>
<file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-validate/gst-validate-1.10.3.tar.xz" />
</Version>
</release>
<Version>
<revision>1.10.2</revision>
<branch>1.10</branch>
<created>2016-11-29</created>
<file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-validate/gst-validate-1.10.2.tar.xz" />
</Version>
</release>
<Version>
<revision>1.10.1</revision>
<branch>1.10</branch>
<created>2016-11-17</created>
<file-release rdf:resource="http://gstreamer.freedesktop.org/src/gst-validate/gst-validate-1.10.1.tar.xz" />
</Version>
</release>
<Version>
<revision>1.10.0</revision>
<branch>master</branch>
......
......@@ -99,13 +99,11 @@ GstValidate-@GST_API_VERSION@.gir: $(INTROSPECTION_SCANNER) libgstvalidate-@GST_
-I$(top_builddir) \
--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-@GST_API_VERSION@` \
--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-base-@GST_API_VERSION@` \
--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-video-@GST_API_VERSION@` \
--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-audio-@GST_API_VERSION@` \
--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-pbutils-@GST_API_VERSION@` \
--add-include-path=`PKG_CONFIG_PATH="$(GST_PKG_CONFIG_PATH)" $(PKG_CONFIG) --variable=girdir gstreamer-tag-@GST_API_VERSION@` \
--library=libgstvalidate-@GST_API_VERSION@.la \
--include=GLib-2.0 \
--include=GstVideo-@GST_API_VERSION@ \
--include=GstPbutils-@GST_API_VERSION@ \
--include=GObject-2.0 \
--include=GModule-2.0 \
......
......@@ -44,7 +44,7 @@
* gst_validate_monitor_factory_create:
* @target: The #GstObject to create a #GstValidateMonitor for
* @runner: The #GstValidateRunner to use for the new monitor
* @parent: (optional) (nullable): The parent of the new monitor
* @parent: (nullable): The parent of the new monitor
*
* Create a new monitor for @target and starts monitoring it.
*
......
......@@ -2299,13 +2299,13 @@ gst_validate_pad_monitor_activatemode_func (GstPad * pad, GstObject * parent,
return ret;
}
static gboolean
static GstFlowReturn
gst_validate_pad_get_range_func (GstPad * pad, GstObject * parent,
guint64 offset, guint size, GstBuffer ** buffer)
{
GstValidatePadMonitor *pad_monitor =
g_object_get_data ((GObject *) pad, "validate-monitor");
gboolean ret;
GstFlowReturn ret;
ret = pad_monitor->getrange_func (pad, parent, offset, size, buffer);
return ret;
}
......
......@@ -146,15 +146,6 @@ _check_pad_query_failures (GstPad * pad, GString * str,
GstValidatePadMonitor *monitor;
GstPad *ghost_target = NULL;
if (GST_IS_GHOST_PAD (pad)) {
ghost_target = gst_ghost_pad_get_target (GST_GHOST_PAD (pad));
if (!ghost_target)
return;
pad = ghost_target;
}
monitor = g_object_get_data (G_OBJECT (pad), "validate-monitor");
if (monitor->last_query_res && gst_caps_is_empty (monitor->last_query_res)) {
......@@ -185,6 +176,25 @@ _gather_pad_negotiation_details (GstPad * pad, GString * str,
if (!peer)
return;
while (GST_IS_PROXY_PAD (peer)) {
GstPad *next_pad;
if (GST_IS_GHOST_PAD (peer)) {
next_pad = gst_pad_get_peer (peer);
if (next_pad == pad)
next_pad = gst_ghost_pad_get_target (GST_GHOST_PAD (peer));
} else {
next_pad = GST_PAD (gst_proxy_pad_get_internal (GST_PROXY_PAD (peer)));
}
if (!next_pad)
return;
gst_object_unref (peer);
peer = next_pad;
}
_check_pad_query_failures (peer, str, last_query_caps_fail_monitor,
last_refused_caps_monitor);
......
......@@ -690,11 +690,13 @@ gst_validate_report_init (void)
void
gst_validate_report_deinit (void)
{
if (server_ostream)
if (server_ostream) {
g_output_stream_close (server_ostream, NULL, NULL);
server_ostream = NULL;
}
g_clear_object (&socket_client);
g_clear_object (&server_connection);
g_clear_object (&server_ostream);
}
GstValidateIssue *
......
......@@ -135,6 +135,12 @@ gst_validate_reporter_get_reporting_level (GstValidateReporter * reporter)
return ret;
}
/**
* gst_validate_reporter_get_pipeline:
* @reporter: The reporter to get the pipeline from
*
* Returns: (transfer full) (allow-none): The #GstPipeline
*/
GstPipeline *
gst_validate_reporter_get_pipeline (GstValidateReporter * reporter)
{
......
......@@ -684,7 +684,7 @@ gst_validate_runner_get_reports_count (GstValidateRunner * runner)
* gst_validate_runner_get_reports:
* @runner: The #GstValidateRunner
*
* Return: (element-type GstValidate.Report)(transfer full): all the reports
* Return: (element-type GstValidateReport)(transfer full): all the reports
*/
GList *
gst_validate_runner_get_reports (GstValidateRunner * runner)
......
......@@ -1352,10 +1352,9 @@ _get_position (GstValidateScenario * scenario,
static gboolean
_check_position (GstValidateScenario * scenario, GstValidateAction * act,
GstClockTime * position)
GstClockTime * position, gdouble * rate)
{
GstQuery *query;
gdouble rate;
GstClockTime start_with_tolerance, stop_with_tolerance;
GstValidateScenarioPrivate *priv = scenario->priv;
......@@ -1393,15 +1392,15 @@ _check_position (GstValidateScenario * scenario, GstValidateAction * act,
query = gst_query_new_segment (GST_FORMAT_DEFAULT);
if (gst_element_query (GST_ELEMENT (scenario->pipeline), query))
gst_query_parse_segment (query, &rate, NULL, NULL, NULL);
gst_query_parse_segment (query, rate, NULL, NULL, NULL);
gst_query_unref (query);
if (priv->seeked_in_pause && priv->seek_flags & GST_SEEK_FLAG_ACCURATE) {
if ((rate > 0 && (*position >= priv->segment_start + priv->seek_pos_tol ||
if ((*rate > 0 && (*position >= priv->segment_start + priv->seek_pos_tol ||
*position < ((priv->segment_start <
priv->seek_pos_tol) ? 0 : priv->segment_start -
priv->seek_pos_tol)))
|| (rate < 0 && (*position > priv->segment_start + priv->seek_pos_tol
|| (*rate < 0 && (*position > priv->segment_start + priv->seek_pos_tol
|| *position < ((priv->segment_start <
priv->seek_pos_tol) ? 0 : priv->segment_start -
priv->seek_pos_tol)))) {
......@@ -1782,7 +1781,7 @@ execute_next_action (GstValidateScenario * scenario)
}
}
if (!_check_position (scenario, act, &position))
if (!_check_position (scenario, act, &position, &rate))
return G_SOURCE_CONTINUE;
if (!_should_execute_action (scenario, act, position, rate)) {
......@@ -3428,7 +3427,7 @@ gst_validate_action_get_scenario (GstValidateAction * action)
* retrieved with #gst_plugin_get_name when the action type
* is register inside a plugin.
* @function: (scope notified): The function to be called to execute the action
* @parameters: (allow-none) (array zero-terminated=1) (element-type GstValidate.ActionParameter): The #GstValidateActionParameter usable as parameter of the type
* @parameters: (allow-none) (array zero-terminated=1) (element-type GstValidateActionParameter): The #GstValidateActionParameter usable as parameter of the type
* @description: A description of the new type
* @flags: The #GstValidateActionTypeFlags to set on the new action type
*
......@@ -3473,7 +3472,7 @@ _free_action_types (GList * action_types)
* new implementation will be used and returned.
* @type_name: The name of the new action type to add
* @function: (scope notified): The function to be called to execute the action
* @parameters: (allow-none) (array zero-terminated=1) (element-type GstValidate.ActionParameter): The #GstValidateActionParameter usable as parameter of the type
* @parameters: (allow-none) (array zero-terminated=1) (element-type GstValidateActionParameter): The #GstValidateActionParameter usable as parameter of the type
* @description: A description of the new type
* @flags: The #GstValidateActionTypeFlags to be set on the new action type
*
......@@ -3566,7 +3565,7 @@ gst_validate_list_action_types (void)
/**
* gst_validate_print_action_types:
* @wanted_types: (array length=num_wanted_types): (optional): List of types to be printed
* @num_wanted_types: (optional): Length of @wanted_types
* @num_wanted_types: Length of @wanted_types
*
* Prints the action types details wanted in @wanted_types
*
......
......@@ -160,7 +160,7 @@ typedef enum
* @name: The name of the new action type to add
* @implementer_namespace: The namespace of the implementer of the action type
* @execute: The function to be called to execute the action
* @parameters: (allow-none) (array zero-terminated=1) (element-type GstValidate.ActionParameter): The #GstValidateActionParameter usable as parameter of the type
* @parameters: (allow-none) (array zero-terminated=1) (element-type GstValidateActionParameter): The #GstValidateActionParameter usable as parameter of the type
* @description: A description of the new type
* @flags: The flags of the action type
*/
......
......@@ -49,7 +49,7 @@ gstvalidate = shared_library('gstvalidate-1.0',
gst_pbutils_dep, mathlib, json_dep,
unwind_dep, dw_dep])
gstvalidate = shared_library('gstvalidateplugin',
gstvalidateplugin = shared_library('gstvalidateplugin',
sources: gstvalidate_sources,
include_directories : [inc_dirs],
install: true,
......@@ -81,7 +81,6 @@ if build_gir
'GLib-2.0',
'Gio-2.0',
'GModule-2.0',
'GstVideo-' + apiversion,
'Gst-' + apiversion,
'GstPbutils-' + apiversion],
install : true,
......
......@@ -33,7 +33,6 @@
#include <glib/gstdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include "validate.h"
#include "gst-validate-utils.h"
......
......@@ -551,9 +551,9 @@ class GstValidateTest(Test):
def stop_server(self):
if self.server:
self.server.server_close()
self.server.shutdown()
self.server_thread.join()
self.server.server_close()
self.server = None
def kill_subprocess(self):
......@@ -582,8 +582,6 @@ class GstValidateTest(Test):
self.info("%s server port: %s" % (self, self.serverport))
ready.set()
# Activate the server; this will keep running until you
# interrupt the program with Ctrl-C
self.server.serve_forever()
def test_start(self, queue):
......@@ -711,7 +709,7 @@ class GstValidateTest(Test):
del expected_failure[key]
for key, value in report.items():
if key in expected_failure:
if not re.findall(expected_failure[key], value):
if not re.findall(expected_failure[key], str(value)):
return False
expected_failure.pop(key)
......@@ -1775,7 +1773,10 @@ class GstValidateMediaDescriptor(MediaDescriptor):
if verbose:
printc("Result: Passed", Colors.OKGREEN)
return GstValidateMediaDescriptor(descriptor_path)
try:
return GstValidateMediaDescriptor(descriptor_path)
except FileNotFoundError:
return None
def get_path(self):
return self._xml_path
......
......@@ -58,7 +58,6 @@ class Xvfb(VirtualFrameBufferServer):
print("DISPLAY set to %s" % self.display_id)
return True
except subprocess.CalledProcessError:
os.environ["DISPLAY"] = cdisplay
pass
if time.time() - start > timeout:
......
......@@ -34,7 +34,7 @@ def get_pipelines(test_manager):
{'level': 'critical', 'summary': 'a NOT NEGOTIATED message has been posted on the bus.',
'details': r'.*Caps negotiation failed at pad.*capsfilter:sink.*as it refused caps:.*'}]}),
("not_negotiated.caps_query_failure",
"audiotestsrc ! input-selector name=i ! capsfilter name=capsfilter caps=video/x-raw ! fakesink",
"\( \( audiotestsrc \) ! input-selector name=i \) ! capsfilter name=capsfilter caps=video/x-raw ! fakesink",
{"expected-failures": [
{'returncode': 18},
{'level': 'critical', 'summary': 'a NOT NEGOTIATED message has been posted on the bus.',
......
......@@ -144,14 +144,16 @@ main (int argc, gchar ** argv)
g_free (output);
}
ret = gst_validate_runner_exit (runner, TRUE);
if (ret && expected_file) {
output = gst_validate_media_descriptor_writer_serialize (writer);
g_print ("Media info:\n%s\n", output);
g_free (output);
out:
if (runner) {
ret = gst_validate_runner_exit (runner, TRUE);
if (ret && expected_file) {
output = gst_validate_media_descriptor_writer_serialize (writer);
g_print ("Media info:\n%s\n", output);
g_free (output);
}
}
out:
g_free (output_file);
g_free (expected_file);
......