Adds width and height to video streams and subtitle file to subtitle streams
This commit is contained in:
		@@ -4,18 +4,19 @@ package net.knarcraft.ffmpegconverter.streams;
 | 
				
			|||||||
 * This class represents an ffmpeg audio stream
 | 
					 * This class represents an ffmpeg audio stream
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
public class AudioStream extends StreamObject {
 | 
					public class AudioStream extends StreamObject {
 | 
				
			||||||
    private String language;
 | 
					    private final String language;
 | 
				
			||||||
    private int channels;
 | 
					    private final int channels;
 | 
				
			||||||
    private String title;
 | 
					    private final String title;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Instantiates a new audio stream
 | 
					     * Instantiates a new audio stream
 | 
				
			||||||
     * @param codecName <p>The codec of the audio stream.</p>
 | 
					     *
 | 
				
			||||||
 | 
					     * @param codecName     <p>The codec of the audio stream.</p>
 | 
				
			||||||
     * @param absoluteIndex <p>The index of the audio stream.</p>
 | 
					     * @param absoluteIndex <p>The index of the audio stream.</p>
 | 
				
			||||||
     * @param relativeIndex <p>The index of the audio stream relative to other audio streams.</p>
 | 
					     * @param relativeIndex <p>The index of the audio stream relative to other audio streams.</p>
 | 
				
			||||||
     * @param language <p>The language of the audio stream.</p>
 | 
					     * @param language      <p>The language of the audio stream.</p>
 | 
				
			||||||
     * @param title <p>The title of the audio stream.</p>
 | 
					     * @param title         <p>The title of the audio stream.</p>
 | 
				
			||||||
     * @param channels <p>The number of channels for the audio stream.</p>
 | 
					     * @param channels      <p>The number of channels for the audio stream.</p>
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    public AudioStream(String codecName, int absoluteIndex, int relativeIndex, String language, String title, int channels) {
 | 
					    public AudioStream(String codecName, int absoluteIndex, int relativeIndex, String language, String title, int channels) {
 | 
				
			||||||
        this.codecType = "audio";
 | 
					        this.codecType = "audio";
 | 
				
			||||||
@@ -29,6 +30,7 @@ public class AudioStream extends StreamObject {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Gets the language of the audio stream
 | 
					     * Gets the language of the audio stream
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
     * @return <p>The language of the audio stream.</p>
 | 
					     * @return <p>The language of the audio stream.</p>
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    public String getLanguage() {
 | 
					    public String getLanguage() {
 | 
				
			||||||
@@ -37,6 +39,7 @@ public class AudioStream extends StreamObject {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Gets the number of channels for the audio stream
 | 
					     * Gets the number of channels for the audio stream
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
     * @return <p>The number of channels for the audio stream.</p>
 | 
					     * @return <p>The number of channels for the audio stream.</p>
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    public int getChannels() {
 | 
					    public int getChannels() {
 | 
				
			||||||
@@ -45,6 +48,7 @@ public class AudioStream extends StreamObject {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Gets the title of the audio stream
 | 
					     * Gets the title of the audio stream
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
     * @return <p>The title of the audio stream.</p>
 | 
					     * @return <p>The title of the audio stream.</p>
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    public String getTitle() {
 | 
					    public String getTitle() {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -11,6 +11,7 @@ public abstract class StreamObject {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Gets the type of the stream codec (video/audio/subtitle)
 | 
					     * Gets the type of the stream codec (video/audio/subtitle)
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
     * @return <p>Codec type.</p>
 | 
					     * @return <p>Codec type.</p>
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    public String getCodecType() {
 | 
					    public String getCodecType() {
 | 
				
			||||||
@@ -19,14 +20,16 @@ public abstract class StreamObject {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Gets the name of the stream codec
 | 
					     * Gets the name of the stream codec
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
     * @return <p>Codec name.</p>
 | 
					     * @return <p>Codec name.</p>
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    public String getCodecName() {
 | 
					    String getCodecName() {
 | 
				
			||||||
        return this.codecName;
 | 
					        return this.codecName;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Gets the absolute index of a stream object
 | 
					     * Gets the absolute index of a stream object
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
     * @return <p>Absolute index.</p>
 | 
					     * @return <p>Absolute index.</p>
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    public int getAbsoluteIndex() {
 | 
					    public int getAbsoluteIndex() {
 | 
				
			||||||
@@ -35,6 +38,7 @@ public abstract class StreamObject {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Gets the relative index of a stream object (kth element of codec type)
 | 
					     * Gets the relative index of a stream object (kth element of codec type)
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
     * @return <p>Relative index.</p>
 | 
					     * @return <p>Relative index.</p>
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    public int getRelativeIndex() {
 | 
					    public int getRelativeIndex() {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -6,18 +6,22 @@ package net.knarcraft.ffmpegconverter.streams;
 | 
				
			|||||||
public class SubtitleStream extends StreamObject {
 | 
					public class SubtitleStream extends StreamObject {
 | 
				
			||||||
    final private String language;
 | 
					    final private String language;
 | 
				
			||||||
    final private String title;
 | 
					    final private String title;
 | 
				
			||||||
 | 
					    final private String file;
 | 
				
			||||||
    final private boolean isFullSubtitle;
 | 
					    final private boolean isFullSubtitle;
 | 
				
			||||||
    final private boolean isImageSubtitle;
 | 
					    final private boolean isImageSubtitle;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Instantiates a new subtitle stream
 | 
					     * Instantiates a new subtitle stream
 | 
				
			||||||
     * @param codecName <p>The name of the codec for the subtitle stream.</p>
 | 
					     *
 | 
				
			||||||
 | 
					     * @param codecName     <p>The name of the codec for the subtitle stream.</p>
 | 
				
			||||||
     * @param absoluteIndex <p>The index of the subtitle stream.</p>
 | 
					     * @param absoluteIndex <p>The index of the subtitle stream.</p>
 | 
				
			||||||
     * @param relativeIndex <p>The index of the subtitle stream relative to other subtitle streams.</p>
 | 
					     * @param relativeIndex <p>The index of the subtitle stream relative to other subtitle streams.</p>
 | 
				
			||||||
     * @param language <p>The language of the subtitle stream.</p>
 | 
					     * @param language      <p>The language of the subtitle stream.</p>
 | 
				
			||||||
     * @param title <p>The title of the subtitle stream.</p>
 | 
					     * @param title         <p>The title of the subtitle stream.</p>
 | 
				
			||||||
 | 
					     * @param file          <p>The file containing the subtitle.</p>
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    public SubtitleStream(String codecName, int absoluteIndex, int relativeIndex, String language, String title) {
 | 
					    public SubtitleStream(String codecName, int absoluteIndex, int relativeIndex, String language, String title,
 | 
				
			||||||
 | 
					                          String file) {
 | 
				
			||||||
        this.codecType = "subtitle";
 | 
					        this.codecType = "subtitle";
 | 
				
			||||||
        this.codecName = codecName;
 | 
					        this.codecName = codecName;
 | 
				
			||||||
        this.absoluteIndex = absoluteIndex;
 | 
					        this.absoluteIndex = absoluteIndex;
 | 
				
			||||||
@@ -26,10 +30,12 @@ public class SubtitleStream extends StreamObject {
 | 
				
			|||||||
        this.isFullSubtitle = isFullSubtitle();
 | 
					        this.isFullSubtitle = isFullSubtitle();
 | 
				
			||||||
        this.relativeIndex = relativeIndex;
 | 
					        this.relativeIndex = relativeIndex;
 | 
				
			||||||
        this.isImageSubtitle = isImageSubtitle();
 | 
					        this.isImageSubtitle = isImageSubtitle();
 | 
				
			||||||
 | 
					        this.file = file;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Gets the language of the subtitle stream
 | 
					     * Gets the language of the subtitle stream
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
     * @return <p>The language of the subtitle stream.</p>
 | 
					     * @return <p>The language of the subtitle stream.</p>
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    public String getLanguage() {
 | 
					    public String getLanguage() {
 | 
				
			||||||
@@ -38,14 +44,25 @@ public class SubtitleStream extends StreamObject {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Gets the title of the subtitle stream
 | 
					     * Gets the title of the subtitle stream
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
     * @return <p>The title of the subtitle stream.</p>
 | 
					     * @return <p>The title of the subtitle stream.</p>
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    public String getTitle() {
 | 
					    private String getTitle() {
 | 
				
			||||||
        return this.title;
 | 
					        return this.title;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Gets the file name of the file containing this subtitle
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @return <p>The file name containing the subtitle stream.</p>
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public String getFile() {
 | 
				
			||||||
 | 
					        return this.file;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Gets whether the subtitle is an image subtitle
 | 
					     * Gets whether the subtitle is an image subtitle
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
     * @return <p>Whether the subtitles is an image subtitle.</p>
 | 
					     * @return <p>Whether the subtitles is an image subtitle.</p>
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    public boolean getIsImageSubtitle() {
 | 
					    public boolean getIsImageSubtitle() {
 | 
				
			||||||
@@ -54,6 +71,7 @@ public class SubtitleStream extends StreamObject {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Gets whether the subtitle is a full subtitle
 | 
					     * Gets whether the subtitle is a full subtitle
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
     * @return <p>Whether the subtitle is a full subtitle.</p>
 | 
					     * @return <p>Whether the subtitle is a full subtitle.</p>
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    public boolean getIsFullSubtitle() {
 | 
					    public boolean getIsFullSubtitle() {
 | 
				
			||||||
@@ -62,6 +80,7 @@ public class SubtitleStream extends StreamObject {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Checks whether a subtitle is image based (as opposed to text based)
 | 
					     * Checks whether a subtitle is image based (as opposed to text based)
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
     * @return <p>True if the subtitle is image based.</p>
 | 
					     * @return <p>True if the subtitle is image based.</p>
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    private boolean isImageSubtitle() {
 | 
					    private boolean isImageSubtitle() {
 | 
				
			||||||
@@ -70,6 +89,7 @@ public class SubtitleStream extends StreamObject {
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Checks whether the subtitle translates everything (as opposed to just songs and signs)
 | 
					     * Checks whether the subtitle translates everything (as opposed to just songs and signs)
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
     * @return <p>True if the subtitle translates everything.</p>
 | 
					     * @return <p>True if the subtitle translates everything.</p>
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    private boolean isFullSubtitle() {
 | 
					    private boolean isFullSubtitle() {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -4,17 +4,42 @@ package net.knarcraft.ffmpegconverter.streams;
 | 
				
			|||||||
 * An object representation of a video stream in a media file
 | 
					 * An object representation of a video stream in a media file
 | 
				
			||||||
 */
 | 
					 */
 | 
				
			||||||
public class VideoStream extends StreamObject {
 | 
					public class VideoStream extends StreamObject {
 | 
				
			||||||
 | 
					    private final int width;
 | 
				
			||||||
 | 
					    private final int height;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * Instantiates a new video stream
 | 
					     * Instantiates a new video stream
 | 
				
			||||||
     * @param codec <p>The name of the codec for the video stream.</p>
 | 
					     *
 | 
				
			||||||
 | 
					     * @param codec         <p>The name of the codec for the video stream.</p>
 | 
				
			||||||
     * @param absoluteIndex <p>The index of the video stream.</p>
 | 
					     * @param absoluteIndex <p>The index of the video stream.</p>
 | 
				
			||||||
     * @param relativeIndex <p>The index of the video stream relative to other video streams.</p>
 | 
					     * @param relativeIndex <p>The index of the video stream relative to other video streams.</p>
 | 
				
			||||||
 | 
					     * @param width         <p>The width of the video stream.</p>
 | 
				
			||||||
 | 
					     * @param height        <p>The height of the video stream.</p>
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    public VideoStream(String codec, int absoluteIndex, int relativeIndex) {
 | 
					    public VideoStream(String codec, int absoluteIndex, int relativeIndex, int width, int height) {
 | 
				
			||||||
        this.codecType = "video";
 | 
					        this.codecType = "video";
 | 
				
			||||||
        this.codecName = codec;
 | 
					        this.codecName = codec;
 | 
				
			||||||
        this.absoluteIndex = absoluteIndex;
 | 
					        this.absoluteIndex = absoluteIndex;
 | 
				
			||||||
        this.relativeIndex = relativeIndex;
 | 
					        this.relativeIndex = relativeIndex;
 | 
				
			||||||
 | 
					        this.width = width;
 | 
				
			||||||
 | 
					        this.height = height;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Gets the width of the video stream
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @return <p>The width of the video steam in pixels.</p>
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public int getWidth() {
 | 
				
			||||||
 | 
					        return this.width;
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    /**
 | 
				
			||||||
 | 
					     * Gets the height of the video stream
 | 
				
			||||||
 | 
					     *
 | 
				
			||||||
 | 
					     * @return <p>The height of the video stream in pixels.</p>
 | 
				
			||||||
 | 
					     */
 | 
				
			||||||
 | 
					    public int getHeight() {
 | 
				
			||||||
 | 
					        return this.height;
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
		Reference in New Issue
	
	Block a user