report: Avoid repeating long macros

Makes the code a bit more readable and compact
This commit is contained in:
Edward Hervey 2013-08-23 11:38:15 +02:00
parent 60a2dfaf72
commit 4f3e1de776
4 changed files with 106 additions and 141 deletions

View file

@ -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);

View file

@ -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

View file

@ -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 */

View file

@ -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,