Class FrameRateConverter

All Implemented Interfaces:
Codec

public class FrameRateConverter extends AbstractVideoCodec
This codec converts frames from one frame rate into another.

Makes frames longer if the output time is behind the input time. Drops frames if the output time runs away from the input time.

The output of the converter has a variable frame rate but it may still contain identical frames. Thus an additional conversion step with FFRtoVFRConverter is needed.

This codec is needed when the input source has a different frame rate than the output sink.

Author:
Werner Randelshofer
  • Constructor Details

    • FrameRateConverter

      public FrameRateConverter()
  • Method Details

    • getOutputFormats

      public Format[] getOutputFormats(Format input)
      Description copied from interface: Codec
      Lists all of the output formats that this codec can generate with the provided input format. If the input format is null, returns all supported output formats.
      Specified by:
      getOutputFormats in interface Codec
      Overrides:
      getOutputFormats in class AbstractCodec
    • setOutputFormat

      public Format setOutputFormat(Format f)
      Description copied from interface: Codec
      Sets the output format. Returns the format that was actually set. This is the closest format that the Codec supports. Returns null if the specified format is not supported and no reasonable match could be found.
      Specified by:
      setOutputFormat in interface Codec
      Overrides:
      setOutputFormat in class AbstractCodec
    • reset

      public void reset()
      Description copied from class: AbstractCodec
      Empty implementation of the reset method. Don't call super.
      Specified by:
      reset in interface Codec
      Overrides:
      reset in class AbstractCodec
    • process

      public int process(Buffer in, Buffer out)
      Description copied from interface: Codec
      Performs the media processing defined by this codec.

      Copies the data from the input buffer into the output buffer.

      Returns:
      A combination of processing flags.