-
Notifications
You must be signed in to change notification settings - Fork 33
Documentation suggestions #174
Comments
I think I may have found out why you were having issues with the splitter component when calling
Could you find this example so I can try to explain? I'm not too sure what you're referring to.
All connections between components are explicit via If you'd like to learn more about MMAL and the components themselves, I'd really encourage you to look over the API docs as they've been extremely useful to me whilst developing the library: http://www.jvcref.com/files/PI/documentation/html/index.html |
Thanks, I'll check out those links. Does the port configuration on an input port change what comes in from that port? I had assumed it was meant to declare the input to expect from whatever is upstream. I'll try to find the examples I had in mind. Some of them (the nulls in various places) were in the wiki examples. |
Just a docs-related note to myself that in #159 (closed) I suggested documenting how to choose a |
The way I set up a test in the second post of #176 is an example of how null args can be used in the library which I initially found confusing, but of course, the last line is how they get connected in this case. For that specific scenario, instead of a doc change, what might make initial exposure less confusing is to make the capture handler argument on port configuration optional. Then the examples wouldn't need the resizer.ConfigureInputPort(camConfig, cam.Camera.VideoPort, null);
encoder.ConfigureInputPort(rawConfig, null);
resizer.ConfigureOutputPort(rawConfig, null);
encoder.ConfigureOutputPort(h264Config, capture);
var connection = resizer.Outputs[0].ConnectTo(encoder, useCallback: true); |
This was the other comment that wasn't clear to me and I suspect might warrant wiki changes:
|
I may have spoken to soon when I said that without fully appreciating the underlying cause. I've explained the reasoning behind the splitter component acting the way it did (setting OPAQUE pixel format). To be honest, there shouldn't really be any issue with setting |
Yes I can see the benefits of making it optional. I'll add a ticket for this. |
From our conversation in PR #169:
Now that I'm more familiar with the library, I think what would be helpful in the wiki is to catalog the different components and how they relate to the pipeline. The "Handling Data" topic initially made me feel as if I understood the pipeline, but when it comes to the coding I find I'm still a bit confused about how they all talk to each other. I think the topic is clear and well written, but it needs more detail. Given the number of components in the library, that may warrant a separate section. I know it's a lot of work, I'd offer to help but I don't understand the pipeline well enough yet, so call this a suggestion.
As an example, there are places where you pass
null
to capture handler arguments (I think it was in a splitter output example), and recently you replied to one of my comments with sample code where components wired themselves together automatically -- how and when that works is unclear.The text was updated successfully, but these errors were encountered: