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 public enum CodecType { 013 VIDEO, 014 AUDIO, 015 SUBTITLE, 016 DATA, 017 ATTACHMENT 018 } 019 020 public int index; 021 public String codec_name; 022 public String codec_long_name; 023 public String profile; 024 public CodecType codec_type; 025 public Fraction codec_time_base; 026 027 public String codec_tag_string; 028 public String codec_tag; 029 030 public int width, height; 031 032 public int has_b_frames; 033 034 public String sample_aspect_ratio; // TODO Change to a Ratio/Fraction object 035 public String display_aspect_ratio; 036 037 public String pix_fmt; 038 public int level; 039 public String chroma_location; 040 public int refs; 041 public String is_avc; 042 public String nal_length_size; 043 public Fraction r_frame_rate; 044 public Fraction avg_frame_rate; 045 public Fraction time_base; 046 047 public long start_pts; 048 public double start_time; 049 050 public long duration_ts; 051 public double duration; 052 053 public long bit_rate; 054 public long max_bit_rate; 055 public int bits_per_raw_sample; 056 public int bits_per_sample; 057 058 public long nb_frames; 059 060 public String sample_fmt; 061 public int sample_rate; 062 public int channels; 063 public String channel_layout; 064 065 public FFmpegDisposition disposition; 066 067 public Map<String, String> tags; 068 public SideData[] side_data_list; 069 070 public static class SideData { 071 072 public String side_data_type; 073 public String displaymatrix; 074 public int rotation; 075 } 076}