Top |
void | (*ArvStreamCallback) () |
void | arv_stream_push_buffer () |
ArvBuffer * | arv_stream_pop_buffer () |
ArvBuffer * | arv_stream_try_pop_buffer () |
ArvBuffer * | arv_stream_timeout_pop_buffer () |
void | arv_stream_get_n_buffers () |
void | arv_stream_start_thread () |
unsigned int | arv_stream_stop_thread () |
gboolean | arv_stream_get_emit_signals () |
void | arv_stream_set_emit_signals () |
gboolean | arv_make_thread_realtime () |
gboolean | arv_make_thread_high_priority () |
void | arv_stream_get_statistics () |
guint | arv_stream_get_n_infos () |
const char * | arv_stream_get_info_name () |
GType | arv_stream_get_info_type () |
double | arv_stream_get_info_double () |
double | arv_stream_get_info_double_by_name () |
guint64 | arv_stream_get_info_uint64 () |
guint64 | arv_stream_get_info_uint64_by_name () |
gpointer | callback | Read / Write / Construct Only |
gpointer | callback-data | Read / Write / Construct Only |
ArvDevice * | device | Read / Write / Construct Only |
gboolean | emit-signals | Read / Write |
ArvStream provides an abstract base class for the implementation of video stream reception threads. The interface between the reception thread and the main thread is done using asynchronous queues, containing ArvBuffer objects.
void (*ArvStreamCallback) (void *user_data
,ArvStreamCallbackType type
,ArvBuffer *buffer
);
void arv_stream_push_buffer (ArvStream *stream
,ArvBuffer *buffer
);
Pushes a ArvBuffer to the stream
thread. The stream
takes ownership of buffer
,
and will free all the buffers still in its queues when destroyed.
This method is thread safe.
Since: 0.2.0
ArvBuffer *
arv_stream_pop_buffer (ArvStream *stream
);
Pops a buffer from the output queue of stream
. The retrieved buffer
may contain an invalid image. Caller should check the buffer status before using it.
This function blocks until a buffer is available.
This method is thread safe.
Since: 0.2.0
ArvBuffer *
arv_stream_try_pop_buffer (ArvStream *stream
);
Pops a buffer from the output queue of stream
. The retrieved buffer
may contain an invalid image. Caller should check the buffer status before using it.
This is the non blocking version of pop_buffer.
This method is thread safe.
Since: 0.2.0
ArvBuffer * arv_stream_timeout_pop_buffer (ArvStream *stream
,guint64 timeout
);
Pops a buffer from the output queue of stream
, waiting no more than timeout
. The retrieved buffer
may contain an invalid image. Caller should check the buffer status before using it.
This method is thread safe.
Since: 0.2.0
void arv_stream_get_n_buffers (ArvStream *stream
,gint *n_input_buffers
,gint *n_output_buffers
);
An accessor to the stream buffer queue lengths.
stream |
||
n_input_buffers |
input queue length. |
[out][allow-none] |
n_output_buffers |
output queue length. |
[out][allow-none] |
Since: 0.2.0
void
arv_stream_start_thread (ArvStream *stream
);
Start the stream receiving thread. The thread is automatically started when
the ArvStream object is instantiated, so this function is only useful if
the thread was stopped using arv_stream_stop_thread
.
Since: 0.6.2
unsigned int arv_stream_stop_thread (ArvStream *stream
,gboolean delete_buffers
);
Stop the stream receiving thread, and optionally delete all the ArvBuffer stored in the stream object queues. Main use of this function is to be able to quickly change an acquisition parameter that changes the payload size, without deleting/recreating the stream object.
Since: 0.6.2
gboolean
arv_stream_get_emit_signals (ArvStream *stream
);
Check if stream will emit its signals.
Since: 0.2.0
void arv_stream_set_emit_signals (ArvStream *stream
,gboolean emit_signals
);
Make stream
emit signals. This option is
by default disabled because signal emission is expensive and unneeded when
the application prefers to operate in pull mode.
Since: 0.2.0
gboolean
arv_make_thread_realtime (int priority
);
TRUE
on success.
Try to make current thread realtime. It first try to use sched_setscheduler, and if it fails, use rtkit.
Since: 0.4.0
gboolean
arv_make_thread_high_priority (int nice_level
);
Since: 0.4.0
void arv_stream_get_statistics (ArvStream *stream
,guint64 *n_completed_buffers
,guint64 *n_failures
,guint64 *n_underruns
);
An accessor to the stream statistics.
stream |
||
n_completed_buffers |
number of complete received buffers. |
[out][allow-none] |
n_failures |
number of reception failures. |
[out][allow-none] |
n_underruns |
number of input buffer underruns. |
[out][allow-none] |
Since: 0.2.0
guint
arv_stream_get_n_infos (ArvStream *stream
);
the number of stream informations. These informations contain useful numbers about data transfer quality.
Since: 0.8.11
const char * arv_stream_get_info_name (ArvStream *stream
,guint id
);
Since: 0.8.11
GType arv_stream_get_info_type (ArvStream *stream
,guint id
);
the GType of the corresponding stream information, which indicates what API to use to retrieve the
information value (arv_stream_get_info_uint64()
or arv_stream_get_info_double()
).
Since: 0.8.11
double arv_stream_get_info_double (ArvStream *stream
,guint id
);
Since: 0.8.11
double arv_stream_get_info_double_by_name (ArvStream *stream
,const char *name
);
Since: 0.8.11
guint64 arv_stream_get_info_uint64 (ArvStream *stream
,guint id
);
Since: 0.8.11
“callback”
property“callback” gpointer
Optional user callback.
Owner: ArvStream
Flags: Read / Write / Construct Only
“callback-data”
property“callback-data” gpointer
Optional user callback data.
Owner: ArvStream
Flags: Read / Write / Construct Only
“device”
property“device” ArvDevice *
A ArvDevice parent object.
Owner: ArvStream
Flags: Read / Write / Construct Only
“emit-signals”
property“emit-signals” gboolean
Emit signals.
Owner: ArvStream
Flags: Read / Write
Default value: FALSE
“new-buffer”
signalvoid user_function (ArvStream *stream, gpointer user_data)
Signal that a new buffer is available.
This signal is emited from the stream receive thread and only when the
"emit-signals" property is TRUE
.
The new buffer can be retrieved with arv_stream_pop_buffer()
.
Note that this signal is only emited when the "emit-signals" property is
set to TRUE
, which it is not by default for performance reasons.
stream |
the stream that emited the signal |
|
user_data |
user data set when the signal handler was connected. |
Flags: Run Last
Since: 0.2.0