diff --git a/girs/GstBadBaseCameraBin-1.0.gir b/girs/GstBadBaseCameraBin-1.0.gir new file mode 100644 index 0000000000..ef2c910557 --- /dev/null +++ b/girs/GstBadBaseCameraBin-1.0.gir @@ -0,0 +1,569 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Set the chosen #GstCameraBinMode capture mode. + + + + + + + the camerasrc bin + + + + the mode + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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) + + + + + + diff --git a/girs/GstVa-1.0.gir b/girs/GstVa-1.0.gir new file mode 100644 index 0000000000..910107ef28 --- /dev/null +++ b/girs/GstVa-1.0.gir @@ -0,0 +1,1150 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Flag indicating that we should map the VASurfaceID instead of to +system memory, so users can use libva primitives to operate with +that surface. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Check whether the display is the implementation of the specified +#GstVaImplementation type. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + There are two types of VA allocators: + +* #GstVaAllocator +* #GstVaDmabufAllocator + + Instanciate a new pooled #GstAllocator backed by VASurfaceID. + + + a #GstVaDisplay + + + + + a #GstVaDisplay + + + + a #GArray + of valid #GstVideoFormat for surfaces in current VA context. + + + + + + + + Allocate a new VASurfaceID backed #GstMemory. + + + a #GstMemory backed with a VASurfaceID; %NULL, otherwise. + + + + + a #GstAllocator + + + + + + Removes all the memories in @allocator's pool. + + + + + + + a #GstAllocator + + + + + + Gets current internal configuration of @allocator. + + + %TRUE if @allocator is already configured; %FALSE +otherwise. + + + + + a #GstAllocator + + + + a #GstVideoInfo + + + + VA usage hint + + + + a #GstVaFeature if derived images + are used for buffer mapping. + + + + + + + + the display which this + @allocator belongs to. The reference of the display is unchanged. + + + + + a #GstAllocator + + + + + + This method will populate @buffer with pooled VASurfaceID +memories. It doesn't allocate new VASurfacesID. + + + %TRUE if @buffer was populated correctly; %FALSE +otherwise. + + + + + a #GstAllocator + + + + an empty #GstBuffer + + + + + + Sets the configuration defined by @info, @usage_hint and +@use_derived for @allocator, and it tries the configuration, if +@allocator has not allocated memories yet. + +If @allocator has memory allocated already, and frame size and +format in @info are the same as currently configured in @allocator, +the rest of @info parameters are updated internally. + + + %TRUE if the configuration is valid or updated; %FALSE if +configuration is not valid or not updated. + + + + + a #GstAllocator + + + + a #GstVideoInfo + + + + VA usage hint + + + + a #GstVaFeature + + + + + + Internal method to set allocator specific logic changes. + + + + + + + a #GstAllocator + + + + hacks id to set + + + + + + Populates an empty @buffer with a VASuface backed #GstMemory. + + + %TRUE if @buffer is populated; %FALSE otherwise. + + + + + a #GstAllocator + + + + a #GstBuffer + + + + + + + It is a generic wrapper for VADisplay. To create new instances +subclasses are required, depending on the display type to use +(v.gr. DRM, X11, Wayland, etc.). + +The purpose of this class is to be shared among pipelines via +#GstContext so all the VA processing elements will use the same +display entry. Application developers can create their own +subclass, based on their display, and shared it via the synced bus +message for the application. + + + This is called when the subclass has to create the internal +VADisplay. + + + The created VADisplay + + + + + a #GstVaDisplay instance + + + + + + Get the the #GstVaImplementation type of @self. + + + #GstVaImplementation. + + + + + a #GstVaDisplay type display. + + + + + + Get the VA display handle of the @self. + + + the VA display handle. + + + + + a #GstVaDisplay type display. + + + + + + If the display is set by the user (foreign) it is assumed that the +driver is already initialized, thus this function is noop. + +If the display is opened internally, this function will initialize +the driver and it will set driver's message callbacks. + +NOTE: this function is supposed to be private, only used by +GstVaDisplay descendants. + + + %TRUE if the VA driver can be initialized; %FALSE + otherwise + + + + + a #GstVaDisplay + + + + + + + + + + + + parent #GstObject + + + + + The common VA display object class structure. + + + parent #GstObjectClass + + + + + + + The created VADisplay + + + + + a #GstVaDisplay instance + + + + + + + + This is a #GstVaDisplay subclass to instantiate with DRM devices. + + + Creates a new #GstVaDisplay from a DRM device . It will try to open +and operate the device in @path. + + + a newly allocated #GstVaDisplay if the + specified DRM render device could be opened and initialized; + otherwise %NULL is returned. + + + + + the path to the DRM device + + + + + + + + + + + + + This is a #GstVaDisplay instantiaton subclass for custom created +VADisplay, such as X11 or Wayland, wrapping it. + + + Creates a #GstVaDisplay wrapping an already created and initialized +VADisplay. + +The lifetime of @handle must be hold by the provider while the +pipeline is instantiated. Do not call vaTerminate on it while the +pipeline is not in NULL state. + + + a new #GstVaDisplay if @handle is valid, + Otherwise %NULL. + + + + + a VADisplay to wrap + + + + + + + + + + A pooled memory allocator backed by the DMABufs exported from a +VASurfaceID. Also it is possible to import DMAbufs into a +VASurfaceID. + + Instanciate a new pooled allocator backed with both DMABuf and +VASurfaceID. + + + a new allocated #GstAllocator + + + + + a #GstVaDisplay + + + + + + Removes all the memories in @allocator's pool. + + + + + + + a #GstAllocator + + + + + + Gets current internal configuration of @allocator. + + + %TRUE if @allocator is already configured; %FALSE +otherwise. + + + + + a #GstAllocator + + + + a #GstVideoInfo + + + + VA usage hint + + + + + + This method will populate @buffer with pooled VASurfaceID/DMABuf +memories. It doesn't allocate new VASurfacesID. + + + %TRUE if @buffer was populated correctly; %FALSE +otherwise. + + + + + a #GstAllocator + + + + an empty #GstBuffer + + + + + + Sets the configuration defined by @info and @usage_hint for +@allocator, and it tries the configuration, if @allocator has not +allocated memories yet. + +If @allocator has memory allocated already, and frame size and +format in @info are the same as currently configured in @allocator, +the rest of @info parameters are updated internally. + + + %TRUE if the configuration is valid or updated; %FALSE if +configuration is not valid or not updated. + + + + + a #GstAllocator + + + + a #GstVideoInfo + + + + VA usage hint + + + + + + This funciton creates a new VASurfaceID and exposes its DMABufs, +later it populates the @buffer with those DMABufs. + + + %TRUE if @buffer is populated correctly; %FALSE otherwise. + + + + + a #GstAllocator + + + + an empty #GstBuffer + + + + + + + + The feature is disabled. + + + The feature is enabled. + + + The feature is enabled automatically. + + + + Types of different VA API implemented drivers. These are the typical and +the most widely used VA drivers. + + + The mesa gallium implementation. + + + The legacy i965 intel implementation. + + + The iHD intel implementation. + + + Other implementation. + + + Invalid implementation. + + + + @GstVaPool is a buffer pool for VA allocators. + + + + A new #GstBufferPool for VA allocators. + + + + + + + a new #GstBufferPool that handles VASurfacesID-backed + buffers. If the pool cannot be configured correctly, %NULL is + returned. + + + + + the #GstCaps of the buffers handled by the new pool. + + + + the size of the frames to hold. + + + + minimum number of frames to create. + + + + maximum number of frames to create. + + + + VA usage hint + + + + a #GstVaFeature for derived mapping (only used when + VA allocator). + + + + the VA allocator to use. + + + + #GstAllocationParams to use. + + + + + + Retuns: %TRUE if @pool always add #GstVideoMeta to its + buffers. Otherwise, %FALSE. + + + + + + + the #GstBufferPool + + + + + + + Video alignment is not handled as expected by VA since it uses +opaque surfaces, not directly mappable memory. Still, decoders +might need to request bigger surfaces for coded size rather than +display sizes. This method will set the coded size to bufferpool's +configuration, out of the typical video aligment. + + + + + + + the #GstStructure with the pool's configuration. + + + + a #GstVideoAlignment + + + + + + Sets the usage hint for the buffers handled by the buffer pool. + + + + + + + the #GstStructure with the pool's configuration. + + + + the VA usage hint for new VASurfaceID. + + + + a #GstVaFeature for derived mapping (only used when + VA allocator). + + + + + + + + whether we find a valid @display in the @context + + + + + a #GstContext may contain the display + + + + a #gchar string of the element type + + + + the #gchar string of render device path + + + + the #GstVaDisplay we get + + + + + + Set the @display in the @context + + + + + + + a #GstContext + + + + the #GstVaDisplay we want to set + + + + + + Creates a new VASurfaceID with @buffer's allocator and attached it +to it. + +*This method is used only by plugin's internal VA decoder.* + + + %TRUE if the new VASurfaceID is attached to @buffer + correctly; %FALSE, otherwise. + + + + + a #GstBuffer + + + + + + + + the VASurfaceID attached to + @buffer. + + + + + a #GstBuffer + + + + + + + + the VASurfaceID in @buffer. + + + + + a #GstBuffer + + + + + + + + the display which this + @buffer belongs to. The reference of the display is unchanged. + + + + + a #GstBuffer + + + + + + Query the specified context type name. + + + + + + + a #GstElement + + + + the #gchar string specify the context type name + + + + + + It imports the array of @mem, representing a single frame, into a +VASurfaceID and it's attached into every @mem. + + + %TRUE if frame is imported correctly into a VASurfaceID; +%FALSE otherwise. + + + + + a #GstVaDisplay + + + + a #GstVideoInfo + + + + number of planes + + + + Memories. One + per plane. + + + + + + array of + DMABuf file descriptors. + + + + + + array of memory + offsets. + + + + + + VA usage hint. + + + + + + Propagate @display by posting it as #GstContext in the pipeline's bus. + + + + + + + a #GstElement + + + + the #GstVaDisplay to propagate + + + + + + Called by the va element to ensure a valid #GstVaDisplay. + + + whether a #GstVaDisplay exists in @display_ptr + + + + + a #GstElement + + + + the #gchar string of render device path + + + + The #GstVaDisplay to ensure + + + + + + Used by elements when processing their pad's queries, propagating +element's #GstVaDisplay if the processed query requests it. + + + whether we can handle the context query successfully + + + + + a #GstElement + + + + a #GstQuery to query the context + + + + a #GstVaDisplay to answer the query + + + + + + Called by elements in their #GstElementClass::set_context vmethod. +It gets a valid #GstVaDisplay if @context has it. + + + whether the @display_ptr could be successfully set to a +valid #GstVaDisplay in the @context + + + + + a #GstElement + + + + a #GstContext may contain the display + + + + the #gchar string of render device path + + + + The #GstVaDisplay to set + + + + + + + + the VASurfaceID in @mem. + + + + + a #GstMemory + + + + + + + + the display which + this @mem belongs to. The reference of the display is unchanged. + + + + + a #GstMemory + + + + + + diff --git a/subprojects/gst-plugins-bad/ext/srt/gstsrtsink.c b/subprojects/gst-plugins-bad/ext/srt/gstsrtsink.c index 3144402cd7..a2ab8863ef 100644 --- a/subprojects/gst-plugins-bad/ext/srt/gstsrtsink.c +++ b/subprojects/gst-plugins-bad/ext/srt/gstsrtsink.c @@ -307,7 +307,7 @@ gst_srt_sink_class_init (GstSRTSinkClass * klass) * @gstsrtsink: the srtsink element that emitted this signal * @unused: always zero (for ABI compatibility with previous versions) * @addr: the #GSocketAddress of the new caller - * + * * A new caller has connected to @gstsrtsink. */ signals[SIG_CALLER_ADDED] = diff --git a/subprojects/gst-plugins-bad/gst-libs/gst/basecamerabinsrc/meson.build b/subprojects/gst-plugins-bad/gst-libs/gst/basecamerabinsrc/meson.build index f8f11b9c71..d39db684e5 100644 --- a/subprojects/gst-plugins-bad/gst-libs/gst/basecamerabinsrc/meson.build +++ b/subprojects/gst-plugins-bad/gst-libs/gst/basecamerabinsrc/meson.build @@ -46,6 +46,7 @@ if build_gir and not static_build gen_sources += basecamerabin_gir endif endif +gst_libraries += [[pkg_name, library_def]] gstbasecamerabin_dep = declare_dependency(link_with : gstbasecamerabin, include_directories : [libsinc], diff --git a/subprojects/gst-plugins-bad/gst-libs/gst/va/meson.build b/subprojects/gst-plugins-bad/gst-libs/gst/va/meson.build index ff3d966b8f..689f2cb6ca 100644 --- a/subprojects/gst-plugins-bad/gst-libs/gst/va/meson.build +++ b/subprojects/gst-plugins-bad/gst-libs/gst/va/meson.build @@ -145,6 +145,7 @@ if build_gir library_def = {'lib': library_def['lib'], 'gir': [gir]} if not static_build va_gir = gnome.generate_gir(gstva, kwargs: gir) + library_def += {'gir_targets': library_def.get('gir_targets', []) + [va_gir]} va_gen_sources += va_gir endif endif