Class EncodingVideoProfile

All Implemented Interfaces:
Proxy

@Generated("org.javagi.JavaGI") public class EncodingVideoProfile extends EncodingProfile
Variant of GstEncodingProfile for video streams, allows specifying the pass.
  • Constructor Details

    • EncodingVideoProfile

      public EncodingVideoProfile(MemorySegment address)
      Create a EncodingVideoProfile instance for the provided memory address.
      Parameters:
      address - the memory address of the native object
    • EncodingVideoProfile

      public EncodingVideoProfile(Caps format, @Nullable String preset, @Nullable Caps restriction, int presence)

      Creates a new GstEncodingVideoProfile

      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 - the GstCaps
      preset - the preset(s) to use on the encoder, can be null
      restriction - the GstCaps 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)
    • EncodingVideoProfile

      public EncodingVideoProfile()
      Create a new EncodingVideoProfile.
  • Method Details

    • getType

      public static @Nullable Type getType()
      Get the GType of the EncodingVideoProfile class.
      Returns:
      the GType
    • getMemoryLayout

      public static MemoryLayout getMemoryLayout()
      The memory layout of the native struct.
      Returns:
      the memory layout
    • asParent

      protected EncodingVideoProfile asParent()
      Return this instance as if it were its parent type. Comparable to the Java super keyword, but ensures the parent typeclass is also used in native code.
      Overrides:
      asParent in class EncodingProfile
      Returns:
      the instance as if it were its parent type
    • 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 to true, then the incoming stream will be allowed to have non-constant framerate. If set to false (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

      public static EncodingVideoProfile.Builder<? extends EncodingVideoProfile.Builder> builder()
      A EncodingVideoProfile.Builder object constructs a EncodingVideoProfile with the specified properties. Use the various set...() methods to set properties, and finish construction with EncodingVideoProfile.Builder.build().
      Returns:
      the builder object