Edward Hervey [Mon, 2 Sep 2013 13:42:40 +0000 (15:42 +0200)]
tools: Update .gitignore for tools move
Thiago Santos [Thu, 5 Sep 2013 19:15:40 +0000 (16:15 -0300)]
pad-monitor: avoid false positives when a seek fails
Remove the expected seqnums for events when a seek fails, preventing
false positives at the final report
Vincent Penquerc'h [Thu, 5 Sep 2013 08:34:42 +0000 (04:34 -0400)]
monitor-preload: schedule a report printout at exit
Conflicts:
tools/gst-validate.c
Vincent Penquerc'h [Wed, 4 Sep 2013 15:09:50 +0000 (11:09 -0400)]
gst-validate: ensure the top level element is a pipeline
For instance, "fakesrc" will return a fakesrc, not a pipeline.
This is similar to what gst-launch does, and avoids calling
pipeline API on a non pipeline object (and thus asserting).
Vincent Penquerc'h [Wed, 4 Sep 2013 15:05:48 +0000 (11:05 -0400)]
gst-validate: do not try to use a pipeline which failed to create
Instead, error out properly with the actual error, if available.
Vincent Penquerc'h [Wed, 4 Sep 2013 14:50:11 +0000 (10:50 -0400)]
gst-validate: initialize gst/glib before use in scenario listing
Also ensure that if just -l is passed, we don't try creating a
non existent pipeline.
This makes gst-validate -l work properly again.
Thiago Santos [Thu, 5 Sep 2013 14:47:21 +0000 (11:47 -0300)]
pad-monitor: fix typo on macro usage
Pass the correct variable to macro
Thiago Santos [Thu, 5 Sep 2013 14:46:46 +0000 (11:46 -0300)]
pad-monitor: allow flushing flow returns when pad is flushing
It should always be acceptable to return GST_FLOW_FLUSHING when the
pad is flushing
Thiago Santos [Tue, 3 Sep 2013 18:58:20 +0000 (15:58 -0300)]
pad-monitor: removing bad check
Elements are allowed to accumulate segments, they don't have to push
1:1 segments as they receive
Thiago Santos [Tue, 3 Sep 2013 18:35:36 +0000 (15:35 -0300)]
pad-monitor: buffer timestamp ranges check
Improve buffer timestamp range check:
* Only do it for encoders or decoders
* Audio has an acceptable tolerance of 100ms
To do this, keep track of the caps on the pad and store
if it is dealing with audio or video
Thiago Santos [Tue, 3 Sep 2013 18:17:05 +0000 (15:17 -0300)]
pad-monitor: move caps check to common event handling
Allows both src and sink pad to keep track of the current caps, but
the duplicated caps check is still only applied to sink pads as
src pads can push the same caps multiple times when it isn't linked
Thiago Santos [Mon, 2 Sep 2013 23:41:35 +0000 (20:41 -0300)]
pad-monitor: fix reference handling for expired events list
Thiago Santos [Mon, 2 Sep 2013 19:08:19 +0000 (16:08 -0300)]
docs: update and improve
Thanks to Thibault Saunier for most of the explanatory texts
Thiago Santos [Mon, 2 Sep 2013 16:22:51 +0000 (13:22 -0300)]
Replacing mentions of qa with validate
Edward Hervey [Mon, 2 Sep 2013 15:18:07 +0000 (12:18 -0300)]
pad-monitor: Check if iterator exists before trying to use it
Edward Hervey [Mon, 2 Sep 2013 15:15:24 +0000 (12:15 -0300)]
pad-monitor: make debug log more readable
Use pad as the debug object to make logs more meaningful.
Also adds a FIXME note
Edward Hervey [Mon, 2 Sep 2013 15:11:25 +0000 (12:11 -0300)]
element-monitor: protect agains elements that have no klass
Thiago Santos [Mon, 2 Sep 2013 14:37:02 +0000 (11:37 -0300)]
pad-monitor: use activate-mode function to detect when to clear pad data
Clear as much as a flush-stop when pad is deactivated
Edward Hervey [Fri, 23 Aug 2013 07:15:29 +0000 (09:15 +0200)]
WIP: pad-monitor: Fix serialized event order check
Thiago Santos [Mon, 2 Sep 2013 13:46:55 +0000 (10:46 -0300)]
pad-monitor: also track eos event that should be emitted after a seek
When seeking out of the media file length, the element should push an
EOS with the same seqnum of the seek event
Thiago Santos [Mon, 2 Sep 2013 13:46:42 +0000 (10:46 -0300)]
scenario: add missing space
Edward Hervey [Sun, 25 Aug 2013 17:53:27 +0000 (19:53 +0200)]
validate: prettify output of results
Makes the result a bit more readable than a compact multi-line list.
FIXME: Figure out how to print the description of the issues (which can
spawn multiple lines) in a nice way.
Thiago Santos [Thu, 29 Aug 2013 17:27:34 +0000 (14:27 -0300)]
scenario: add missing line break after print
Thiago Santos [Thu, 29 Aug 2013 17:26:05 +0000 (14:26 -0300)]
pad-monitor: avoid tracking tag events
Tag events are hard to track and check if properly serialized because
they mutate too much inside elements. There is no reliable way currently
to match a tag event pushed into an element and another tag event
leaving the element (other than if the pointers are actually the same).
Thiago Santos [Thu, 29 Aug 2013 14:48:33 +0000 (11:48 -0300)]
pad-monitor: only do combined return checks for demuxers
Seems like the only place that gstreamer elements should really
care about it
Thiago Santos [Thu, 29 Aug 2013 14:47:58 +0000 (11:47 -0300)]
pad-monitor: add two useful macros for readability
Avoids using long macros and having to check for pad-monitor parent
existance
Vincent Penquerc'h [Wed, 28 Aug 2013 10:07:40 +0000 (06:07 -0400)]
media-info: add a track switching test
This test will find the first input selector with more than one
sink pad, and cycle through them till it gets back to the original
one. Five seconds between switches. The test checks that some data
was sent from the input selector when each of the sink pads was
selected.
Thibault Saunier [Fri, 23 Aug 2013 13:58:58 +0000 (09:58 -0400)]
scenario: Print on stdout when we seek
Thibault Saunier [Fri, 23 Aug 2013 13:39:05 +0000 (09:39 -0400)]
validate: Report an issue result of query state that position > duration
Thibault Saunier [Thu, 22 Aug 2013 20:52:45 +0000 (16:52 -0400)]
scenario: Execute action whenever we pass the expected position
We know are sequential so whenever the wanted position is passed we
should execute the action.
This avoid issue with the tolerance when we have high rate playback
Thibault Saunier [Thu, 22 Aug 2013 16:16:55 +0000 (12:16 -0400)]
validate: Dump pipeline for each state change
Ala gst-launch
Thibault Saunier [Thu, 22 Aug 2013 15:17:26 +0000 (11:17 -0400)]
transcoding: Print duration regularly
Thibault Saunier [Thu, 22 Aug 2013 14:51:49 +0000 (10:51 -0400)]
validate: Print state changes to help debugging
Thiago Santos [Wed, 28 Aug 2013 19:58:11 +0000 (16:58 -0300)]
licenses: improving licensing info on all files
Thiago Santos [Wed, 28 Aug 2013 19:49:07 +0000 (16:49 -0300)]
pad-monitor: fix typo when acessing parents data
Thiago Santos [Tue, 27 Aug 2013 21:23:09 +0000 (18:23 -0300)]
pad-monitor: reset buffer timestamp data after a flush
As the pad/element also clears its internal state
Thiago Santos [Tue, 27 Aug 2013 19:16:08 +0000 (16:16 -0300)]
pad-monitor: also track flush events on probes
Thiago Santos [Tue, 27 Aug 2013 14:56:33 +0000 (11:56 -0300)]
tools: moving applications from gst/validate to tools
Keeps the CLI applications separate from the libs files
Vincent Penquerc'h [Tue, 27 Aug 2013 09:15:19 +0000 (05:15 -0400)]
gst-validate-scenario: fix scenario listing missing installed ones
Only scenarii in the current directory or the user's home directory
were being listed.
Vincent Penquerc'h [Tue, 27 Aug 2013 09:08:46 +0000 (05:08 -0400)]
gst-validate-transcoding: fix help text to refer to URIs as URIs
Referring to them as files is confusing, as you'll try to use files
and not URIs.
Vincent Penquerc'h [Tue, 27 Aug 2013 08:38:52 +0000 (04:38 -0400)]
docs: minor spelling/grammar fixes
Thiago Santos [Tue, 27 Aug 2013 14:48:00 +0000 (11:48 -0300)]
pad-monitor: Move repeated caps to test only on sinkpads
Testing on source pads can lead to false positives when pads are
unlinked. The caps event is sticky and will be pushed again later
when another buffer/event is pushed, leading to an acceptable
situation to push the caps twice.
Thiago Santos [Mon, 26 Aug 2013 23:30:07 +0000 (20:30 -0300)]
pad-monitor: add another acceptable flow return combination scenarios
A demuxer knows when to return EOS after samples are over, so it is
ok for it to return even when all src pads returned OK
Thiago Santos [Mon, 26 Aug 2013 21:38:27 +0000 (18:38 -0300)]
pad-monitor: improve serialized event checks
If the event was already found at the first position of the array, it
shouldn't be searched on the rest of it.
This removes lots of false positives.
Thiago Santos [Mon, 26 Aug 2013 21:36:06 +0000 (18:36 -0300)]
pad-monitor: fix aggregate flow return check for error situations
Flow flushing must be returned upstream to indicate an error situation
downstream
Thiago Santos [Mon, 26 Aug 2013 23:31:22 +0000 (20:31 -0300)]
gst-validate: print error message when starting the pipeline fails
Instead of just exiting silently
Edward Hervey [Fri, 23 Aug 2013 07:16:43 +0000 (09:16 +0200)]
pad-monitor: New check for duplicate caps event
We shouldn't get/push twice caps that are identical
Thiago Santos [Fri, 23 Aug 2013 20:26:51 +0000 (17:26 -0300)]
media-info: avoid glib assert
Edward Hervey [Fri, 23 Aug 2013 09:38:15 +0000 (11:38 +0200)]
report: Avoid repeating long macros
Makes the code a bit more readable and compact
Edward Hervey [Fri, 23 Aug 2013 09:07:40 +0000 (11:07 +0200)]
validate-report: Fix critical flag handling
criticals are warnings/issues also
warnings are issues also
Thibault Saunier [Tue, 20 Aug 2013 21:25:48 +0000 (17:25 -0400)]
data: Add a test that alternates (fast) backward and forward playback
Thibault Saunier [Mon, 19 Aug 2013 14:03:04 +0000 (10:03 -0400)]
data: Add a seek_backward/forward scenarios
Thibault Saunier [Mon, 19 Aug 2013 14:02:35 +0000 (10:02 -0400)]
scenario: Have GstClockTime as second (in double) inside scenario files
Making it easier to read
Thibault Saunier [Thu, 15 Aug 2013 15:32:23 +0000 (17:32 +0200)]
data: Add fast_forward/backward and simple_backward scenarios
Thibault Saunier [Thu, 15 Aug 2013 10:34:09 +0000 (12:34 +0200)]
data: Add a Backward and Forward seeking scenario
Thibault Saunier [Thu, 15 Aug 2013 10:17:43 +0000 (12:17 +0200)]
data: Add a Pause/Resume scenario
Thibault Saunier [Mon, 19 Aug 2013 18:13:10 +0000 (14:13 -0400)]
validate: Set return value of apps to -1 only if a critical issues was reported
Conflicts:
gst/validate/gst-validate-transcoding.c
gst/validate/gst-validate.c
Thibault Saunier [Fri, 16 Aug 2013 14:41:50 +0000 (16:41 +0200)]
transcoding: Make sure to initialize Gst before parsing options
Avoiding to break the help
Thibault Saunier [Thu, 15 Aug 2013 13:59:22 +0000 (15:59 +0200)]
transcoding: Connect to the bus signals watch as the main watch might already be connected
Thibault Saunier [Thu, 15 Aug 2013 15:31:17 +0000 (17:31 +0200)]
scenario: Start monitoring the position only when the pipeline starts playing
Otherwize seeking with a playback_time=0 won't work properly
Thibault Saunier [Thu, 15 Aug 2013 15:30:34 +0000 (17:30 +0200)]
scenario: Fix negative rate management
Properly parse the it has a gdouble and set the stop position of the seek as
seeked_position if the rate is negative
+ Add some debug
Thibault Saunier [Thu, 15 Aug 2013 10:33:23 +0000 (12:33 +0200)]
scenario: Actions order in xml file is the order in which they must be executed
When seeking we might want to execute seeks at a playback time inferior than previous
seek, so we need to be able to define the order in which actions have to be
executed, the simplest way is to just concider that actions are always
order in the XML files.
+ Add some more debugs
Conflicts:
gst/validate/gst-validate-scenario.c
Thibault Saunier [Thu, 15 Aug 2013 13:57:52 +0000 (15:57 +0200)]
scenario: Rename the seeks list to actions, and initialize action to 0 when allocating
Thibault Saunier [Fri, 16 Aug 2013 10:17:34 +0000 (12:17 +0200)]
scenario: Rename scenario xml files extension to .scenario
Thibault Saunier [Thu, 15 Aug 2013 10:18:56 +0000 (12:18 +0200)]
validate: Connect to the bus signals watch as the main watch might already be connected
Thibault Saunier [Fri, 16 Aug 2013 10:50:51 +0000 (12:50 +0200)]
validate: Add a way to list avalaible scenarios
Conflicts:
gst/validate/gst-validate-transcoding.c
Thiago Santos [Thu, 22 Aug 2013 13:35:50 +0000 (10:35 -0300)]
gst-validate-transcoding: add signal handling and issues printing
Update to have the same features as gst-validate.
1) Handle interrupts properly, with the additional of having the
'eos-on-shutdown' argument that sends EOS to the pipeline. This is
very useful for transcoding processes to finish correctly.
2) Print issues on the end of application
Thiago Santos [Thu, 22 Aug 2013 13:08:13 +0000 (10:08 -0300)]
gst-validate: add interrupt handler
Handle interrupt properly to still print issues when exiting
Edward Hervey [Wed, 21 Aug 2013 16:21:41 +0000 (18:21 +0200)]
pad-monitor: Fix source pad probe handling
type is a bitmask and not an enum
Thiago Santos [Wed, 21 Aug 2013 16:10:42 +0000 (13:10 -0300)]
gst-validate: fix documentation after debug category changes
Edward Hervey [Wed, 21 Aug 2013 16:00:16 +0000 (18:00 +0200)]
validate-reporter: More comprehensive debug message
Some issues don't have any arguments, so put the full details in.
Edward Hervey [Tue, 20 Aug 2013 09:43:07 +0000 (11:43 +0200)]
validate: Only use one debugging category: validate
There's no point in having a different debug category per file, you
can filter it by source filename if you *really* want that.
Thiago Santos [Wed, 21 Aug 2013 15:11:40 +0000 (12:11 -0300)]
gst-validate: print issues at the end
And improve documentation about usage
Thiago Santos [Wed, 21 Aug 2013 14:03:19 +0000 (11:03 -0300)]
media-check: add results file comparison
Adds a new expected-results argument to receive a file that is used
as a base for comparison with the new results. In case differences are
found, the application will print those issues.
Thiago Santos [Tue, 20 Aug 2013 20:10:44 +0000 (17:10 -0300)]
reporter: do not print issues to stdout
Thiago Santos [Tue, 20 Aug 2013 18:44:10 +0000 (15:44 -0300)]
media-info: fix playback tests
They weren't waiting for the pipeline to properly change state
before sending seek events, that would cause some events to
return TRUE even if they were not handled
Thiago Santos [Tue, 20 Aug 2013 18:42:54 +0000 (15:42 -0300)]
media-check: return nonzero if a test failed
Thiago Santos [Tue, 20 Aug 2013 16:24:31 +0000 (13:24 -0300)]
media-info: add playback and reverse-playback tests
The tests are very simple as they only write the first error they
found during playback. If no error is set, an empty string is
printed.
The playback pipeline isn't monitored with validate monitors for now
Thiago Santos [Tue, 20 Aug 2013 14:43:06 +0000 (11:43 -0300)]
rename: gst-validate-file-check -> gst-validate-media-check
It not only validates files, takes any URI
Thiago Santos [Tue, 20 Aug 2013 14:41:15 +0000 (11:41 -0300)]
media-info: add stream topology parsing
Currently it only saves/loads the main type, but all topology is
already being parsed for future use
Thiago Santos [Mon, 19 Aug 2013 19:52:12 +0000 (16:52 -0300)]
media-info: add duration and seekable entries
Add duration entry in ns and seekable as a boolean to a new group
'media-info'
Thiago Santos [Mon, 19 Aug 2013 19:38:13 +0000 (16:38 -0300)]
media-info: replacing file-checker with a simpler media-info struct
This struct stores information about a media and tests run on it. It
also has a few helper functions that allows storing the results to a
file and loading it back.
Instead of having the file-checker object that would compare the
extracted values from the file to expected results set to its properties,
the media-info will store the values and it will be possible to compare
old media-info with new media-info from the same file. This allows
tracking improvements and regressions on different gstreamer versions.
Right now, the media-info is very tiny and doesn't store much info, only
the uri and the file size in bytes, but it will receive more additions in
the upcoming commits for storing duration, media topology, seekability and
playback information.
Edward Hervey [Fri, 16 Aug 2013 13:15:51 +0000 (15:15 +0200)]
.gitignore: Update for 1.0 and cleanup
Edward Hervey [Fri, 16 Aug 2013 13:05:54 +0000 (15:05 +0200)]
all: Enable more C warnings at build time
And fix the issues:
* Proper forward declaration
* static functions marked properly
* absolute includes
* declaration order
Edward Hervey [Fri, 16 Aug 2013 12:27:29 +0000 (14:27 +0200)]
reporter: Fix proper debug message output partially
In order for the special gstreamer print argument handler to be used
you can't use g_strdup_printf. You need to pass it the actual va_list.
Edward Hervey [Fri, 16 Aug 2013 12:26:35 +0000 (14:26 +0200)]
pad-monitor: Handle case where internal pad iterator is NULL
Can happen with inputselector
Edward Hervey [Fri, 16 Aug 2013 12:25:49 +0000 (14:25 +0200)]
pad-monitor: Don't use signal that doesn't exist
Note that we should just ensure we always get the pads from the parent
Edward Hervey [Fri, 16 Aug 2013 12:24:12 +0000 (14:24 +0200)]
pad-monitor: Update raw audio caps checks
Edward Hervey [Fri, 16 Aug 2013 12:23:05 +0000 (14:23 +0200)]
pad-monitor: Fix locking issues
We were taking locks twice.
Also add debugging info when taking/releasing locks to help further similar issues
Edward Hervey [Fri, 16 Aug 2013 09:24:11 +0000 (11:24 +0200)]
file-checker: GstEncodingProfile is a GObject in 1.0
Thiago Santos [Thu, 15 Aug 2013 04:46:27 +0000 (01:46 -0300)]
gst-validate: port to 1.0
Thiago Santos [Thu, 15 Aug 2013 04:44:59 +0000 (01:44 -0300)]
po: missing po rename
Thiago Santos [Wed, 14 Aug 2013 23:03:43 +0000 (20:03 -0300)]
validade: add missing config.h includes
Thiago Santos [Wed, 14 Aug 2013 22:14:18 +0000 (19:14 -0300)]
validate: add init function
Adds an init() function that should be called before using the lib.
It takes care of calling all internal initializing functions in
gst-validete
Thiago Santos [Wed, 14 Aug 2013 21:04:23 +0000 (18:04 -0300)]
tools: improve documentation
Thiago Santos [Wed, 14 Aug 2013 19:30:39 +0000 (16:30 -0300)]
rename gst-qa -> gst-validate
Thiago Santos [Wed, 14 Aug 2013 18:58:34 +0000 (15:58 -0300)]
pad-monitor: only do complete caps checks on setcaps
On get caps it is acceptable to have missing fields to simplify caps
negotiation
Thiago Santos [Tue, 13 Aug 2013 16:40:48 +0000 (13:40 -0300)]
qa-preload: split to separate lib
It should only be used separately, otherwise it will wrap around any
pipeline from applications linking with gstqa
Thiago Santos [Mon, 12 Aug 2013 18:18:36 +0000 (15:18 -0300)]
file-check: add reverse-playback test
Adds a test that checks if reverse playback works without errors
Edward Hervey [Tue, 13 Aug 2013 09:07:31 +0000 (11:07 +0200)]
qa-reporter: Make debug message a bit more readable
By surrounding it with double quotes