Thiago Santos
9c958417e2
pad-monitor: check that returns are combined properly
...
When getting a return from a sink pad, check that it combines properly
the current returns from downstream source pads
2013-07-17 17:57:39 -03:00
Thiago Santos
425e608456
pad-monitor: verify that pushed segment matches what was received
...
Check that src pads push segments that are compatible with what
was received on the sink pads
2013-07-17 14:36:44 -03:00
Thiago Santos
bd22bb8d1c
pad-monitor: output timestamps should be in range of received ones
...
Checks if the timestamps of pushed buffers are in the range of the
received buffer timestamps;
2013-07-17 11:49:39 -03:00
Thiago Santos
0b90e7bddd
pad-monitor: add check for out of segment buffers
2013-07-17 00:33:42 -03:00
Thiago Santos
c53b10e5c5
pad-monitor: track current buffer timestamp and duration
...
This can be used to make sure outgoing buffers match the input
timestamps
2013-07-17 00:30:21 -03:00
Thiago Santos
9a82afbc87
pad-monitor: check for when a flush start isn't expected
...
Complain when an unexpected flush-start is received
2013-07-17 00:29:38 -03:00
Thiago Santos
c942eabbfd
pad-monitor: add checks for raw caps completeness
...
Check audio and video raw caps returned from getcaps for expected
fields and types
2013-07-17 00:29:04 -03:00
Thiago Santos
fbd6aa1359
qa-monitor: Fix typo in printf format for report debug messages
...
Stringify the arguments correctly for printing
2013-07-17 00:25:11 -03:00
Thiago Santos
6677b5a574
pad-monitor: first buffer checks
...
Check that a newsegment is received before the first buffer and that
the first buffer running time is 0
2013-07-16 23:19:13 -03:00
Thiago Santos
4e84ad6513
qa-report: rework qa-report API
...
Remove error from GstQaErrorReport, making it only GstQaReport. Add
a level and use area and subarea code, with an extra string for message
adding details.
Provide macros on qa-monitor to make it easy to create reports.
2013-07-16 21:15:09 -03:00
Thiago Santos
d1fde6f4cf
pad-monitor: add stubs for getcaps/setcaps function wrapping
2013-07-16 09:17:44 -03:00
Thiago Santos
95f81d7240
pad-monitor: add check for out of segment buffer data
2013-07-16 08:06:27 -03:00
Thiago Santos
a60c2efe4a
qa-report: use gst_util_get_timestamp for report times
...
Makes it more aligned with GST_DEBUG output
2013-07-15 10:15:06 -03:00
Thiago Santos
e96db7dbfa
pad-monitor: split event checks for src and sink pads
...
Keeping those handlers separate should keep the code smaller and
easier to understand
2013-07-15 09:27:34 -03:00
Thiago Santos
cb6b45d375
qa-monitor: add parent relation for monitors
...
This is useful because Pad monitors will have to ask the
parent element monitors for some element details for
doing checks
2013-07-12 16:02:25 -03:00
Thiago Santos
d314df2040
qa-element-monitor: check if the element is a decoder
...
This can be used on checks for timestamps being inside segment
2013-07-12 15:47:16 -03:00
Thiago Santos
6f2dbf1486
pad-monitor: add probes for src pads
...
To be used for further monitoring events and buffers for
src pads
2013-07-12 14:47:29 -03:00
Thiago Santos
0bc7ae9aeb
qa-report: add a timestamp to error reports
2013-07-12 13:32:08 -03:00
Thiago Santos
3476fffd54
qa-report: adds qa-report for reporting errors to GstQaRunner
...
The errors are printed directly to stdout and are accumulated at
GstQaRunner for being printed at the end if requested
2013-07-12 12:43:07 -03:00
Thiago Santos
5250ed4331
qa-monitor-preload: add functions to allow ld-preload to wrap pipelines
...
The preload functions wrap functions that can create pipelines and
attaches a runner to them for monitoring
2013-07-12 11:44:34 -03:00
Thiago Santos
aeacc4270b
qa-monitor: add runner property
...
runner stores the GstQaRunner that will receive the error reports
from the monitors
2013-07-12 00:41:43 -03:00
Thiago Santos
08180f3a4c
pad-monitor: make it able to initialize a segment
...
Do not take the initial format set to TIME too seriously when we
haven't got any newsegment event yet. If it is the first segment
received, switch our internal segment tracker to the event format
2013-07-11 13:45:43 -03:00
Thiago Santos
7de70978cf
gst-qa: add seek-tests option
...
The seek-tests does a simple seeking after the pipeline has started
so that seeking checks can be performed by the monitors
2013-07-11 13:41:25 -03:00
Thiago Santos
c3c1d2e68c
pad-monitor: track some events
...
Segments, upstream seeks and flushes. Adding the following checks:
* A flush stop is expected after a flush start
* After a seek, the flushes/segment seqnum should be the same as the seek
2013-07-11 12:55:17 -03:00
Thiago Santos
7ba50106f2
pad-monitor: only set pad functions if they exist on the pad
...
Some functions should only be set on pads if they were originally
set, like the GetRange, Chain and BufferAlloc
2013-07-11 00:06:14 -03:00
Thiago Santos
5ac4579358
qa-bin-monitor/element-monitor: implement pad/element wrapping
...
Add code that creates new monitors when elements/pads are found
in bin and element monitors
2013-07-11 00:04:41 -03:00
Thiago Santos
ac66ed48fa
qa-monitor: fix various start up issues
...
Fix reference count for monitored object, passing of constructor
parameter and base monitor property flag
2013-07-11 00:03:54 -03:00
Thiago Santos
1e9b4311c9
pad-monitor: instrument to monitor buffer/event/query/alloc flows
...
Replace pad functions with monitor functions that can do pre/post
checks and call the original functions
2013-07-10 18:54:57 -03:00
Thiago Santos
ce0e8ab697
qa-monitor: add base class for monitors
...
The base class adds a 'object' property to hold the monitored object,
it can only be set on construction. Also the constructor now
automatically calls the element set up
2013-07-10 14:15:57 -03:00
Thiago Santos
e04fe10eab
qa-bin-monitor: adds a bin monitor
...
Extends element-monitor to also wrap child elements
2013-07-09 19:20:55 -03:00
Thiago Santos
339ce21a86
qa: renaming Wrapper -> Monitor
2013-07-09 17:38:47 -03:00
Thiago Santos
9b5893b0cd
qa-pad-wrapper: adds stub class for pad QA wrapper
...
Also fixes _new functions to ref the elements intead of
ownership transfers
2013-07-09 16:52:02 -03:00
Thiago Santos
6f2fd90736
qa-element-wrapper: add code for iterating and monitoring pads creation
...
This will be used to create the wrappers for pads
2013-07-09 16:39:38 -03:00
Thiago Santos
4869921198
gitignore: ignore gst-qa binary
2013-07-09 16:13:00 -03:00
Thiago Santos
7caf6e025f
qa: adds gst-qa binary and basic classes to run the QA tests
...
The classes are mostly a stub for now, but the gst-qa already
has a minimum to start them;
2013-07-09 16:08:30 -03:00