001package net.bramp.ffmpeg.probe; 002 003import edu.umd.cs.findbugs.annotations.SuppressFBWarnings; 004import java.util.Map; 005import org.apache.commons.lang3.math.Fraction; 006 007@SuppressFBWarnings( 008 value = {"UUF_UNUSED_PUBLIC_OR_PROTECTED_FIELD"}, 009 justification = "POJO objects where the fields are populated by gson") 010public class FFmpegStream { 011 012 // TODO Add more CodecTypes 013 public enum CodecType { 014 VIDEO, 015 AUDIO, 016 } 017 018 public int index; 019 public String codec_name; 020 public String codec_long_name; 021 public String profile; 022 public CodecType codec_type; 023 public Fraction codec_time_base; 024 025 public String codec_tag_string; 026 public String codec_tag; 027 028 public int width, height; 029 030 public int has_b_frames; 031 032 public String sample_aspect_ratio; // TODO Change to a Ratio/Fraction object 033 public String display_aspect_ratio; 034 035 public String pix_fmt; 036 public int level; 037 public String chroma_location; 038 public int refs; 039 public String is_avc; 040 public String nal_length_size; 041 public Fraction r_frame_rate; 042 public Fraction avg_frame_rate; 043 public Fraction time_base; 044 045 public long start_pts; 046 public double start_time; 047 048 public long duration_ts; 049 public double duration; 050 051 public long bit_rate; 052 public long max_bit_rate; 053 public int bits_per_raw_sample; 054 public int bits_per_sample; 055 056 public long nb_frames; 057 058 public String sample_fmt; 059 public int sample_rate; 060 public int channels; 061 public String channel_layout; 062 063 public FFmpegDisposition disposition; 064 065 public Map<String, String> tags; 066}