construct pipeline
Set the chosen #GstCameraBinMode capture mode.
the camerasrc bin
the mode
set the zoom
configure pipeline for the chosen settings
Set the chosen #GstCameraBinMode capture mode.
the camerasrc bin
the mode
Apply preview caps to preview pipeline and to video source.
camerasrc bin
preview caps to set
Apply zoom configured to camerabin to capture.
camerasrc object
When %TRUE, preview images should be posted to the bus when
captures are made
When TRUE new capture can be prepared. If FALSE capturing is ongoing
and starting a new capture immediately is not possible.
Note that calling start-capture from the notify callback of this property
will cause a deadlock. If you need to react like this on the notify
function, please schedule a new thread to do it. If you're using glib's
mainloop you can use g_idle_add() for example.
construct pipeline
configure pipeline for the chosen settings
set the zoom
set the mode
the camerasrc bin
the mode
Capture mode to use.
image capture
video capture
Creates a new previewing pipeline that can receive buffers
to be posted as camerabin preview messages for @element
The newly created #GstCameraBinPreviewPipelineData
Owner of this pipeline
Custom filter to process preview data (an extra ref is taken)
Frees a #GstCameraBinPreviewPipelineData
the #GstCameraBinPreviewPipelineData
Converts the @sample to the desired format and posts the preview
message to the bus.
%TRUE on success
the #GstCameraBinPreviewPipelineData
the sample to be posted as a preview
The caps that preview buffers should have when posted
on the bus
the #GstCameraBinPreviewPipelineData
the #GstCaps to be set (a new ref will be taken)
Set the filter element into preview pipeline.
%TRUE on success
the #GstCameraBinPreviewPipelineData
Custom filter to process preview data (an extra ref is taken)
Common helper functions for #GstCameraBin.
Base class for the camera source bin used by camerabin for capture.
Sophisticated camera hardware can derive from this baseclass and map the
features to this interface.
The design mandates that the subclasses implement the following features and
behaviour:
* 3 pads: viewfinder, image capture, video capture
During `construct_pipeline()` vmethod a subclass can add several elements into
the bin and expose 3 srcs pads as ghostpads implementing the 3 pad templates.
However the subclass is responsible for adding the pad templates for the
source pads and they must be named "vidsrc", "imgsrc" and "vfsrc". The pad
templates should be installed in the subclass' class_init function, like so:
|[
static void
my_element_class_init (GstMyElementClass *klass)
{
GstElementClass *gstelement_class = GST_ELEMENT_CLASS (klass);
// pad templates should be a #GstStaticPadTemplate with direction
// #GST_PAD_SRC and name "vidsrc", "imgsrc" and "vfsrc"
gst_element_class_add_static_pad_template (gstelement_class,
&vidsrc_template);
gst_element_class_add_static_pad_template (gstelement_class,
&imgsrc_template);
gst_element_class_add_static_pad_template (gstelement_class,
&vfsrc_template);
// see #GstElementDetails
gst_element_class_set_details (gstelement_class, &details);
}
]|
It is also possible to add regular pads from the subclass and implement the
dataflow methods on these pads. This way all functionality can be implemented
directly in the subclass without extra elements.
The src will receive the capture mode from `GstCameraBin2` on the
#GstBaseCameraSrc:mode property. Possible capture modes are defined in
#GstCameraBinMode.