Projects >> UniversalMediaServer >>e70c801cc01f3e446c252d6a224ee804289d88b8

Chunk
Conflicting content
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;
import org.apache.commons.lang.WordUtils;
<<<<<<< HEAD
import org.apache.commons.lang.StringUtils;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.Charsets;
=======
import org.apache.commons.lang3.StringUtils;
import static org.apache.commons.lang3.StringUtils.isBlank;
>>>>>>> 20a5fd1b105eae5c29e905a015eb8dda31ccb565
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Solution content
import org.apache.commons.configuration.ConfigurationException;
import org.apache.commons.configuration.PropertiesConfiguration;
import org.apache.commons.lang.WordUtils;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.io.FileUtils;
import org.apache.commons.io.Charsets;
import static org.apache.commons.lang3.StringUtils.isBlank;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
File
RendererConfiguration.java
Developer's decision
Combination
Kind of conflict
Import
Chunk
Conflicting content
		}
	};

<<<<<<< HEAD
	public int getMaxVolume() {
		return getInt(MAX_VOLUME, 100);
=======
	private int[] getVideoBitrateConfig(String bitrate) {
		int bitrates[] = new int[2];

		if (bitrate.contains("(") && bitrate.contains(")")) {
			bitrates[1] = Integer.parseInt(bitrate.substring(bitrate.indexOf('(') + 1, bitrate.indexOf(')')));
		}

		if (bitrate.contains("(")) {
			bitrate = bitrate.substring(0, bitrate.indexOf('(')).trim();
		}

		if (isBlank(bitrate)) {
			bitrate = "0";
		}

		bitrates[0] = (int) Double.parseDouble(bitrate);

		return bitrates;
>>>>>>> 20a5fd1b105eae5c29e905a015eb8dda31ccb565
	}
}
Solution content
}
		}
	};

	private int[] getVideoBitrateConfig(String bitrate) {
		int bitrates[] = new int[2];

		if (bitrate.contains("(") && bitrate.contains(")")) {
			bitrates[1] = Integer.parseInt(bitrate.substring(bitrate.indexOf('(') + 1, bitrate.indexOf(')')));
		}

		if (bitrate.contains("(")) {
			bitrate = bitrate.substring(0, bitrate.indexOf('(')).trim();
		}

		if (isBlank(bitrate)) {
			bitrate = "0";
		}

		bitrates[0] = (int) Double.parseDouble(bitrate);

		return bitrates;
	}

	public int getMaxVolume() {
		return getInt(MAX_VOLUME, 100);
	}
File
RendererConfiguration.java
Developer's decision
Concatenation
Kind of conflict
Array access
Cast expression
If statement
Method invocation
Method signature
Return statement
Variable
Chunk
Conflicting content
=======
			scalePadFilterChain.add("scale=" + scaleWidth + ":" + scaleHeight);
		}

<<<<<<< HEAD
		boolean override = true;
		if (renderer instanceof RendererConfiguration.OutputOverride) {
			RendererConfiguration.OutputOverride or = (RendererConfiguration.OutputOverride)renderer;
			override = or.addSubtitles();
		}

		if (!isDisableSubtitles(params) && !params.sid.isStreamable() && override) {
		if (!isDisableSubtitles(params) && !(dlna.getPlayer() instanceof WebPlayer)) {
>>>>>>> 20a5fd1b105eae5c29e905a015eb8dda31ccb565
			StringBuilder subsFilter = new StringBuilder();
			if (params.sid.getType().isText()) {
				String originalSubsFilename;
Solution content
			scalePadFilterChain.add("scale=" + scaleWidth + ":" + scaleHeight);
		}

		boolean override = true;
		if (renderer instanceof RendererConfiguration.OutputOverride) {
			RendererConfiguration.OutputOverride or = (RendererConfiguration.OutputOverride)renderer;
			override = or.addSubtitles();
		}

		if (!isDisableSubtitles(params) && override) {
			StringBuilder subsFilter = new StringBuilder();
			if (params.sid.getType().isText()) {
				String originalSubsFilename;
File
FFMpegVideo.java
Developer's decision
Manual
Kind of conflict
Other
Chunk
Conflicting content
		 */
		String prependTraceReason = "Switching from FFmpeg to MEncoder to transcode subtitles because ";
		if (
<<<<<<< HEAD
			!(renderer instanceof RendererConfiguration.OutputOverride) &&
			configuration.isFFmpegDeferToMEncoderForSubtitles() &&
=======
>>>>>>> 20a5fd1b105eae5c29e905a015eb8dda31ccb565
			params.sid != null &&
			!(
				!configuration.getHideTranscodeEnabled() &&
Solution content
		 */
		String prependTraceReason = "Switching from FFmpeg to MEncoder to transcode subtitles because ";
		if (
			!(renderer instanceof RendererConfiguration.OutputOverride) &&
			configuration.isFFmpegDeferToMEncoderForSubtitles() &&
			params.sid != null &&
			!(
				!configuration.getHideTranscodeEnabled() &&
File
FFMpegVideo.java
Developer's decision
Version 1
Kind of conflict
Other
Chunk
Conflicting content
		}

		// Decide whether to defer to tsMuxeR or continue to use FFmpeg
<<<<<<< HEAD
		if (! (renderer instanceof RendererConfiguration.OutputOverride) && configuration.isFFmpegMuxWithTsMuxerWhenCompatible()) {
			// Decide whether to defer to tsMuxeR or continue to use FFmpeg
			boolean deferToTsmuxer = true;
			String prependTraceReason = "Not muxing the video stream with tsMuxeR via FFmpeg because ";
			if (deferToTsmuxer == true && !configuration.getHideTranscodeEnabled() && dlna.isNoName() && (dlna.getParent() instanceof FileTranscodeVirtualFolder)) {
				deferToTsmuxer = false;
				LOGGER.trace(prependTraceReason + "the file is being played via a FFmpeg entry in the transcode folder.");
			}
			if (deferToTsmuxer == true && !params.mediaRenderer.isMuxH264MpegTS()) {
				deferToTsmuxer = false;
				LOGGER.trace(prependTraceReason + "the renderer does not support H.264 inside MPEG-TS.");
			}
			if (deferToTsmuxer == true && params.sid != null) {
				deferToTsmuxer = false;
				LOGGER.trace(prependTraceReason + "we need to burn subtitles.");
			}
			if (deferToTsmuxer == true && avisynth()) {
				deferToTsmuxer = false;
				LOGGER.trace(prependTraceReason + "we are using AviSynth.");
			}
			if (deferToTsmuxer == true && params.mediaRenderer.isH264Level41Limited() && !media.isVideoWithinH264LevelLimits(newInput, params.mediaRenderer)) {
				deferToTsmuxer = false;
				LOGGER.trace(prependTraceReason + "the video stream is not within H.264 level limits for this renderer.");
			}
			if (deferToTsmuxer == true && !media.isMuxable(params.mediaRenderer)) {
				deferToTsmuxer = false;
				LOGGER.trace(prependTraceReason + "the video stream is not muxable to this renderer");
			}
			if (deferToTsmuxer == true && !aspectRatiosMatch) {
				deferToTsmuxer = false;
				LOGGER.trace(prependTraceReason + "we need to transcode to apply the correct aspect ratio.");
=======
		boolean deferToTsmuxer = true;
		prependTraceReason = "Not muxing the video stream with tsMuxeR via FFmpeg because ";
		if (!configuration.isFFmpegMuxWithTsMuxerWhenCompatible()) {
			deferToTsmuxer = false;
			LOGGER.trace(prependTraceReason + "the user setting is disabled");
		}
		if (deferToTsmuxer == true && !configuration.getHideTranscodeEnabled() && dlna.isNoName() && (dlna.getParent() instanceof FileTranscodeVirtualFolder)) {
			deferToTsmuxer = false;
			LOGGER.trace(prependTraceReason + "the file is being played via a FFmpeg entry in the transcode folder.");
		}
		if (deferToTsmuxer == true && !params.mediaRenderer.isMuxH264MpegTS()) {
			deferToTsmuxer = false;
			LOGGER.trace(prependTraceReason + "the renderer does not support H.264 inside MPEG-TS.");
		}
		if (deferToTsmuxer == true && params.sid != null) {
			deferToTsmuxer = false;
			LOGGER.trace(prependTraceReason + "we need to burn subtitles.");
		}
		if (deferToTsmuxer == true && avisynth()) {
			deferToTsmuxer = false;
			LOGGER.trace(prependTraceReason + "we are using AviSynth.");
		}
		if (deferToTsmuxer == true && params.mediaRenderer.isH264Level41Limited() && !media.isVideoWithinH264LevelLimits(newInput, params.mediaRenderer)) {
			deferToTsmuxer = false;
			LOGGER.trace(prependTraceReason + "the video stream is not within H.264 level limits for this renderer.");
		}
		if (deferToTsmuxer == true && !media.isMuxable(params.mediaRenderer)) {
			deferToTsmuxer = false;
			LOGGER.trace(prependTraceReason + "the video stream is not muxable to this renderer");
		}
		if (deferToTsmuxer == true && !aspectRatiosMatch) {
			deferToTsmuxer = false;
			LOGGER.trace(prependTraceReason + "we need to transcode to apply the correct aspect ratio.");
		}
		if (deferToTsmuxer == true && !params.mediaRenderer.isPS3() && filename.contains("WEB-DL")) {
			deferToTsmuxer = false;
			LOGGER.trace(prependTraceReason + "the version of tsMuxeR supported by this renderer does not support WEB-DL files.");
		}
		if (deferToTsmuxer == true && "bt.601".equals(media.getMatrixCoefficients())) {
			deferToTsmuxer = false;
			LOGGER.trace(prependTraceReason + "the colorspace probably isn't supported by the renderer.");
		}
		if (deferToTsmuxer == true && params.mediaRenderer.isKeepAspectRatio() && !"16:9".equals(media.getAspectRatioContainer())) {
			deferToTsmuxer = false;
			LOGGER.trace(prependTraceReason + "the renderer needs us to add borders so it displays the correct aspect ratio of " + media.getAspectRatioContainer() + ".");
		}
		if (deferToTsmuxer) {
			TsMuxeRVideo tv = new TsMuxeRVideo();
			params.forceFps = media.getValidFps(false);

			if (media.getCodecV() != null) {
				if (media.isH264()) {
					params.forceType = "V_MPEG4/ISO/AVC";
				} else if (media.getCodecV().startsWith("mpeg2")) {
					params.forceType = "V_MPEG-2";
				} else if (media.getCodecV().equals("vc1")) {
					params.forceType = "V_MS/VFW/WVC1";
				}
>>>>>>> 20a5fd1b105eae5c29e905a015eb8dda31ccb565
			}
			if (deferToTsmuxer == true && !params.mediaRenderer.isPS3() && filename.contains("WEB-DL")) {
				deferToTsmuxer = false;
Solution content
		}

		// Decide whether to defer to tsMuxeR or continue to use FFmpeg
		if (!(renderer instanceof RendererConfiguration.OutputOverride) && configuration.isFFmpegMuxWithTsMuxerWhenCompatible()) {
			// Decide whether to defer to tsMuxeR or continue to use FFmpeg
			boolean deferToTsmuxer = true;
			prependTraceReason = "Not muxing the video stream with tsMuxeR via FFmpeg because ";
			if (deferToTsmuxer == true && !configuration.getHideTranscodeEnabled() && dlna.isNoName() && (dlna.getParent() instanceof FileTranscodeVirtualFolder)) {
				deferToTsmuxer = false;
				LOGGER.trace(prependTraceReason + "the file is being played via a FFmpeg entry in the transcode folder.");
			}
			if (deferToTsmuxer == true && !params.mediaRenderer.isMuxH264MpegTS()) {
				deferToTsmuxer = false;
				LOGGER.trace(prependTraceReason + "the renderer does not support H.264 inside MPEG-TS.");
			}
			if (deferToTsmuxer == true && params.sid != null) {
				deferToTsmuxer = false;
				LOGGER.trace(prependTraceReason + "we need to burn subtitles.");
			}
			if (deferToTsmuxer == true && avisynth()) {
				deferToTsmuxer = false;
				LOGGER.trace(prependTraceReason + "we are using AviSynth.");
			}
			if (deferToTsmuxer == true && params.mediaRenderer.isH264Level41Limited() && !media.isVideoWithinH264LevelLimits(newInput, params.mediaRenderer)) {
				deferToTsmuxer = false;
				LOGGER.trace(prependTraceReason + "the video stream is not within H.264 level limits for this renderer.");
			}
			if (deferToTsmuxer == true && !media.isMuxable(params.mediaRenderer)) {
				deferToTsmuxer = false;
				LOGGER.trace(prependTraceReason + "the video stream is not muxable to this renderer");
			}
			if (deferToTsmuxer == true && !aspectRatiosMatch) {
				deferToTsmuxer = false;
				LOGGER.trace(prependTraceReason + "we need to transcode to apply the correct aspect ratio.");
			}
			if (deferToTsmuxer == true && !params.mediaRenderer.isPS3() && filename.contains("WEB-DL")) {
				deferToTsmuxer = false;
File
FFMpegVideo.java
Developer's decision
Combination
Kind of conflict
Comment