30 Commits

Author SHA1 Message Date
Joshua M. Doe
512e2e6179 niimaqsrc: downgrade a few debug messages to LOG 2014-01-24 10:03:01 -05:00
Joshua M. Doe
6d7c707f86 niimaqsrc: subtract element base time
Pipeline can now properly go back and forth between PLAYING and NULL.
2014-01-24 10:03:01 -05:00
Joshua M. Doe
2dd264d533 niimaqsrc: cleanup after stopping, and better error handling 2014-01-24 10:03:01 -05:00
Joshua M. Doe
ff5ca051ea debug: use more appropriate debug levels 2014-01-24 10:03:00 -05:00
Joshua M. Doe
1033aea633 niimaqsrc: another attempt at robust date-timestamping
Before indices would get out of sync. Try mutexes now.
2014-01-24 10:03:00 -05:00
Joshua M. Doe
5e8744d492 niimaqsrc: remove assert, as timestamps aren't always retrieved correctly 2014-01-24 10:03:00 -05:00
Joshua M. Doe
a9cfe6062d niimaqsrc: use simpler method of correlating buffers with timestamps
Drop the mutexes and special struct, just create ring buffer of
GstClockTimes. Also rely on callbacks for start/stop of acquisition.

The absolute date-timestamps need to be corrected for the first buffer
timestamp.
2014-01-24 10:03:00 -05:00
Joshua M. Doe
a1887de710 niimaqsrc: move frametime mutex lock up earlier to prevent assert 2014-01-24 10:02:59 -05:00
Joshua M. Doe
3d10570a8e niimaqsrc: handle latency query and drop unneeded get_times method 2014-01-24 10:02:59 -05:00
Joshua M. Doe
d6fe385cb9 niimaqsrc: add avoid copy mode
Unfortunately IMAQ only lets you examine one buffer at a time, and elements
like queue store up multiple buffers, so avoid-copy=TRUE can only be used in
pipelines without queues or other such elements.

Also, make property strings static.
2014-01-24 10:02:59 -05:00
Joshua M. Doe
ad240b0ae3 niimaq: try to improve accuracy of timestamping
By reducing instructions in callback, and adjusting for base time. This last
part needs testing however.
2014-01-24 10:02:58 -05:00
Joshua M. Doe
4fa97a4290 niimaq: cleanup, remove unused property, organize code 2014-01-24 10:02:58 -05:00
Joshua M. Doe
1b6b14d225 niimaq: organize and cleanup 2014-01-24 10:02:58 -05:00
Joshua M. Doe
07fe523680 niimaq: slightly better debug message for depth/bpp 2014-01-24 10:02:57 -05:00
Joshua M. Doe
9002eb1f70 niimaq: handle byte alignment during copying
Previously if the row stride wasn't a multiple of 4, display would not work
correctly. Rely on NI-IMAQ to fix the byte alignment for us. This hasn't
been thoroughly tested yet however.
2014-01-24 10:02:57 -05:00
Joshua M. Doe
865b416cd0 niimaq: fix buffer offset end 2014-01-24 10:02:57 -05:00
Joshua M. Doe
05cd4f3438 niimaq: use pad_alloc_buffer instead of g_malloc 2014-01-24 10:02:57 -05:00
Joshua M. Doe
48ea4b565d niimaq: more cleanup, rely more on base and video libraries 2014-01-24 10:02:57 -05:00
Joshua M. Doe
7c251fa83a niimaq: use standard video caps
Even though NI-IMAQ can specify 10-, 12-, or 14-bit images, no other standard
element supports it, and in 0.11/1.0 caps are simplified to be gray8/gray16.
We can always add back custom caps if there is a real need for it.
2014-01-24 10:02:56 -05:00
Joshua M. Doe
fa883c1ca1 niimaq: make sure timelist exists before modifying it
Caused seg fault unless delay was introduced (e.g. with debugging messages
on). Still need to investigate why we don't get a timestamp before the
first frame.
2014-01-24 10:02:56 -05:00
Joshua M. Doe
7a904c8f5d niimaq: use video lib caps 2014-01-24 10:02:55 -05:00
Joshua M. Doe
c705237e2e niimaq: add some debug statements and FIXME 2014-01-24 10:02:54 -05:00
Joshua M. Doe
d5409fca8a niimaq: send DateTime tag event 2014-01-24 10:02:53 -05:00
Joshua M. Doe
18f3e03c7e niimaq: fix some bugs regarding valid clocks, etc. 2014-01-24 10:02:53 -05:00
Joshua M. Doe
e5a4257891 niimaq: simplify caps format handling 2014-01-24 10:02:53 -05:00
Joshua M. Doe
2296c487ae style: run gst-indent 2014-01-24 10:02:53 -05:00
Joshua M. Doe
6efc1eb913 Avoid critical error unreffing structure 2014-01-24 10:02:52 -05:00
Joshua M. Doe
13dbcbb0e2 Fix memory leaks 2014-01-24 10:02:52 -05:00
Joshua M. Doe
db54d20753 Add more debugging statements 2014-01-24 10:02:51 -05:00
Joshua M. Doe
eccdfc2703 niimaqsrc: Move into subfolder of sys 2014-01-24 10:00:26 -05:00