Class EncodingVideoProfile
java.lang.Object
io.github.jwharm.javagi.base.ProxyInstance
org.gnome.gobject.TypeInstance
org.gnome.gobject.GObject
org.freedesktop.gstreamer.pbutils.EncodingProfile
org.freedesktop.gstreamer.pbutils.EncodingVideoProfile
- All Implemented Interfaces:
Proxy
Variant of
GstEncodingProfile
for video streams, allows specifying the pass
.-
Nested Class Summary
Modifier and TypeClassDescriptionstatic class
Inner class implementing a builder pattern to construct a GObject with properties.static class
Nested classes/interfaces inherited from class org.freedesktop.gstreamer.pbutils.EncodingProfile
EncodingProfile.EncodingProfileClass
Nested classes/interfaces inherited from class org.gnome.gobject.GObject
GObject.NotifyCallback, GObject.ObjectClass
-
Constructor Summary
ConstructorDescriptionEncodingVideoProfile
(MemorySegment address) Create a EncodingVideoProfile proxy instance for the provided memory address.EncodingVideoProfile
(Caps format, @Nullable String preset, @Nullable Caps restriction, int presence) Creates a newGstEncodingVideoProfile
-
Method Summary
Modifier and TypeMethodDescriptionprotected EncodingVideoProfile
asParent()
Returns this instance as if it were its parent type.static EncodingVideoProfile.Builder
<? extends EncodingVideoProfile.Builder> builder()
AEncodingVideoProfile.Builder
object constructs aEncodingVideoProfile
with the specified properties.int
getPass()
Get the pass number if this is part of a multi-pass profile.static Type
getType()
Get the GType of the EncodingVideoProfile classboolean
*NOTE*: Fixed framerate won't be enforced whenencodebin
:avoid-reencoding is set.void
setPass
(int pass) Sets the pass number of this video profile.void
setVariableframerate
(boolean variableframerate) If set totrue
, then the incoming stream will be allowed to have non-constant framerate.Methods inherited from class org.freedesktop.gstreamer.pbutils.EncodingProfile
copy, find, fromDiscoverer, getAllowDynamicOutput, getDescription, getElementProperties, getFileExtension, getFormat, getInputCaps, getName, getPresence, getPreset, getPresetName, getRestriction, getSingleSegment, getTypeNick, isEnabled, isEqual, setAllowDynamicOutput, setDescription, setElementProperties, setEnabled, setFormat, setName, setPresence, setPreset, setPresetName, setRestriction, setSingleSegment
Methods inherited from class org.gnome.gobject.GObject
addToggleRef, addWeakPointer, bindProperty, bindProperty, bindProperty, bindPropertyFull, bindPropertyFull, bindPropertyWithClosures, bindPropertyWithClosures, compatControl, connect, connect, connect, constructed, disconnect, dispatchPropertiesChanged, dispose, dupData, dupQdata, emit, emitNotify, finalize_, forceFloating, freezeNotify, get, getData, getMemoryLayout, getProperty, getProperty, getProperty, getQdata, getv, interfaceFindProperty, interfaceInstallProperty, interfaceListProperties, isFloating, newInstance, newInstance, newInstance, newInstance, newv, notify_, notify_, notifyByPspec, onNotify, ref, refSink, removeToggleRef, removeWeakPointer, replaceData, replaceQdata, runDispose, set, setData, setDataFull, setProperty, setProperty, setProperty, setQdata, setQdataFull, setv, stealData, stealQdata, takeRef, thawNotify, unref, watchClosure, weakRef, weakUnref, withProperties
Methods inherited from class org.gnome.gobject.TypeInstance
callParent, callParent, getPrivate, readGClass, writeGClass
Methods inherited from class io.github.jwharm.javagi.base.ProxyInstance
equals, handle, hashCode
-
Constructor Details
-
EncodingVideoProfile
Create a EncodingVideoProfile proxy instance for the provided memory address.- Parameters:
address
- the memory address of the native object
-
EncodingVideoProfile
public EncodingVideoProfile(Caps format, @Nullable @Nullable String preset, @Nullable @Nullable Caps restriction, int presence) Creates a newGstEncodingVideoProfile
All provided allocatable arguments will be internally copied, so can be safely freed/unreferenced after calling this method.
If you wish to control the pass number (in case of multi-pass scenarios), please refer to the gst_encoding_video_profile_set_pass() documentation.
If you wish to use/force a constant framerate please refer to the gst_encoding_video_profile_set_variableframerate() documentation.
- Parameters:
format
- theGstCaps
preset
- the preset(s) to use on the encoder, can benull
restriction
- theGstCaps
used to restrict the input to the encoder, can be NULL. See gst_encoding_profile_get_restriction() for more details.presence
- the number of time this stream must be used. 0 means any number of times (including never)
-
-
Method Details
-
getType
-
asParent
Returns this instance as if it were its parent type. This is mostly synonymous to the Javasuper
keyword, but will set the native typeclass function pointers to the parent type. When overriding a native virtual method in Java, "chaining up" withsuper.methodName()
doesn't work, because it invokes the overridden function pointer again. To chain up, callasParent().methodName()
. This will call the native function pointer of this virtual method in the typeclass of the parent type.- Overrides:
asParent
in classEncodingProfile
-
getPass
public int getPass()Get the pass number if this is part of a multi-pass profile.- Returns:
- The pass number. Starts at 1 for multi-pass. 0 if this is not a multi-pass profile
-
getVariableframerate
public boolean getVariableframerate()*NOTE*: Fixed framerate won't be enforced when
encodebin
:avoid-reencoding is set.- Returns:
- Whether non-constant video framerate is allowed for encoding.
-
setPass
public void setPass(int pass) Sets the pass number of this video profile. The first pass profile should have this value set to 1. If this video profile isn't part of a multi-pass profile, you may set it to 0 (the default value).- Parameters:
pass
- the pass number for this profile
-
setVariableframerate
public void setVariableframerate(boolean variableframerate) If set totrue
, then the incoming stream will be allowed to have non-constant framerate. If set tofalse
(default value), then the incoming stream will be normalized by dropping/duplicating frames in order to produce a constance framerate.- Parameters:
variableframerate
- a boolean
-
builder
AEncodingVideoProfile.Builder
object constructs aEncodingVideoProfile
with the specified properties. Use the variousset...()
methods to set properties, and finish construction withEncodingVideoProfile.Builder.build()
.
-