mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-20 23:36:38 +00:00
report: Avoid repeating long macros
Makes the code a bit more readable and compact
This commit is contained in:
parent
60a2dfaf72
commit
4f3e1de776
4 changed files with 106 additions and 141 deletions
|
@ -128,8 +128,7 @@ _check_field_type (GstValidatePadMonitor * monitor, GstStructure * structure,
|
|||
gint rejected_types_index = 0;
|
||||
|
||||
if (!gst_structure_has_field (structure, field)) {
|
||||
GST_VALIDATE_REPORT (monitor,
|
||||
GST_VALIDATE_ISSUE_ID_CAPS_IS_MISSING_FIELD,
|
||||
GST_VALIDATE_REPORT (monitor, CAPS_IS_MISSING_FIELD,
|
||||
"Field '%s' is missing from structure: %" GST_PTR_FORMAT, field,
|
||||
structure);
|
||||
return;
|
||||
|
@ -147,12 +146,11 @@ _check_field_type (GstValidatePadMonitor * monitor, GstStructure * structure,
|
|||
va_end (var_args);
|
||||
|
||||
joined_types = g_strjoinv (" / ", (gchar **) rejected_types);
|
||||
GST_VALIDATE_REPORT (monitor,
|
||||
GST_VALIDATE_ISSUE_ID_CAPS_FIELD_HAS_BAD_TYPE,
|
||||
GST_VALIDATE_REPORT (monitor, CAPS_FIELD_HAS_BAD_TYPE,
|
||||
"Field '%s' has wrong type %s in structure '%" GST_PTR_FORMAT
|
||||
"'. Expected: %s", field,
|
||||
g_type_name (gst_structure_get_field_type (structure, field)),
|
||||
structure, joined_types);
|
||||
g_type_name (gst_structure_get_field_type (structure, field)), structure,
|
||||
joined_types);
|
||||
g_free (joined_types);
|
||||
}
|
||||
|
||||
|
@ -418,8 +416,7 @@ gst_validate_pad_monitor_check_caps_fields_proxied (GstValidatePadMonitor *
|
|||
}
|
||||
|
||||
if (type_match && !found) {
|
||||
GST_VALIDATE_REPORT (monitor,
|
||||
GST_VALIDATE_ISSUE_ID_GET_CAPS_NOT_PROXYING_FIELDS,
|
||||
GST_VALIDATE_REPORT (monitor, GET_CAPS_NOT_PROXYING_FIELDS,
|
||||
"Peer pad structure '%" GST_PTR_FORMAT "' has no similar version "
|
||||
"on pad's caps '%" GST_PTR_FORMAT "'", otherstructure, caps);
|
||||
}
|
||||
|
@ -438,8 +435,7 @@ gst_validate_pad_monitor_check_late_serialized_events (GstValidatePadMonitor *
|
|||
SerializedEventData *data =
|
||||
g_ptr_array_index (monitor->serialized_events, i);
|
||||
if (data->timestamp < ts) {
|
||||
GST_VALIDATE_REPORT (monitor,
|
||||
GST_VALIDATE_ISSUE_ID_SERIALIZED_EVENT_WASNT_PUSHED_IN_TIME,
|
||||
GST_VALIDATE_REPORT (monitor, SERIALIZED_EVENT_WASNT_PUSHED_IN_TIME,
|
||||
"Serialized event %" GST_PTR_FORMAT " wasn't pushed before expected "
|
||||
"timestamp %" GST_TIME_FORMAT " on pad %s:%s", data->event,
|
||||
GST_TIME_ARGS (data->timestamp),
|
||||
|
@ -704,8 +700,7 @@ static void
|
|||
return;
|
||||
}
|
||||
if (!found) {
|
||||
GST_VALIDATE_REPORT (monitor,
|
||||
GST_VALIDATE_ISSUE_ID_BUFFER_TIMESTAMP_OUT_OF_RECEIVED_RANGE,
|
||||
GST_VALIDATE_REPORT (monitor, BUFFER_TIMESTAMP_OUT_OF_RECEIVED_RANGE,
|
||||
"Timestamp %" GST_TIME_FORMAT " - %" GST_TIME_FORMAT
|
||||
" is out of range of received input", GST_TIME_ARGS (ts),
|
||||
GST_TIME_ARGS (ts_end));
|
||||
|
@ -722,16 +717,14 @@ gst_validate_pad_monitor_check_first_buffer (GstValidatePadMonitor *
|
|||
if (!pad_monitor->has_segment
|
||||
&& PAD_IS_IN_PUSH_MODE (GST_VALIDATE_PAD_MONITOR_GET_PAD (pad_monitor)))
|
||||
{
|
||||
GST_VALIDATE_REPORT (pad_monitor,
|
||||
GST_VALIDATE_ISSUE_ID_BUFFER_BEFORE_SEGMENT,
|
||||
GST_VALIDATE_REPORT (pad_monitor, BUFFER_BEFORE_SEGMENT,
|
||||
"Received buffer before Segment event");
|
||||
}
|
||||
if (GST_CLOCK_TIME_IS_VALID (GST_BUFFER_TIMESTAMP (buffer))) {
|
||||
gint64 running_time = gst_segment_to_running_time (&pad_monitor->segment,
|
||||
pad_monitor->segment.format, GST_BUFFER_TIMESTAMP (buffer));
|
||||
if (running_time != 0) {
|
||||
GST_VALIDATE_REPORT (pad_monitor,
|
||||
GST_VALIDATE_ISSUE_ID_FIRST_BUFFER_RUNNING_TIME_IS_NOT_ZERO,
|
||||
GST_VALIDATE_REPORT (pad_monitor, FIRST_BUFFER_RUNNING_TIME_IS_NOT_ZERO,
|
||||
"First buffer running time is not 0, it is: %" GST_TIME_FORMAT,
|
||||
GST_TIME_ARGS (running_time));
|
||||
}
|
||||
|
@ -843,10 +836,10 @@ gst_validate_pad_monitor_check_aggregated_return (GstValidatePadMonitor *
|
|||
return;
|
||||
}
|
||||
if (aggregated != ret) {
|
||||
GST_VALIDATE_REPORT (monitor, GST_VALIDATE_ISSUE_ID_WRONG_FLOW_RETURN,
|
||||
GST_VALIDATE_REPORT (monitor, WRONG_FLOW_RETURN,
|
||||
"Wrong combined flow return %s(%d). Expected: %s(%d)",
|
||||
gst_flow_get_name (ret), ret,
|
||||
gst_flow_get_name (aggregated), aggregated);
|
||||
gst_flow_get_name (ret), ret, gst_flow_get_name (aggregated),
|
||||
aggregated);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1019,8 +1012,7 @@ gst_validate_pad_monitor_add_expected_newsegment (GstValidatePadMonitor *
|
|||
othermonitor = g_object_get_data ((GObject *) otherpad, "qa-monitor");
|
||||
GST_VALIDATE_MONITOR_LOCK (othermonitor);
|
||||
if (othermonitor->expected_segment) {
|
||||
GST_VALIDATE_REPORT (othermonitor,
|
||||
GST_VALIDATE_ISSUE_ID_EVENT_NEWSEGMENT_NOT_PUSHED, "");
|
||||
GST_VALIDATE_REPORT (othermonitor, EVENT_NEWSEGMENT_NOT_PUSHED, "");
|
||||
gst_event_unref (othermonitor->expected_segment);
|
||||
}
|
||||
othermonitor->expected_segment = gst_event_ref (event);
|
||||
|
@ -1056,8 +1048,7 @@ gst_validate_pad_monitor_common_event_check (GstValidatePadMonitor *
|
|||
if (seqnum == pad_monitor->pending_flush_start_seqnum) {
|
||||
pad_monitor->pending_flush_start_seqnum = 0;
|
||||
} else {
|
||||
GST_VALIDATE_REPORT (pad_monitor,
|
||||
GST_VALIDATE_ISSUE_ID_EVENT_HAS_WRONG_SEQNUM,
|
||||
GST_VALIDATE_REPORT (pad_monitor, EVENT_HAS_WRONG_SEQNUM,
|
||||
"The expected flush-start seqnum should be the same as the "
|
||||
"one from the event that caused it (probably a seek). Got: %u."
|
||||
" Expected: %u", seqnum, pad_monitor->pending_flush_start_seqnum);
|
||||
|
@ -1065,8 +1056,7 @@ gst_validate_pad_monitor_common_event_check (GstValidatePadMonitor *
|
|||
}
|
||||
|
||||
if (pad_monitor->pending_flush_stop) {
|
||||
GST_VALIDATE_REPORT (pad_monitor,
|
||||
GST_VALIDATE_ISSUE_ID_EVENT_FLUSH_START_UNEXPECTED,
|
||||
GST_VALIDATE_REPORT (pad_monitor, EVENT_FLUSH_START_UNEXPECTED,
|
||||
"Received flush-start from " " when flush-stop was expected");
|
||||
}
|
||||
pad_monitor->pending_flush_stop = TRUE;
|
||||
|
@ -1078,8 +1068,7 @@ gst_validate_pad_monitor_common_event_check (GstValidatePadMonitor *
|
|||
if (seqnum == pad_monitor->pending_flush_stop_seqnum) {
|
||||
pad_monitor->pending_flush_stop_seqnum = 0;
|
||||
} else {
|
||||
GST_VALIDATE_REPORT (pad_monitor,
|
||||
GST_VALIDATE_ISSUE_ID_EVENT_HAS_WRONG_SEQNUM,
|
||||
GST_VALIDATE_REPORT (pad_monitor, EVENT_HAS_WRONG_SEQNUM,
|
||||
"The expected flush-stop seqnum should be the same as the "
|
||||
"one from the event that caused it (probably a seek). Got: %u."
|
||||
" Expected: %u", seqnum, pad_monitor->pending_flush_stop_seqnum);
|
||||
|
@ -1087,8 +1076,7 @@ gst_validate_pad_monitor_common_event_check (GstValidatePadMonitor *
|
|||
}
|
||||
|
||||
if (!pad_monitor->pending_flush_stop) {
|
||||
GST_VALIDATE_REPORT (pad_monitor,
|
||||
GST_VALIDATE_ISSUE_ID_EVENT_FLUSH_STOP_UNEXPECTED,
|
||||
GST_VALIDATE_REPORT (pad_monitor, EVENT_FLUSH_STOP_UNEXPECTED,
|
||||
"Unexpected flush-stop %p" GST_PTR_FORMAT, event);
|
||||
}
|
||||
pad_monitor->pending_flush_stop = FALSE;
|
||||
|
@ -1148,8 +1136,7 @@ gst_validate_pad_monitor_sink_event_check (GstValidatePadMonitor * pad_monitor,
|
|||
|| exp_segment->start != segment->start
|
||||
|| exp_segment->stop != segment->stop
|
||||
|| exp_segment->position != segment->position) {
|
||||
GST_VALIDATE_REPORT (pad_monitor,
|
||||
GST_VALIDATE_ISSUE_ID_EVENT_NEW_SEGMENT_MISMATCH,
|
||||
GST_VALIDATE_REPORT (pad_monitor, EVENT_NEW_SEGMENT_MISMATCH,
|
||||
"Expected segment didn't match received segment event");
|
||||
}
|
||||
}
|
||||
|
@ -1444,8 +1431,7 @@ gst_validate_pad_monitor_buffer_probe (GstPad * pad, GstBuffer * buffer,
|
|||
GST_BUFFER_TIMESTAMP (buffer), GST_BUFFER_TIMESTAMP (buffer) +
|
||||
GST_BUFFER_DURATION (buffer), NULL, NULL)) {
|
||||
/* TODO is this a timestamp issue? */
|
||||
GST_VALIDATE_REPORT (monitor,
|
||||
GST_VALIDATE_ISSUE_ID_BUFFER_IS_OUT_OF_SEGMENT,
|
||||
GST_VALIDATE_REPORT (monitor, BUFFER_IS_OUT_OF_SEGMENT,
|
||||
"buffer is out of segment and shouldn't be pushed. Timestamp: %"
|
||||
GST_TIME_FORMAT " - duration: %" GST_TIME_FORMAT ". Range: %"
|
||||
GST_TIME_FORMAT " - %" GST_TIME_FORMAT,
|
||||
|
@ -1492,8 +1478,7 @@ gst_validate_pad_monitor_event_probe (GstPad * pad, GstEvent * event,
|
|||
|
||||
if (event == stored_event->event
|
||||
|| GST_EVENT_TYPE (event) == GST_EVENT_TYPE (stored_event->event)) {
|
||||
GST_VALIDATE_REPORT (monitor,
|
||||
GST_VALIDATE_ISSUE_ID_EVENT_SERIALIZED_OUT_OF_ORDER,
|
||||
GST_VALIDATE_REPORT (monitor, EVENT_SERIALIZED_OUT_OF_ORDER,
|
||||
"Serialized event %" GST_PTR_FORMAT " was pushed out of original "
|
||||
"serialization order in pad %s:%s", event,
|
||||
GST_DEBUG_PAD_NAME (GST_VALIDATE_PAD_MONITOR_GET_PAD (monitor)));
|
||||
|
@ -1545,13 +1530,11 @@ gst_validate_pad_monitor_setcaps_pre (GstValidatePadMonitor * pad_monitor,
|
|||
gst_structure_get_value (pad_monitor->pending_setcaps_fields, name);
|
||||
|
||||
if (v == NULL) {
|
||||
GST_VALIDATE_REPORT (pad_monitor,
|
||||
GST_VALIDATE_ISSUE_ID_CAPS_EXPECTED_FIELD_NOT_FOUND,
|
||||
GST_VALIDATE_REPORT (pad_monitor, CAPS_EXPECTED_FIELD_NOT_FOUND,
|
||||
"Field %s is missing from setcaps caps '%" GST_PTR_FORMAT "'",
|
||||
name, caps);
|
||||
} else if (gst_value_compare (v, otherv) != GST_VALUE_EQUAL) {
|
||||
GST_VALIDATE_REPORT (pad_monitor,
|
||||
GST_VALIDATE_ISSUE_ID_CAPS_FIELD_UNEXPECTED_VALUE,
|
||||
GST_VALIDATE_REPORT (pad_monitor, CAPS_FIELD_UNEXPECTED_VALUE,
|
||||
"Field %s from setcaps caps '%" GST_PTR_FORMAT "' is different "
|
||||
"from expected value in caps '%" GST_PTR_FORMAT "'", name, caps,
|
||||
pad_monitor->pending_setcaps_fields);
|
||||
|
|
|
@ -78,7 +78,9 @@ gst_validate_issue_register (GstValidateIssue * issue)
|
|||
(gpointer) gst_validate_issue_get_id (issue), issue);
|
||||
}
|
||||
|
||||
#define REGISTER_VALIDATE_ISSUE(id,sum,desc,lvl) gst_validate_issue_register (gst_validate_issue_new (id, sum, desc, lvl))
|
||||
#define REGISTER_VALIDATE_ISSUE(lvl,id,sum,desc) \
|
||||
gst_validate_issue_register (gst_validate_issue_new (GST_VALIDATE_ISSUE_ID_##id, \
|
||||
sum, desc, GST_VALIDATE_REPORT_LEVEL_##lvl))
|
||||
static void
|
||||
gst_validate_report_load_issues (void)
|
||||
{
|
||||
|
@ -87,132 +89,114 @@ gst_validate_report_load_issues (void)
|
|||
_gst_validate_issues = g_hash_table_new_full (g_direct_hash, g_direct_equal,
|
||||
NULL, (GDestroyNotify) gst_validate_issue_free);
|
||||
|
||||
REGISTER_VALIDATE_ISSUE (GST_VALIDATE_ISSUE_ID_BUFFER_BEFORE_SEGMENT,
|
||||
REGISTER_VALIDATE_ISSUE (WARNING, BUFFER_BEFORE_SEGMENT,
|
||||
_("buffer was received before a segment"),
|
||||
_("in push mode, a segment event must be received before a buffer"),
|
||||
GST_VALIDATE_REPORT_LEVEL_WARNING);
|
||||
REGISTER_VALIDATE_ISSUE (GST_VALIDATE_ISSUE_ID_BUFFER_IS_OUT_OF_SEGMENT,
|
||||
_("in push mode, a segment event must be received before a buffer"));
|
||||
REGISTER_VALIDATE_ISSUE (ISSUE, BUFFER_IS_OUT_OF_SEGMENT,
|
||||
_("buffer is out of the segment range"),
|
||||
_("buffer being pushed is out of the current segment's start-stop "
|
||||
" range. Meaning it is going to be discarded downstream without "
|
||||
"any use"), GST_VALIDATE_REPORT_LEVEL_ISSUE);
|
||||
REGISTER_VALIDATE_ISSUE
|
||||
(GST_VALIDATE_ISSUE_ID_BUFFER_TIMESTAMP_OUT_OF_RECEIVED_RANGE,
|
||||
"any use"));
|
||||
REGISTER_VALIDATE_ISSUE (WARNING, BUFFER_TIMESTAMP_OUT_OF_RECEIVED_RANGE,
|
||||
_("buffer timestamp is out of the received buffer timestamps' range"),
|
||||
_("a buffer leaving an element should have its timestamps in the range "
|
||||
"of the received buffers timestamps. i.e. If an element received "
|
||||
"buffers with timestamps from 0s to 10s, it can't push a buffer with "
|
||||
"with a 11s timestamp, because it doesn't have data for that"),
|
||||
GST_VALIDATE_REPORT_LEVEL_WARNING);
|
||||
REGISTER_VALIDATE_ISSUE
|
||||
(GST_VALIDATE_ISSUE_ID_FIRST_BUFFER_RUNNING_TIME_IS_NOT_ZERO,
|
||||
"with a 11s timestamp, because it doesn't have data for that"));
|
||||
REGISTER_VALIDATE_ISSUE (WARNING, FIRST_BUFFER_RUNNING_TIME_IS_NOT_ZERO,
|
||||
_("first buffer's running time isn't 0"),
|
||||
_("the first buffer's received running time is expected to be 0"),
|
||||
GST_VALIDATE_REPORT_LEVEL_WARNING);
|
||||
REGISTER_VALIDATE_ISSUE (GST_VALIDATE_ISSUE_ID_WRONG_FLOW_RETURN, _("flow return from pad push doesn't match expected value"), _("flow return from a 1:1 sink/src pad element is as simple as " "returning what downstream returned. For elements that have multiple " "src pads, flow returns should be properly combined"), /* TODO fill me more */
|
||||
GST_VALIDATE_REPORT_LEVEL_CRITICAL);
|
||||
_("the first buffer's received running time is expected to be 0"));
|
||||
REGISTER_VALIDATE_ISSUE (CRITICAL, WRONG_FLOW_RETURN,
|
||||
_("flow return from pad push doesn't match expected value"),
|
||||
_("flow return from a 1:1 sink/src pad element is as simple as "
|
||||
"returning what downstream returned. For elements that have multiple "
|
||||
"src pads, flow returns should be properly combined"));
|
||||
|
||||
REGISTER_VALIDATE_ISSUE (GST_VALIDATE_ISSUE_ID_CAPS_IS_MISSING_FIELD,
|
||||
REGISTER_VALIDATE_ISSUE (ISSUE, CAPS_IS_MISSING_FIELD,
|
||||
_("caps is missing a required field for its type"),
|
||||
_("some caps types are expected to contain a set of basic fields. "
|
||||
"For example, raw video should have 'width', 'height', 'framerate' "
|
||||
"and 'pixel-aspect-ratio'"), GST_VALIDATE_REPORT_LEVEL_ISSUE);
|
||||
REGISTER_VALIDATE_ISSUE (GST_VALIDATE_ISSUE_ID_CAPS_FIELD_HAS_BAD_TYPE,
|
||||
"and 'pixel-aspect-ratio'"));
|
||||
REGISTER_VALIDATE_ISSUE (WARNING, CAPS_FIELD_HAS_BAD_TYPE,
|
||||
_("caps field has an unexpected type"),
|
||||
_("some common caps fields should always use the same expected types"),
|
||||
GST_VALIDATE_REPORT_LEVEL_WARNING);
|
||||
REGISTER_VALIDATE_ISSUE (GST_VALIDATE_ISSUE_ID_CAPS_EXPECTED_FIELD_NOT_FOUND,
|
||||
_("some common caps fields should always use the same expected types"));
|
||||
REGISTER_VALIDATE_ISSUE (WARNING, CAPS_EXPECTED_FIELD_NOT_FOUND,
|
||||
_("caps expected field wasn't present"),
|
||||
_("a field that should be present in the caps wasn't found. "
|
||||
"Fields sets on a sink pad caps should be propagated downstream "
|
||||
"when it makes sense to do so"), GST_VALIDATE_REPORT_LEVEL_WARNING);
|
||||
REGISTER_VALIDATE_ISSUE (GST_VALIDATE_ISSUE_ID_GET_CAPS_NOT_PROXYING_FIELDS,
|
||||
"when it makes sense to do so"));
|
||||
REGISTER_VALIDATE_ISSUE (CRITICAL, GET_CAPS_NOT_PROXYING_FIELDS,
|
||||
_("getcaps function isn't proxying downstream fields correctly"),
|
||||
_("elements should set downstream caps restrictions on its caps when "
|
||||
"replying upstream's getcaps queries to avoid upstream sending data"
|
||||
" in an unsupported format"), GST_VALIDATE_REPORT_LEVEL_CRITICAL);
|
||||
REGISTER_VALIDATE_ISSUE (GST_VALIDATE_ISSUE_ID_CAPS_FIELD_UNEXPECTED_VALUE,
|
||||
" in an unsupported format"));
|
||||
REGISTER_VALIDATE_ISSUE (CRITICAL, CAPS_FIELD_UNEXPECTED_VALUE,
|
||||
_("a field in caps has an unexpected value"),
|
||||
_("fields set on a sink pad should be propagated downstream via "
|
||||
"set caps"), GST_VALIDATE_REPORT_LEVEL_CRITICAL);
|
||||
"set caps"));
|
||||
|
||||
REGISTER_VALIDATE_ISSUE (GST_VALIDATE_ISSUE_ID_EVENT_NEWSEGMENT_NOT_PUSHED,
|
||||
REGISTER_VALIDATE_ISSUE (WARNING, EVENT_NEWSEGMENT_NOT_PUSHED,
|
||||
_("new segment event wasn't propagated downstream"),
|
||||
_("segments received from upstream should be pushed downstream"),
|
||||
GST_VALIDATE_REPORT_LEVEL_WARNING);
|
||||
REGISTER_VALIDATE_ISSUE
|
||||
(GST_VALIDATE_ISSUE_ID_SERIALIZED_EVENT_WASNT_PUSHED_IN_TIME,
|
||||
_("segments received from upstream should be pushed downstream"));
|
||||
REGISTER_VALIDATE_ISSUE (WARNING, SERIALIZED_EVENT_WASNT_PUSHED_IN_TIME,
|
||||
_("a serialized event received should be pushed in the same 'time' "
|
||||
"as it was received"),
|
||||
_("serialized events should be pushed in the same order they are "
|
||||
"received and serialized with buffers. If an event is received after"
|
||||
" a buffer with timestamp end 'X', it should be pushed right after "
|
||||
"buffers with timestamp end 'X'"), GST_VALIDATE_REPORT_LEVEL_WARNING);
|
||||
REGISTER_VALIDATE_ISSUE (GST_VALIDATE_ISSUE_ID_EVENT_HAS_WRONG_SEQNUM,
|
||||
"buffers with timestamp end 'X'"));
|
||||
REGISTER_VALIDATE_ISSUE (ISSUE, EVENT_HAS_WRONG_SEQNUM,
|
||||
_("events that are part of the same pipeline 'operation' should "
|
||||
"have the same seqnum"),
|
||||
_("when events/messages are created from another event/message, "
|
||||
"they should have their seqnums set to the original event/message "
|
||||
"seqnum"), GST_VALIDATE_REPORT_LEVEL_ISSUE);
|
||||
REGISTER_VALIDATE_ISSUE (GST_VALIDATE_ISSUE_ID_EVENT_SERIALIZED_OUT_OF_ORDER,
|
||||
"seqnum"));
|
||||
REGISTER_VALIDATE_ISSUE (WARNING, EVENT_SERIALIZED_OUT_OF_ORDER,
|
||||
_("a serialized event received should be pushed in the same order "
|
||||
"as it was received"),
|
||||
_("serialized events should be pushed in the same order they are "
|
||||
"received."), GST_VALIDATE_REPORT_LEVEL_WARNING);
|
||||
REGISTER_VALIDATE_ISSUE (GST_VALIDATE_ISSUE_ID_EVENT_NEW_SEGMENT_MISMATCH,
|
||||
"received."));
|
||||
REGISTER_VALIDATE_ISSUE (WARNING, EVENT_NEW_SEGMENT_MISMATCH,
|
||||
_("a new segment event has different value than the received one"),
|
||||
_("when receiving a new segment, an element should push an equivalent"
|
||||
"segment downstream"), GST_VALIDATE_REPORT_LEVEL_WARNING);
|
||||
REGISTER_VALIDATE_ISSUE (GST_VALIDATE_ISSUE_ID_EVENT_FLUSH_START_UNEXPECTED,
|
||||
_("received an unexpected flush start event"), NULL,
|
||||
GST_VALIDATE_REPORT_LEVEL_WARNING);
|
||||
REGISTER_VALIDATE_ISSUE (GST_VALIDATE_ISSUE_ID_EVENT_FLUSH_STOP_UNEXPECTED,
|
||||
_("received an unexpected flush stop event"), NULL,
|
||||
GST_VALIDATE_REPORT_LEVEL_WARNING);
|
||||
"segment downstream"));
|
||||
REGISTER_VALIDATE_ISSUE (WARNING, EVENT_FLUSH_START_UNEXPECTED,
|
||||
_("received an unexpected flush start event"), NULL);
|
||||
REGISTER_VALIDATE_ISSUE (WARNING, EVENT_FLUSH_STOP_UNEXPECTED,
|
||||
_("received an unexpected flush stop event"), NULL);
|
||||
|
||||
REGISTER_VALIDATE_ISSUE (GST_VALIDATE_ISSUE_ID_EVENT_SEEK_NOT_HANDLED,
|
||||
_("seek event wasn't handled"), NULL, GST_VALIDATE_REPORT_LEVEL_CRITICAL);
|
||||
REGISTER_VALIDATE_ISSUE
|
||||
(GST_VALIDATE_ISSUE_ID_EVENT_SEEK_RESULT_POSITION_WRONG,
|
||||
_("position after a seek is wrong"), NULL,
|
||||
GST_VALIDATE_REPORT_LEVEL_CRITICAL);
|
||||
REGISTER_VALIDATE_ISSUE (CRITICAL, EVENT_SEEK_NOT_HANDLED,
|
||||
_("seek event wasn't handled"), NULL);
|
||||
REGISTER_VALIDATE_ISSUE (CRITICAL, EVENT_SEEK_RESULT_POSITION_WRONG,
|
||||
_("position after a seek is wrong"), NULL);
|
||||
|
||||
REGISTER_VALIDATE_ISSUE (GST_VALIDATE_ISSUE_ID_STATE_CHANGE_FAILURE,
|
||||
_("state change failed"), NULL, GST_VALIDATE_REPORT_LEVEL_CRITICAL);
|
||||
REGISTER_VALIDATE_ISSUE (CRITICAL, STATE_CHANGE_FAILURE,
|
||||
_("state change failed"), NULL);
|
||||
|
||||
REGISTER_VALIDATE_ISSUE (GST_VALIDATE_ISSUE_ID_FILE_SIZE_IS_ZERO,
|
||||
_("resulting file size is 0"), NULL, GST_VALIDATE_REPORT_LEVEL_CRITICAL);
|
||||
REGISTER_VALIDATE_ISSUE (GST_VALIDATE_ISSUE_ID_FILE_SIZE_INCORRECT,
|
||||
_("resulting file size wasn't within the expected values"),
|
||||
NULL, GST_VALIDATE_REPORT_LEVEL_WARNING);
|
||||
REGISTER_VALIDATE_ISSUE (GST_VALIDATE_ISSUE_ID_FILE_DURATION_INCORRECT,
|
||||
_("resulting file duration wasn't within the expected values"),
|
||||
NULL, GST_VALIDATE_REPORT_LEVEL_WARNING);
|
||||
REGISTER_VALIDATE_ISSUE (GST_VALIDATE_ISSUE_ID_FILE_SEEKABLE_INCORRECT,
|
||||
_("resulting file wasn't seekable or not seekable as expected"),
|
||||
NULL, GST_VALIDATE_REPORT_LEVEL_WARNING);
|
||||
REGISTER_VALIDATE_ISSUE (GST_VALIDATE_ISSUE_ID_FILE_PROFILE_INCORRECT,
|
||||
_("resulting file stream profiles didn't match expected values"),
|
||||
NULL, GST_VALIDATE_REPORT_LEVEL_CRITICAL);
|
||||
REGISTER_VALIDATE_ISSUE (GST_VALIDATE_ISSUE_ID_FILE_NOT_FOUND,
|
||||
_("resulting file could not be found for testing"), NULL,
|
||||
GST_VALIDATE_REPORT_LEVEL_CRITICAL);
|
||||
REGISTER_VALIDATE_ISSUE (GST_VALIDATE_ISSUE_ID_FILE_CHECK_FAILURE,
|
||||
_("an error occured while checking the file for conformance"), NULL,
|
||||
GST_VALIDATE_REPORT_LEVEL_CRITICAL);
|
||||
REGISTER_VALIDATE_ISSUE (GST_VALIDATE_ISSUE_ID_FILE_PLAYBACK_START_FAILURE,
|
||||
_("an error occured while starting playback of the test file"), NULL,
|
||||
GST_VALIDATE_REPORT_LEVEL_CRITICAL);
|
||||
REGISTER_VALIDATE_ISSUE (GST_VALIDATE_ISSUE_ID_FILE_PLAYBACK_ERROR,
|
||||
_("an error during playback of the file"), NULL,
|
||||
GST_VALIDATE_REPORT_LEVEL_CRITICAL);
|
||||
REGISTER_VALIDATE_ISSUE (CRITICAL, FILE_SIZE_IS_ZERO,
|
||||
_("resulting file size is 0"), NULL);
|
||||
REGISTER_VALIDATE_ISSUE (WARNING, FILE_SIZE_INCORRECT,
|
||||
_("resulting file size wasn't within the expected values"), NULL);
|
||||
REGISTER_VALIDATE_ISSUE (WARNING, FILE_DURATION_INCORRECT,
|
||||
_("resulting file duration wasn't within the expected values"), NULL);
|
||||
REGISTER_VALIDATE_ISSUE (WARNING, FILE_SEEKABLE_INCORRECT,
|
||||
_("resulting file wasn't seekable or not seekable as expected"), NULL);
|
||||
REGISTER_VALIDATE_ISSUE (CRITICAL, FILE_PROFILE_INCORRECT,
|
||||
_("resulting file stream profiles didn't match expected values"), NULL);
|
||||
REGISTER_VALIDATE_ISSUE (CRITICAL, FILE_NOT_FOUND,
|
||||
_("resulting file could not be found for testing"), NULL);
|
||||
REGISTER_VALIDATE_ISSUE (CRITICAL, FILE_CHECK_FAILURE,
|
||||
_("an error occured while checking the file for conformance"), NULL);
|
||||
REGISTER_VALIDATE_ISSUE (CRITICAL, FILE_PLAYBACK_START_FAILURE,
|
||||
_("an error occured while starting playback of the test file"), NULL);
|
||||
REGISTER_VALIDATE_ISSUE (CRITICAL, FILE_PLAYBACK_ERROR,
|
||||
_("an error during playback of the file"), NULL);
|
||||
|
||||
REGISTER_VALIDATE_ISSUE (GST_VALIDATE_ISSUE_ID_ALLOCATION_FAILURE,
|
||||
_("a memory allocation failed during Validate run"),
|
||||
NULL, GST_VALIDATE_REPORT_LEVEL_CRITICAL);
|
||||
REGISTER_VALIDATE_ISSUE (GST_VALIDATE_ISSUE_ID_MISSING_PLUGIN,
|
||||
REGISTER_VALIDATE_ISSUE (CRITICAL, ALLOCATION_FAILURE,
|
||||
_("a memory allocation failed during Validate run"), NULL);
|
||||
REGISTER_VALIDATE_ISSUE (CRITICAL, MISSING_PLUGIN,
|
||||
_("a gstreamer plugin is missing and prevented Validate from running"),
|
||||
NULL, GST_VALIDATE_REPORT_LEVEL_CRITICAL);
|
||||
NULL);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
|
@ -37,19 +37,20 @@ G_BEGIN_DECLS
|
|||
#define GST_VALIDATE_REPORTER_CAST(obj) ((GstValidateReporter *) obj)
|
||||
|
||||
#ifdef G_HAVE_ISO_VARARGS
|
||||
#define GST_VALIDATE_REPORT(m, issue_id, ...) \
|
||||
G_STMT_START { \
|
||||
gst_validate_report (GST_VALIDATE_REPORTER (m), issue_id, \
|
||||
__VA_ARGS__ ); \
|
||||
} G_STMT_END
|
||||
#define GST_VALIDATE_REPORT(m, issue_id, ...) \
|
||||
G_STMT_START { \
|
||||
gst_validate_report (GST_VALIDATE_REPORTER (m), \
|
||||
GST_VALIDATE_ISSUE_ID_##issue_id, \
|
||||
__VA_ARGS__ ); \
|
||||
} G_STMT_END
|
||||
|
||||
#else /* G_HAVE_GNUC_VARARGS */
|
||||
#ifdef G_HAVE_GNUC_VARARGS
|
||||
#define GST_VALIDATE_REPORT(m, issue_id, args...) \
|
||||
G_STMT_START { \
|
||||
gst_validate_report (GST_VALIDATE_REPORTER (m), \
|
||||
issue_id, ##args ); \
|
||||
} G_STMT_END
|
||||
#define GST_VALIDATE_REPORT(m, issue_id, args...) \
|
||||
G_STMT_START { \
|
||||
gst_validate_report (GST_VALIDATE_REPORTER (m), \
|
||||
GST_VALIDATE_ISSUE_ID_##issue_id, ##args ); \
|
||||
} G_STMT_END
|
||||
|
||||
#endif /* G_HAVE_ISO_VARARGS */
|
||||
#endif /* G_HAVE_GNUC_VARARGS */
|
||||
|
|
|
@ -416,7 +416,7 @@ _pause_action_restore_playing (GstValidateScenario * scenario)
|
|||
|
||||
if (gst_element_set_state (pipeline, GST_STATE_PLAYING) ==
|
||||
GST_STATE_CHANGE_FAILURE) {
|
||||
GST_VALIDATE_REPORT (scenario, GST_VALIDATE_ISSUE_ID_STATE_CHANGE_FAILURE,
|
||||
GST_VALIDATE_REPORT (scenario, STATE_CHANGE_FAILURE,
|
||||
"Failed to set state to playing");
|
||||
}
|
||||
|
||||
|
@ -441,8 +441,7 @@ _execute_action (GstValidateScenario * scenario, ScenarioAction * act)
|
|||
seek->format, seek->flags,
|
||||
seek->start_type, seek->start,
|
||||
seek->stop_type, seek->stop) == FALSE) {
|
||||
GST_VALIDATE_REPORT (scenario,
|
||||
GST_VALIDATE_ISSUE_ID_EVENT_SEEK_NOT_HANDLED,
|
||||
GST_VALIDATE_REPORT (scenario, EVENT_SEEK_NOT_HANDLED,
|
||||
"Could not seek to position %" GST_TIME_FORMAT,
|
||||
GST_TIME_ARGS (priv->seeked_position));
|
||||
}
|
||||
|
@ -455,7 +454,7 @@ _execute_action (GstValidateScenario * scenario, ScenarioAction * act)
|
|||
|
||||
if (gst_element_set_state (pipeline, GST_STATE_PAUSED) ==
|
||||
GST_STATE_CHANGE_FAILURE) {
|
||||
GST_VALIDATE_REPORT (scenario, GST_VALIDATE_ISSUE_ID_STATE_CHANGE_FAILURE,
|
||||
GST_VALIDATE_REPORT (scenario, STATE_CHANGE_FAILURE,
|
||||
"Failed to set state to paused");
|
||||
}
|
||||
gst_element_get_state (pipeline, NULL, NULL, -1);
|
||||
|
@ -495,8 +494,7 @@ get_position (GstValidateScenario * scenario)
|
|||
/* TODO what about non flushing seeks? */
|
||||
/* TODO why is this inside the action time if ? */
|
||||
if (GST_CLOCK_TIME_IS_VALID (priv->seeked_position))
|
||||
GST_VALIDATE_REPORT (scenario,
|
||||
GST_VALIDATE_ISSUE_ID_EVENT_SEEK_NOT_HANDLED,
|
||||
GST_VALIDATE_REPORT (scenario, EVENT_SEEK_NOT_HANDLED,
|
||||
"Previous seek to %" GST_TIME_FORMAT " was not handled",
|
||||
GST_TIME_ARGS (priv->seeked_position));
|
||||
|
||||
|
@ -526,8 +524,7 @@ async_done_cb (GstBus * bus, GstMessage * message,
|
|||
position < (MAX (0,
|
||||
((gint64) (priv->seeked_position - priv->seek_pos_tol))))) {
|
||||
|
||||
GST_VALIDATE_REPORT (scenario,
|
||||
GST_VALIDATE_ISSUE_ID_EVENT_SEEK_RESULT_POSITION_WRONG,
|
||||
GST_VALIDATE_REPORT (scenario, EVENT_SEEK_RESULT_POSITION_WRONG,
|
||||
"Seeked position %" GST_TIME_FORMAT "not in the expected range [%"
|
||||
GST_TIME_FORMAT " -- %" GST_TIME_FORMAT, GST_TIME_ARGS (position),
|
||||
GST_TIME_ARGS (((MAX (0,
|
||||
|
|
Loading…
Reference in a new issue