-
Notifications
You must be signed in to change notification settings - Fork 51
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix black photo issue on intel MIPI cameras (Bugfix) #1643
base: main
Are you sure you want to change the base?
Conversation
Validated that |
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1643 +/- ##
==========================================
+ Coverage 48.85% 48.88% +0.03%
==========================================
Files 370 370
Lines 40231 40261 +30
Branches 6793 6798 +5
==========================================
+ Hits 19654 19681 +27
- Misses 19857 19858 +1
- Partials 720 722 +2
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
Just a quick note on multifilesink: I used it because with the way we are terminating the pipeline (time/num-buffers based EOS), filesink will write extra buffers after the initial valid buffer. Basically it made a file like this:
where frame F1 is the actual photo we want, F2-F4 are the extra stuff that It is doing extra file writes than necessary though, albeit I haven't found any negative side effects. There are ways to do exactly 1 file write, for example |
Description
The gstreamer pipeline in the current
camera_test.py
was having trouble with cameras that require a "boot up time" because it was taking the 1st buffer, which is blank for these cameras, that reaches filesink. This PR adds a valve element that dynamically opens while the pipeline is running to allow the source to stay open for a few seconds before the photo is taken.There was also an issue where$\Rightarrow$
<CameraTest>._width
and<CameraTest>._height
were never updated from 640x480 after we query the supported formats. This breaks on intel MIPI cameras because it only supports 1280x720 and it will complain about not-negotiated capsError: Internal data stream error
when<Pipeline>.set_state(Gst.State.PLAYING)
is called. This is fixed as well but I'm not too sure if this was intentional. Do later tests depend on the image being 640x480?Resolved issues
#1537
Documentation
The number of seconds to delay can be set by
--wait-seconds <num_seconds>
. Default is 3.Tests