Enum VideoSyncMode

  • All Implemented Interfaces:
    java.io.Serializable, java.lang.Comparable<VideoSyncMode>

    public enum VideoSyncMode
    extends java.lang.Enum<VideoSyncMode>
    The Video Sync Mode
    • Enum Constant Summary

      Enum Constants 
      Enum Constant Description
      Auto
      This is the default method.
      Cfr
      Input frames will be repeated and/or dropped as needed to achieve exactly the requested constant frame rate.
      Passthrough
      The presentation timestamps on frames are passed through from the input file to the output file writer.
      Vfr
      Similar to the Passthrough mode, but if the input has frames that have duplicate timestamps, then only one frame is passed through to the output, and others are dropped.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.String getValue()  
      java.lang.String toString()  
      static VideoSyncMode valueOf​(java.lang.String name)
      Returns the enum constant of this type with the specified name.
      static VideoSyncMode[] values()
      Returns an array containing the constants of this enum type, in the order they are declared.
      • Methods inherited from class java.lang.Enum

        clone, compareTo, equals, finalize, getDeclaringClass, hashCode, name, ordinal, valueOf
      • Methods inherited from class java.lang.Object

        getClass, notify, notifyAll, wait, wait, wait
    • Enum Constant Detail

      • Auto

        public static final VideoSyncMode Auto
        This is the default method. Chooses between Cfr and Vfr depending on muxer capabilities. For output format MP4, the default mode is Cfr.
      • Passthrough

        public static final VideoSyncMode Passthrough
        The presentation timestamps on frames are passed through from the input file to the output file writer. Recommended when the input source has variable frame rate, and are attempting to produce multiple layers for adaptive streaming in the output which have aligned GOP boundaries. Note: if two or more frames in the input have duplicate timestamps, then the output will also have the same behavior
      • Cfr

        public static final VideoSyncMode Cfr
        Input frames will be repeated and/or dropped as needed to achieve exactly the requested constant frame rate. Recommended when the output frame rate is explicitly set at a specified value
      • Vfr

        public static final VideoSyncMode Vfr
        Similar to the Passthrough mode, but if the input has frames that have duplicate timestamps, then only one frame is passed through to the output, and others are dropped. Recommended when the number of output frames is expected to be equal to the number of input frames. For example, the output is used to calculate a quality metric like PSNR against the input
    • Method Detail

      • values

        public static VideoSyncMode[] values()
        Returns an array containing the constants of this enum type, in the order they are declared. This method may be used to iterate over the constants as follows:
        for (VideoSyncMode c : VideoSyncMode.values())
            System.out.println(c);
        
        Returns:
        an array containing the constants of this enum type, in the order they are declared
      • valueOf

        public static VideoSyncMode valueOf​(java.lang.String name)
        Returns the enum constant of this type with the specified name. The string must match exactly an identifier used to declare an enum constant in this type. (Extraneous whitespace characters are not permitted.)
        Parameters:
        name - the name of the enum constant to be returned.
        Returns:
        the enum constant with the specified name
        Throws:
        java.lang.IllegalArgumentException - if this enum type has no constant with the specified name
        java.lang.NullPointerException - if the argument is null
      • getValue

        public java.lang.String getValue()
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Enum<VideoSyncMode>