On Sun, Dec 06, 2015 at 12:38:09PM +0100, Nicolas George wrote: [...] > > +/* same as worker_data but shuffled for testing purpose */ > > Is it really useful? If you merge both, you can probably get rid of the > macros below with just a conditional for the function on pthread_create(). >
I actually want to make sure there is a distinct difference between the 2
data, because in practice that's what happen with the senders and
receivers.
> > +struct reader_data {
>
> Nit: worker/reader sounds like a mixed metaphor.
>
Renamed to senders and receivers.
[...]
> > + av_log(NULL, AV_LOG_INFO, "worker #%d: workload=%d\n", wd->id,
> > wd->workload);
> > + for (i = 0; i < wd->workload; i++) {
>
> > + if (rand() % wd->workload < wd->workload / 10) {
>
> Nit: using module for PRNG is not recommended, it gives very bad results
> with LCG.
>
I don't think it really matters in this case, but feel free to change.
> > + av_log(NULL, AV_LOG_INFO, "worker #%d: flushing the queue\n",
> > wd->id);
> > + av_thread_message_flush(wd->queue);
> > + } else {
>
> Nit: inconsistent structure: if/else here, if+continue for readers.
>
fixed
[...]
> > + if (ac != 8) {
> > + av_log(NULL, AV_LOG_ERROR, "%s <max_queue_size> "
> > + "<nb_workers> <worker_min_send> <worker_max_send> "
> > + "<nb_readers> <reader_min_recv> <reader_max_recv>\n",
> > av[0]);
> > + return 1;
> > + }
>
> Nit: huge number of arguments is annoying. Maybe give sensible default
> values and use getopt()?
>
A bit too much pain for me to update it right now. Since it's not
blocking, I'll push as is. Feel free to change it.
[...]
> > + ret = av_thread_message_queue_set_free_func(queue, free_frame);
> > + if (ret < 0)
> > + goto end;
>
> Returns void now, or did I review the wrong version of the patch?
>
Yeah I noticed later and fixed it locally.
[...]
> > +end:
> > + av_thread_message_queue_free(&queue);
> > + av_freep(&workers);
> > + av_freep(&readers);
>
> Ideally, at this point the driving thread should have the readers and
> writers compare notes to see that no message was lost or handled
> twice. But that is annoying.
>
I think valgrind will handle most of it just fine. So FATE should cover it
properly.
[...]
Patch applied, thanks
--
Clément B.
signature.asc
Description: PGP signature
_______________________________________________ ffmpeg-devel mailing list [email protected] http://ffmpeg.org/mailman/listinfo/ffmpeg-devel
