[Bug 738124] validate: Design and implement an interface for setting a report level.
GStreamer (bugzilla.gnome.org)
bugzilla at gnome.org
Tue Oct 21 14:35:53 PDT 2014
https://bugzilla.gnome.org/show_bug.cgi?id=738124
GStreamer | gst-devtools | git
--- Comment #43 from Mathieu Duponchelle <mathieu.duponchelle at epitech.eu> 2014-10-21 21:35:46 UTC ---
The branch rebased on thibault's post 1.4 is at
https://github.com/MathieuDuponchelle/gst-devtools/commits/post_1.4. Every step
of it from back to development builds and make checks. I've fixed the issues
from the review.
(In reply to comment #23)
> Review of attachment 288317 [details]:
>
> ::: validate/tests/check/validate/padmonitor.c
> @@ +35,3 @@
> +
> + for (tmp = reports; tmp; tmp = tmp->next) {
> + if (((GstValidateReport *) tmp->data)->refcount != refcount)
>
> You should rather fail_unless_equals_int here, makes it simpler to debug.
DONE
(In reply to comment #24)
> Review of attachment 288314 [details]:
>
> ::: validate/gst/validate/gst-validate-enums.h
> @@ +64,3 @@
> + GST_VALIDATE_REPORTING_LEVEL_ALL = 5,
> + GST_VALIDATE_REPORTING_LEVEL_COUNT
> +} GstValidateReportingLevel;
>
> I think GstValidateReportingDetails would be a better naming.
>
> And name would be GST_VALIDATE_REPORT_ALL, GST_VALIDATE_REPORT_SYNTHETIC,
> etc...
DONE, commit on top
(In reply to comment #26)
> Review of attachment 288316 [details]:
>
> ::: validate/gst/validate/gst-validate-monitor.c
> @@ +206,3 @@
> + gst_object_unref (object);
> + object = parent;
> + } while (object && level == GST_VALIDATE_REPORTING_LEVEL_UNKNOWN);
>
> So if I set level to h264parse:all , reports from h264parse::src will be taken
> into account? Makes sense I guess :)
Yep, pretty useful IMHO
(In reply to comment #30)
> Review of attachment 288319 [details]:
>
> It should actually be element-name::pad-name and then in the code you do
> envvar.replace("::", "__") before actually splitting it.
DONE(In reply to comment #33)
> Review of attachment 288321 [details]:
>
> ::: validate/tests/check/validate/reporting.c
> @@ +129,3 @@
> +static void
> +_create_issues (GstValidateRunner * runner)
> +{
>
> Can't you just create reports yourself in the tests? Simply doing
>
> GST_VALIDATE_REPORT("Some report") where you want?
>
It works for my purpose, we discussed that in real life and you didn't seem
opposed to keeping it that way
> I looks a bit overkill to actually create pipeline + adding probes etc etc...
> to just test reporting filtering.
>
> @@ +167,3 @@
> + segment.stop = GST_SECOND;
> +
> + fail_unless (gst_pad_push_event (srcpad1,
>
> gst_check_setup_events ?
I can't, it takes the parent element.
(In reply to comment #34)
> Review of attachment 288322 [details]:
>
> Why would you do that? Also I think we want to handle that whole report in one
> single string in the end (I have code for that).
I use these subroutines in a subsequent patch.(In reply to comment #35)
> Review of attachment 288323 [details]:
>
> ::: validate/gst/validate/gst-validate-runner.c
> @@ +320,3 @@
> +
> + issue_id = report->issue->issue_id;
> + reports =
>
> You need the lock even to retrieve the reoprts here
True that DONE
>
> @@ +376,3 @@
> GST_VALIDATE_RUNNER_LOCK (runner);
> l = g_list_length (runner->priv->reports);
> + l += g_hash_table_size (runner->priv->reports_by_type);
>
> How is that?
Well if we group issues by type then only one issue will be reported, that was
my reasoning, the result seems legit to me.
>
> ::: validate/tests/check/validate/padmonitor.c
> @@ -39,3 +41,3 @@
> }
>
> - g_list_free_full (reports, (GDestroyNotify )gst_validate_report_unref);
> + g_list_free_full (reports, (GDestroyNotify) gst_validate_report_unref);
>
> There are many changes like that I can not parse in that file, you bought a
> gst-indent? :)
DONE, removed the reindentation of the padmonitor test.
(In reply to comment #37)
> Review of attachment 288325 [details]:
>
> Isn't that going to cause issue in the end?
Why would it ? No there's absolutely no problem here :)
(In reply to comment #38)
> Review of attachment 288326 [details]:
>
> Why is that?
We discussed that at the gstconf, it's the only correct way.
(In reply to comment #39)
> Review of attachment 288327 [details]:
>
> OK, so that should probably be merged with the patch where you make it possible
> for set_master to return FALSE.
DONE
(In reply to comment #41)
> Review of attachment 288329 [details]:
>
> I think we already do that ourself, don't we?!
That patch was incorrect
(In reply to comment #42)
> Review of attachment 288330 [details]:
>
> ::: validate/gst/validate/gst-validate-reporter.c
> @@ +177,3 @@
> + GST_VALIDATE_REPORTING_LEVEL_UNKNOWN;
> +
> + if (priv->runner)
>
> runners are mandatory
>
Not really, there is a setter and that check is made in other places so I play
on the safe side :)
> ::: validate/tests/check/validate/reporting.c
> @@ +289,3 @@
> + runner = gst_validate_runner_new ();
> + _create_issues (runner);
> + /* 2 issues repeated on the fakesink's sink */
>
> Why don't you check the details here then? :)
Cause I don't really need to :)
--
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.
More information about the gstreamer-bugs
mailing list