Commit Graph

53 Commits

Author SHA1 Message Date
Joshua M. Doe
e4a308a545 fix caps to avoid videoconvert bug in 1.8 which corrupts data
Previous way of creating caps left invalid colorimetry field 0:0:0:0,
which combined with a bug present in GStreamer 1.8 led to GRAY16_LE data
being corrupted when converted to GRAY16_BE (or vice versa). Current
method will properly initialize colorimetry field, avoiding this problem
in 1.8.
2017-11-16 08:31:43 -05:00
Joshua M. Doe
bbba3dae51 build: use CMakeLists.txt instead of config.h to define plugin macros 2017-09-26 12:46:55 -04:00
Joshua M. Doe
ca37f0078b niimaqsrc: fix timestamp error when video is restarted 2017-08-10 10:19:45 -04:00
Joshua M. Doe
ff8376b9d2 build: use git version info in plugins and build ZIP package 2017-08-03 10:18:51 -04:00
Joshua M. Doe
27b721ad21 niimaqsrc: don't send DATE_TIME tag, arfenc will calculate from base time 2016-07-13 11:01:38 -04:00
Joshua M. Doe
6c39c4ee93 niimaqsrc: simplify code, remove avoid-copy, better timestamp handling 2016-07-01 12:16:35 -04:00
Joshua M. Doe
2b45dea2ed niimaq: add timeout property 2016-07-01 10:00:01 -04:00
Joshua M. Doe
59a583d8c7 build: clean up CMakeLists.txt and install pdb files alongside dlls 2016-06-28 13:53:48 -04:00
Joshua M. Doe
8cabf9f434 niimaqsrc: make sure we return GST_FLOW_ERROR on timeout 2015-06-29 14:47:52 -04:00
Joshua M. Doe
59bce030b0 build: get CMake build working again to build in VS2012 2014-09-30 16:23:23 -04:00
Joshua M. Doe
209f39bf48 niimaq: fix variable name collision 2014-04-01 14:42:54 -04:00
Joshua M. Doe
61288388c5 niimaqsrc: improve timestamping
_create often locks the mutex before the start_frame_callback, resulting
in bad timestamps. Also an estimated duration causes d3dvideosink to give
poor display, so comment this out for now.
2014-03-12 15:13:42 -04:00
Joshua M. Doe
ef42c2243d niimaqsrc: fix support for color cameras 2014-01-28 11:01:04 -05:00
Joshua M. Doe
730acee93f niimaq: fix indentation 2014-01-24 10:03:12 -05:00
Joshua M. Doe
cedae288d2 niimaq: add is-signed property 2014-01-24 10:03:12 -05:00
Joshua M. Doe
f0e7d6ec0b niimaq: more specific debugging messages 2014-01-24 10:03:10 -05:00
Joshua M. Doe
10e1b3e910 niimaq: refactor niimaqsrc variable name to simply src 2014-01-24 10:03:10 -05:00
Joshua M. Doe
4cd4520a37 niimaq: fix get_caps and set_caps 2014-01-24 10:03:10 -05:00
Joshua M. Doe
8719f95528 niimaqsrc: untested port to 1.0 2014-01-24 10:03:07 -05:00
Joshua M. Doe
7d15dafeb4 niimaq: use better property name for size of ring buffer 2014-01-24 10:03:04 -05:00
Joshua M. Doe
c3f2b1db5d niimaq: return with flow error if acquisition fails to start 2014-01-24 10:03:03 -05:00
Joshua M. Doe
d874016bce niimaq: support RGB output, as BGRA 2014-01-24 10:03:02 -05:00
Joshua M. Doe
0697255f7a niimaq: disable check so 1428 can work on 64-bit systems 2014-01-24 10:03:02 -05:00
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