Projects >> UniversalMediaServer >>a840d91c71979e9b665b607e7b3136d47992c4a8

Chunk
Conflicting content
			configuration.load(f);
		}

<<<<<<< HEAD
		mimes = new HashMap();
		String mimeTypes = getString(MIME_TYPES_CHANGES, null);
=======
		mimes = new HashMap<>();
		String mimeTypes = getString(MIME_TYPES_CHANGES, "");
>>>>>>> 09f341058ca82502162ff8637e9a5185a6a0c357

		if (StringUtils.isNotBlank(mimeTypes)) {
			StringTokenizer st = new StringTokenizer(mimeTypes, "|");
Solution content
			configuration.load(f);
		}

		mimes = new HashMap();
		String mimeTypes = getString(MIME_TYPES_CHANGES, "");

		if (StringUtils.isNotBlank(mimeTypes)) {
			StringTokenizer st = new StringTokenizer(mimeTypes, "|");
File
RendererConfiguration.java
Developer's decision
Combination
Kind of conflict
Attribute
Method invocation
Variable
Chunk
Conflicting content
			}
		}

<<<<<<< HEAD
		DLNAPN = new HashMap();
		String DLNAPNchanges = getString(DLNA_PN_CHANGES, null);
=======
		DLNAPN = new HashMap<>();
		String DLNAPNchanges = getString(DLNA_PN_CHANGES, "");
>>>>>>> 09f341058ca82502162ff8637e9a5185a6a0c357

		if (DLNAPNchanges != null) {
			LOGGER.trace("Config DLNAPNchanges: " + DLNAPNchanges);
Solution content
			}
		}

		DLNAPN = new HashMap();
		String DLNAPNchanges = getString(DLNA_PN_CHANGES, "");

		if (DLNAPNchanges != null) {
			LOGGER.trace("Config DLNAPNchanges: " + DLNAPNchanges);
File
RendererConfiguration.java
Developer's decision
Combination
Kind of conflict
Attribute
Method invocation
Variable
Chunk
Conflicting content
				// ignore this
			}
		}
<<<<<<< HEAD
		return getString(MAX_VIDEO_BITRATE, null);
=======
		return getString(MAX_VIDEO_BITRATE, "0");
>>>>>>> 09f341058ca82502162ff8637e9a5185a6a0c357
	}

	@Deprecated
Solution content
				// ignore this
			}
		}
		return getString(MAX_VIDEO_BITRATE, "0");
	}

	@Deprecated
File
RendererConfiguration.java
Developer's decision
Version 2
Kind of conflict
Method invocation
Return statement
Chunk
Conflicting content
	}

	public String getFFmpegVideoFilterOverride() {
<<<<<<< HEAD
		return getString(OVERRIDE_FFMPEG_VF, null);
=======
		return getString(OVERRIDE_FFMPEG_VF, "");
>>>>>>> 09f341058ca82502162ff8637e9a5185a6a0c357
	}

	public static ArrayList getAllRenderersNames() {
Solution content
	}

	public String getFFmpegVideoFilterOverride() {
		return getString(OVERRIDE_FFMPEG_VF, "");
	}

	public static ArrayList getAllRenderersNames() {
File
RendererConfiguration.java
Developer's decision
Version 2
Kind of conflict
Method invocation
Return statement
Chunk
Conflicting content
	}

	public String getSupportedSubtitles() {
<<<<<<< HEAD
		return getString(SUPPORTED_SUBTITLES_FORMATS, null);
=======
		return getString(SUPPORTED_SUBTITLES_FORMATS, "");
>>>>>>> 09f341058ca82502162ff8637e9a5185a6a0c357
	}

	public boolean useClosedCaption() {
Solution content
	}

	public String getSupportedSubtitles() {
		return getString(SUPPORTED_SUBTITLES_FORMATS, "");
	}

	public boolean useClosedCaption() {
File
RendererConfiguration.java
Developer's decision
Version 2
Kind of conflict
Method invocation
Return statement
Chunk
Conflicting content
	}

	public boolean isSubtitlesStreamingSupported() {
<<<<<<< HEAD
		return (getSupportedSubtitles() != null);
=======
		return StringUtils.isNotBlank(getSupportedSubtitles());
>>>>>>> 09f341058ca82502162ff8637e9a5185a6a0c357
	}

	/**
Solution content
	}

	public boolean isSubtitlesStreamingSupported() {
		return StringUtils.isNotBlank(getSupportedSubtitles());
	}

	/**
File
RendererConfiguration.java
Developer's decision
Version 2
Kind of conflict
Method invocation
Return statement
Chunk
Conflicting content
	}

	private String calculatedSpeed() throws Exception {
<<<<<<< HEAD
		String max = getString(MAX_VIDEO_BITRATE, null);
=======
		String max = getString(MAX_VIDEO_BITRATE, "");
>>>>>>> 09f341058ca82502162ff8637e9a5185a6a0c357
		for (InetAddress sa : addressAssociation.keySet()) {
			if (addressAssociation.get(sa) == this) {
				Future speed = SpeedStats.getInstance().getSpeedInMBitsStored(sa, getRendererName());
Solution content
	}

	private String calculatedSpeed() throws Exception {
		String max = getString(MAX_VIDEO_BITRATE, "");
		for (InetAddress sa : addressAssociation.keySet()) {
			if (addressAssociation.get(sa) == this) {
				Future speed = SpeedStats.getInstance().getSpeedInMBitsStored(sa, getRendererName());
File
RendererConfiguration.java
Developer's decision
Version 2
Kind of conflict
Method invocation
Variable
Chunk
Conflicting content
							Player.setAudioAndSubs(child.getSystemName(), child.media, params); // set proper subtitles in accordance with user setting
							if (defaultRenderer.isSubtitlesFormatSupported(params.sid)) {
								child.media_subtitle = params.sid;
<<<<<<< HEAD
							}
=======
								LOGGER.trace("Set media_subtitle");
							} else {
								LOGGER.trace("Did not set media_subtitle because the subtitle format is not supported by this renderer");
							}
						} else {
							LOGGER.trace("Did not set media_subtitle because configuration.isDisableSubtitles is true, this is not a subtitle, or the renderer does not support streaming subtitles");
>>>>>>> 09f341058ca82502162ff8637e9a5185a6a0c357
						}

						if (!FormatConfiguration.MIMETYPE_AUTO.equals(mimeType)) {
Solution content
							Player.setAudioAndSubs(child.getSystemName(), child.media, params); // set proper subtitles in accordance with user setting
							if (defaultRenderer.isSubtitlesFormatSupported(params.sid)) {
								child.media_subtitle = params.sid;
								LOGGER.trace("Set media_subtitle");
							} else {
								LOGGER.trace("Did not set media_subtitle because the subtitle format is not supported by this renderer");
							}
						} else {
							LOGGER.trace("Did not set media_subtitle because configuration.isDisableSubtitles is true, this is not a subtitle, or the renderer does not support streaming subtitles");
						}

						if (!FormatConfiguration.MIMETYPE_AUTO.equals(mimeType)) {
File
DLNAResource.java
Developer's decision
Version 2
Kind of conflict
Method invocation
Chunk
Conflicting content
							if (!configuration.isDisableSubtitles()) {
								if (child.isSubsFile()) {
<<<<<<< HEAD
									hasSubsToTranscode = (child.media_subtitle == null); // subtitles are not set for streaming
								} else {
									hasSubsToTranscode = hasEmbeddedSubs && defaultRenderer != null && !defaultRenderer.isEmbeddedSubtitlesSupported();
								}

								if (hasSubsToTranscode) {
									LOGGER.trace("File \"{}\" has subs that need transcoding", child.getName());
=======
									if (child.media_subtitle == null) {
										hasSubsToTranscode = true;
										LOGGER.trace("Subtitles for \"{}\" need to be transcoded because media_subtitle is null", child.getName());
									} else {
										LOGGER.trace("Subtitles for \"{}\" will not be transcoded because media_subtitle is not null", child.getName());
									}
									hasSubsToTranscode = (child.media_subtitle == null); // subtitles are not set for streaming
								} else {
									if (hasEmbeddedSubs && defaultRenderer != null && !defaultRenderer.isEmbeddedSubtitlesSupported()) {
										hasSubsToTranscode = true;
										LOGGER.trace("Subtitles for \"{}\" need to be transcoded because the renderer does not support internal subtitles", child.getName());
									} else {
										LOGGER.trace("Subtitles for \"{}\" will not be transcoded because the renderer supports internal subtitles", child.getName());
									}
>>>>>>> 09f341058ca82502162ff8637e9a5185a6a0c357
								}
							}
Solution content
							if (!configuration.isDisableSubtitles()) {
								if (child.isSubsFile()) {
									if (child.media_subtitle == null) {
										hasSubsToTranscode = true;
										LOGGER.trace("Subtitles for \"{}\" need to be transcoded because media_subtitle is null", child.getName());
									} else {
										LOGGER.trace("Subtitles for \"{}\" will not be transcoded because media_subtitle is not null", child.getName());
									}
									hasSubsToTranscode = (child.media_subtitle == null); // subtitles are not set for streaming
								} else {
									if (hasEmbeddedSubs && defaultRenderer != null && !defaultRenderer.isEmbeddedSubtitlesSupported()) {
										hasSubsToTranscode = true;
										LOGGER.trace("Subtitles for \"{}\" need to be transcoded because the renderer does not support internal subtitles", child.getName());
									} else {
										LOGGER.trace("Subtitles for \"{}\" will not be transcoded because the renderer supports internal subtitles", child.getName());
									}
								}
							}
File
DLNAResource.java
Developer's decision
Version 2
Kind of conflict
Attribute
Comment
If statement
Method invocation
Variable
Chunk
Conflicting content
								!"16:9".equals(child.media.getAspectRatioContainer())
							) {
								isIncompatible = true;
<<<<<<< HEAD
								LOGGER.trace("File \"{}\" will not be streamed because the renderer needs us to add borders so it displays the correct aspect ratio.", child.getName());
=======
								LOGGER.trace("File \"{}\" will not be streamed because the renderer needs us to add borders to change the aspect ratio from {} to 16/9.", child.getName(), child.media.getAspectRatioContainer());
>>>>>>> 09f341058ca82502162ff8637e9a5185a6a0c357
							} else if (
								defaultRenderer != null &&
								defaultRenderer.isMaximumResolutionSpecified() &&
Solution content
								!"16:9".equals(child.media.getAspectRatioContainer())
							) {
								isIncompatible = true;
								LOGGER.trace("File \"{}\" will not be streamed because the renderer needs us to add borders to change the aspect ratio from {} to 16/9.", child.getName(), child.media.getAspectRatioContainer());
							} else if (
								defaultRenderer != null &&
								defaultRenderer.isMaximumResolutionSpecified() &&
File
DLNAResource.java
Developer's decision
Version 2
Kind of conflict
Method invocation
Chunk
Conflicting content
	 */
	public final String getDidlString(RendererConfiguration mediaRenderer) {
		StringBuilder sb = new StringBuilder();
<<<<<<< HEAD
		if (!configuration.isDisableSubtitles() &&
				media != null &&
				media_subtitle != null &&
				player == null &&
				mediaRenderer.isSubtitlesFormatSupported(media_subtitle)
			) {
				subsAreValidForStreaming = true;
=======
		if (
			!configuration.isDisableSubtitles() &&
			media != null &&
			media_subtitle != null &&
			player == null &&
			mediaRenderer.isSubtitlesFormatSupported(media_subtitle)
		) {
			subsAreValidForStreaming = true;
			LOGGER.trace("Setting subsAreValidForStreaming to true for " + getName());
		} else if (subsAreValidForStreaming) {
			LOGGER.trace("Not setting subsAreValidForStreaming and it is true for " + getName());
		} else {
			LOGGER.trace("Not setting subsAreValidForStreaming and it is false for " + getName());
>>>>>>> 09f341058ca82502162ff8637e9a5185a6a0c357
		}

		if (isFolder()) {
Solution content
	 */
	public final String getDidlString(RendererConfiguration mediaRenderer) {
		StringBuilder sb = new StringBuilder();
		if (
			!configuration.isDisableSubtitles() &&
			media != null &&
			media_subtitle != null &&
			player == null &&
			mediaRenderer.isSubtitlesFormatSupported(media_subtitle)
		) {
			subsAreValidForStreaming = true;
			LOGGER.trace("Setting subsAreValidForStreaming to true for " + getName());
		} else if (subsAreValidForStreaming) {
			LOGGER.trace("Not setting subsAreValidForStreaming and it is true for " + getName());
		} else {
			LOGGER.trace("Not setting subsAreValidForStreaming and it is false for " + getName());
		}

		if (isFolder()) {
File
DLNAResource.java
Developer's decision
Version 2
Kind of conflict
Attribute
If statement
Method invocation
Chunk
Conflicting content
		this.folders = (ArrayList) folders;
	}

<<<<<<< HEAD
=======
	public void update(List folders) {
		this.folders = (ArrayList) folders;
	}

>>>>>>> 09f341058ca82502162ff8637e9a5185a6a0c357
	@Override
	public void search(String searchString, DLNAResource searcher) {
		searchString = searchString.toLowerCase();
Solution content
		this.folders = (ArrayList) folders;
	}

	@Override
	public void search(String searchString, DLNAResource searcher) {
		searchString = searchString.toLowerCase();
File
FileSearch.java
Developer's decision
Version 1
Kind of conflict
Method declaration
Chunk
Conflicting content
			// create copies of the audio/subtitle track lists as we're making (local)
			// modifications to them
<<<<<<< HEAD
			List audioTracks = new ArrayList(child.getMedia().getAudioTracksList());
			List subtitleTracks = new ArrayList(child.getMedia().getSubtitleTracksList());

			// assemble copies for each combination of audio, subtitle and player
			ArrayList entries = new ArrayList();
=======
			List audioTracks = new ArrayList<>(child.getMedia().getAudioTracksList());
			List subtitleTracks = new ArrayList<>(child.getMedia().getSubtitleTracksList());

			// assemble copies for each combination of audio, subtitle and player
			ArrayList entries = new ArrayList<>();
>>>>>>> 09f341058ca82502162ff8637e9a5185a6a0c357

			// First, add the option to simply stream the resource.
			// Only add the option if the renderer is compatible with the format
Solution content
			// create copies of the audio/subtitle track lists as we're making (local)
			// modifications to them
			List audioTracks = new ArrayList(child.getMedia().getAudioTracksList());
			List subtitleTracks = new ArrayList(child.getMedia().getSubtitleTracksList());

			// assemble copies for each combination of audio, subtitle and player
			ArrayList entries = new ArrayList();

			// First, add the option to simply stream the resource.
			// Only add the option if the renderer is compatible with the format
File
FileTranscodeVirtualFolder.java
Developer's decision
Version 1
Kind of conflict
Comment
Method invocation
Variable
Chunk
Conflicting content
								DLNAResource copy = createResourceWithAudioSubtitlePlayer(child, null, subtitle, null);
								entries.add(copy);
								LOGGER.trace(
<<<<<<< HEAD
										"Duplicating {} for direct streaming subtitles {}",
										child.getName(),
										subtitle.toString());
=======
									"Duplicating {} for direct streaming subtitles {}",
									child.getName(),
									subtitle.toString()
								);
>>>>>>> 09f341058ca82502162ff8637e9a5185a6a0c357
							}
						}
					}
Solution content
								DLNAResource copy = createResourceWithAudioSubtitlePlayer(child, null, subtitle, null);
								entries.add(copy);
								LOGGER.trace(
									"Duplicating {} for direct streaming subtitles {}",
									child.getName(),
									subtitle.toString()
								);
							}
						}
					}
File
FileTranscodeVirtualFolder.java
Developer's decision
Version 1
Kind of conflict
Method invocation
Chunk
Conflicting content
		int vfolder = 0;
		FileSearch fs = null;
		if (!discoverable.isEmpty() && configuration.getSearchInFolder()) {
<<<<<<< HEAD
			searchList = new ArrayList();
=======
			searchList = new ArrayList<>();
>>>>>>> 09f341058ca82502162ff8637e9a5185a6a0c357
			fs = new FileSearch(searchList);
			addChild(new SearchFolder(fs));
		}
Solution content
		int vfolder = 0;
		FileSearch fs = null;
		if (!discoverable.isEmpty() && configuration.getSearchInFolder()) {
			searchList = new ArrayList();
			fs = new FileSearch(searchList);
			addChild(new SearchFolder(fs));
		}
File
MapFile.java
Developer's decision
Version 1
Kind of conflict
Attribute
Method invocation
Chunk
Conflicting content
	}

	public void read() {
<<<<<<< HEAD
		try {
			BufferedReader in = new BufferedReader(new FileReader(file));
				String str;
				while ((str = in.readLine()) != null) {
					String[] tmp = str.split(",");
					offsetTime = Long.parseLong(tmp[0]);
					if (tmp.length > 1) {
						resDuration = Long.parseLong(tmp[1]);
					}
					break;
				}
=======
		try (BufferedReader in = new BufferedReader(new FileReader(file))) {
			String str;
			while ((str = in.readLine()) != null) {
				String[] tmp = str.split(",");
				offsetTime = Long.parseLong(tmp[0]);
				if (tmp.length > 1) {
					resDuration = Long.parseLong(tmp[1]);
				}
				break;
			}
>>>>>>> 09f341058ca82502162ff8637e9a5185a6a0c357
		} catch (IOException e) {
		}
	}
Solution content
	}

	public void read() {
		try {
			BufferedReader in = new BufferedReader(new FileReader(file));
				String str;
				while ((str = in.readLine()) != null) {
					String[] tmp = str.split(",");
					offsetTime = Long.parseLong(tmp[0]);
					if (tmp.length > 1) {
						resDuration = Long.parseLong(tmp[1]);
					}
					break;
				}
		} catch (IOException e) {
		}
	}
File
ResumeObj.java
Developer's decision
Version 1
Kind of conflict
Method invocation
Try statement
Variable
While statement
Chunk
Conflicting content
			/**
			 * Make sure the aspect ratio is 16/9 if the renderer needs it.
			 */
<<<<<<< HEAD
=======

			int scaleWidth = 0;
			int scaleHeight = 0;
			if (media.getWidth() > 0 && media.getHeight() > 0) {
				scaleWidth = media.getWidth();
				scaleHeight = media.getHeight();
			}

>>>>>>> 09f341058ca82502162ff8637e9a5185a6a0c357
			boolean keepAR = renderer.isKeepAspectRatio() &&
					!(
						media.getWidth() == 3840 && media.getHeight() <= 1080 ||
Solution content
						media.getWidth() == 3840 && media.getHeight() <= 1080 ||
			/**
			 * Make sure the aspect ratio is 16/9 if the renderer needs it.
			 */

			int scaleWidth = 0;
			int scaleHeight = 0;
			if (media.getWidth() > 0 && media.getHeight() > 0) {
				scaleWidth = media.getWidth();
				scaleHeight = media.getHeight();
			}

			boolean keepAR = renderer.isKeepAspectRatio() &&
					!(
File
FFMpegVideo.java
Developer's decision
Version 2
Kind of conflict
Other
Chunk
Conflicting content
			setAudioOutputParameters(media, params);
		}

<<<<<<< HEAD
		if (params.sid == null) {
=======
		if (params.sid == null || (params.sid != null && StringUtils.isNotEmpty(params.sid.getLiveSubURL()))) {
>>>>>>> 09f341058ca82502162ff8637e9a5185a6a0c357
			setSubtitleOutputParameters(filename, media, params);
		}
Solution content
			setAudioOutputParameters(media, params);
		}

		if (params.sid == null || (params.sid != null && StringUtils.isNotEmpty(params.sid.getLiveSubURL()))) {
			setSubtitleOutputParameters(filename, media, params);
		}
File
FFMpegVideo.java
Developer's decision
Version 2
Kind of conflict
If statement
Chunk
Conflicting content
			int channels = 0;
			if (renderer.isTranscodeToWMV() && !renderer.isXBOX()) {
				channels = 2;
<<<<<<< HEAD
			} else if (params.aid.getAudioProperties().getNumberOfChannels() > configuration.getAudioChannelCount()) {
=======
			} else if (params.aid != null && params.aid.getAudioProperties().getNumberOfChannels() > configuration.getAudioChannelCount()) {
>>>>>>> 09f341058ca82502162ff8637e9a5185a6a0c357
				channels = configuration.getAudioChannelCount();
			}
Solution content
			int channels = 0;
			if (renderer.isTranscodeToWMV() && !renderer.isXBOX()) {
				channels = 2;
			} else if (params.aid != null && params.aid.getAudioProperties().getNumberOfChannels() > configuration.getAudioChannelCount()) {
				channels = configuration.getAudioChannelCount();
			}
File
FFMpegVideo.java
Developer's decision
Version 2
Kind of conflict
If statement
Chunk
Conflicting content
		File outputSubs = tempSubs;
		StringBuilder outputString = new StringBuilder();
		File temp = new File(configuration.getTempFolder(), tempSubs.getName() + ".tmp");
<<<<<<< HEAD

		File sourceFile = new File(tempSubs.toString());
		File destinationFile = new File(temp.toString());
		FileUtils.copyFile(sourceFile, destinationFile);

		BufferedWriter output;
		BufferedReader input = new BufferedReader(new FileReader(temp));
			output = new BufferedWriter(new FileWriter(outputSubs));
=======
		FileUtils.copyFile(tempSubs, temp);
		BufferedReader input = FileUtil.bufferedReaderWithCorrectCharset(temp);
		BufferedWriter output = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outputSubs), CHARSET_UTF_8));
		try {
>>>>>>> 09f341058ca82502162ff8637e9a5185a6a0c357
			String line;
			String[] format = null;
			int i;
Solution content
		File outputSubs = tempSubs;
		StringBuilder outputString = new StringBuilder();
		File temp = new File(configuration.getTempFolder(), tempSubs.getName() + ".tmp");

		File sourceFile = new File(tempSubs.toString());
		File destinationFile = new File(temp.toString());
		FileUtils.copyFile(sourceFile, destinationFile);

		BufferedWriter output;
		BufferedReader input = new BufferedReader(new FileReader(temp));
			output = new BufferedWriter(new FileWriter(outputSubs));
			String line;
			String[] format = null;
			int i;
File
FFMpegVideo.java
Developer's decision
Version 1
Kind of conflict
Method invocation
Try statement
Variable
Chunk
Conflicting content
					String[] params = line.split(",");

					for (i = 0; i < format.length; i++) {
<<<<<<< HEAD
						if (format[i].contains("Fontname")) {
							if (!configuration.getFont().isEmpty()) {
								params[i] = configuration.getFont();
							}
							continue;
						}
=======
						switch (format[i].trim()) {
							case "Fontname":
								if (!configuration.getFont().isEmpty()) {
									params[i] = configuration.getFont();
								}
>>>>>>> 09f341058ca82502162ff8637e9a5185a6a0c357

								break;
							case "Fontsize":
Solution content
					String[] params = line.split(",");

					for (i = 0; i < format.length; i++) {
						if (format[i].contains("Fontname")) {
							if (!configuration.getFont().isEmpty()) {
								params[i] = configuration.getFont();
							}
							continue;
						}

								break;
							case "Fontsize":
File
FFMpegVideo.java
Developer's decision
Version 1
Kind of conflict
Case statement
If statement
Switch statement
Chunk
Conflicting content
		output.flush();
		output.close();
				outputString.append(line).append("\n");
				output.write(outputString.toString());
			}
<<<<<<< HEAD
		input.close();
		temp.deleteOnExit();
=======
		} finally {
			input.close();
			output.flush();
			output.close();
			temp.deleteOnExit();
		}

>>>>>>> 09f341058ca82502162ff8637e9a5185a6a0c357
		return outputSubs;
	}
Solution content
		input.close();

		return outputSubs;
				outputString.append(line).append("\n");
				output.write(outputString.toString());
			}
	}
File
FFMpegVideo.java
Developer's decision
Combination
Kind of conflict
Method invocation
Chunk
Conflicting content
			setAudioOutputParameters(media, params);
		}

<<<<<<< HEAD
		if (params.sid == null) {
=======
		if (params.sid == null || (params.sid != null && StringUtils.isNotEmpty(params.sid.getLiveSubURL()))) {
>>>>>>> 09f341058ca82502162ff8637e9a5185a6a0c357
			setSubtitleOutputParameters(filename, media, params);
		}
Solution content
			setAudioOutputParameters(media, params);
		}

		if (params.sid == null || (params.sid != null && StringUtils.isNotEmpty(params.sid.getLiveSubURL()))) {
			setSubtitleOutputParameters(filename, media, params);
		}
File
FFmpegWebVideo.java
Developer's decision
Version 2
Kind of conflict
If statement
Chunk
Conflicting content
			if (!bitrateLevel41Limited) {
				// Make room for audio
<<<<<<< HEAD
				if ("pcm".equals(audioType)) {
					// If audio is PCM, subtract 4600kb/s
					defaultMaxBitrates[0] -= 4600;
				} else if ("dts".equals(audioType)) {
					// If audio is DTS, subtract 1510kb/s
					defaultMaxBitrates[0] -= 1510;
				} else if ("ac3".equals(audioType) || "aac".equals(audioType)) {
					// If audio is AC3 or AAC, subtract the configured amount (usually 640)
					defaultMaxBitrates[0] -= configuration.getAudioBitrate();
=======
				switch (audioType) {
					case "pcm":
						defaultMaxBitrates[0] -= 4600;
						break;
					case "dts":
						defaultMaxBitrates[0] -= 1510;
						break;
					case "aac":
					case "ac3":
						defaultMaxBitrates[0] -= configuration.getAudioBitrate();
						break;
					default:
						break;
>>>>>>> 09f341058ca82502162ff8637e9a5185a6a0c357
				}

				// Round down to the nearest Mb
Solution content
			if (!bitrateLevel41Limited) {
				// Make room for audio
				if ("pcm".equals(audioType)) {
					// If audio is PCM, subtract 4600kb/s
					defaultMaxBitrates[0] -= 4600;
				} else if ("dts".equals(audioType)) {
					// If audio is DTS, subtract 1510kb/s
					defaultMaxBitrates[0] -= 1510;
				} else if ("ac3".equals(audioType) || "aac".equals(audioType)) {
					// If audio is AC3 or AAC, subtract the configured amount (usually 640)
					defaultMaxBitrates[0] -= configuration.getAudioBitrate();
				}

				// Round down to the nearest Mb
File
MEncoderVideo.java
Developer's decision
Version 1
Kind of conflict
Array access
Break statement
Case statement
Comment
If statement
Method invocation
Switch statement
Chunk
Conflicting content
			setAudioOutputParameters(media, params);
		}

<<<<<<< HEAD
		if (params.sid == null) {
=======
		if (params.sid == null || (params.sid != null && StringUtils.isNotEmpty(params.sid.getLiveSubURL()))) {
>>>>>>> 09f341058ca82502162ff8637e9a5185a6a0c357
			setSubtitleOutputParameters(filename, media, params);
		}
Solution content
			setAudioOutputParameters(media, params);
		}

		if (params.sid == null || (params.sid != null && StringUtils.isNotEmpty(params.sid.getLiveSubURL()))) {
			setSubtitleOutputParameters(filename, media, params);
		}
File
MEncoderVideo.java
Developer's decision
Version 2
Kind of conflict
If statement
Chunk
Conflicting content
			StringBuilder vfValueComplete        = new StringBuilder();

			String deinterlaceComma = "";
<<<<<<< HEAD
			double rendererAspectRatio = 1.777777777777778;
			if (params.mediaRenderer.isMaximumResolutionSpecified()) {
				rendererAspectRatio = (double) params.mediaRenderer.getMaxVideoWidth() / (double) params.mediaRenderer.getMaxVideoHeight();
			}
=======
>>>>>>> 09f341058ca82502162ff8637e9a5185a6a0c357

			/*
			 * Implement overscan compensation settings
Solution content
			StringBuilder vfValueComplete        = new StringBuilder();

			String deinterlaceComma = "";

			/*
			 * Implement overscan compensation settings
File
MEncoderVideo.java
Developer's decision
Version 2
Kind of conflict
If statement
Variable
Chunk
Conflicting content
			} else if (isResolutionTooHighForRenderer) {
				// The video resolution is too big for the renderer so we need to scale it down

<<<<<<< HEAD
				double videoAspectRatio = (double) media.getWidth() / (double) media.getHeight();

=======
>>>>>>> 09f341058ca82502162ff8637e9a5185a6a0c357
				/*
				 * First we deal with some exceptions, then if they are not matched we will
				 * let the renderer limits work.
Solution content
			} else if (isResolutionTooHighForRenderer) {
				// The video resolution is too big for the renderer so we need to scale it down

				/*
				 * First we deal with some exceptions, then if they are not matched we will
				 * let the renderer limits work.
File
MEncoderVideo.java
Developer's decision
Version 2
Kind of conflict
Cast expression
Variable
Chunk
Conflicting content
			setAudioOutputParameters(media, params);
		}

<<<<<<< HEAD
		if (params.sid == null) {
=======
		if (params.sid == null || (params.sid != null && StringUtils.isNotEmpty(params.sid.getLiveSubURL()))) {
>>>>>>> 09f341058ca82502162ff8637e9a5185a6a0c357
			setSubtitleOutputParameters(filename, media, params);
		}
Solution content
			setAudioOutputParameters(media, params);
		}

		if (params.sid == null || (params.sid != null && StringUtils.isNotEmpty(params.sid.getLiveSubURL()))) {
			setSubtitleOutputParameters(filename, media, params);
		}
File
VLCVideo.java
Developer's decision
Version 2
Kind of conflict
If statement
Chunk
Conflicting content
		}

		try {
<<<<<<< HEAD
			FileInputStream fis = new FileInputStream(purge);
				BufferedReader in = new BufferedReader(new InputStreamReader(fis)); 
=======
			try (FileInputStream fis = new FileInputStream(purge); BufferedReader in = new BufferedReader(new InputStreamReader(fis))) { 
>>>>>>> 09f341058ca82502162ff8637e9a5185a6a0c357
				String line;

				while ((line = in.readLine()) != null) {
Solution content
		}

		try {
			FileInputStream fis = new FileInputStream(purge);
				BufferedReader in = new BufferedReader(new InputStreamReader(fis)); 
				String line;

				while ((line = in.readLine()) != null) {
File
ExternalFactory.java
Developer's decision
Version 1
Kind of conflict
Method invocation
Variable
Chunk
Conflicting content
						f.delete();
					}
				}
<<<<<<< HEAD
			fis.close();
=======
			}
>>>>>>> 09f341058ca82502162ff8637e9a5185a6a0c357
		} catch (IOException e) { }
		purge.delete();
	}
Solution content
						f.delete();
					}
				}
			fis.close();
		} catch (IOException e) { }
		purge.delete();
	}
File
ExternalFactory.java
Developer's decision
Version 1
Kind of conflict
Method invocation
Chunk
Conflicting content
=======
		String subsFileCharset = FileUtil.getFileCharset(tempSubs);
		BufferedWriter output;
		Pattern timePattern = Pattern.compile("([0-9]{2}:[0-9]{2}:[0-9]{2},[0-9]{3}) --> ([0-9]{2}:[0-9]{2}:[0-9]{2},[0-9]{3})");
<<<<<<< HEAD
		BufferedReader input = new BufferedReader(new InputStreamReader(new FileInputStream(tempSubs), Charset.forName(subsFileCharset)));
		try (BufferedReader input = new BufferedReader(new InputStreamReader(new FileInputStream(tempSubs), Charset.forName(subsFileCharset)))) {
>>>>>>> 09f341058ca82502162ff8637e9a5185a6a0c357
			output = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outputSubs), Charset.forName(CHARSET_UTF_8)));
			String line;
			outputString.append("WEBVTT").append("\n").append("\n");
Solution content
		String subsFileCharset = FileUtil.getFileCharset(tempSubs);
		BufferedWriter output;
		Pattern timePattern = Pattern.compile("([0-9]{2}:[0-9]{2}:[0-9]{2},[0-9]{3}) --> ([0-9]{2}:[0-9]{2}:[0-9]{2},[0-9]{3})");
		BufferedReader input = new BufferedReader(new InputStreamReader(new FileInputStream(tempSubs), Charset.forName(subsFileCharset)));
			output = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(outputSubs), Charset.forName(CHARSET_UTF_8)));
			String line;
			outputString.append("WEBVTT").append("\n").append("\n");
File
SubtitleUtils.java
Developer's decision
Version 1
Kind of conflict
Method invocation
Variable
Chunk
Conflicting content
							// http://www.ps3mediaserver.org/forum/viewtopic.php?f=3&t=15805&p=75534#p75534
							if (sub.isExternal()) {
								inputStream = new FileInputStream(sub.getExternalFile());
<<<<<<< HEAD
=======
								LOGGER.trace("Loading external subtitles: " + sub);
							} else {
								LOGGER.trace("Not loading external subtitles because they are not external: " + sub);
>>>>>>> 09f341058ca82502162ff8637e9a5185a6a0c357
							}
						} catch (NullPointerException npe) {
							LOGGER.trace("Not loading external subtitles because we could not find them at " + sub);
Solution content
							// http://www.ps3mediaserver.org/forum/viewtopic.php?f=3&t=15805&p=75534#p75534
							if (sub.isExternal()) {
								inputStream = new FileInputStream(sub.getExternalFile());
								LOGGER.trace("Loading external subtitles: " + sub);
							} else {
								LOGGER.trace("Not loading external subtitles because they are not external: " + sub);
							}
						} catch (NullPointerException npe) {
							LOGGER.trace("Not loading external subtitles because we could not find them at " + sub);
File
RequestV2.java
Developer's decision
Version 2
Kind of conflict
Other
Chunk
Conflicting content
								if (isNotBlank(subExtension)) {
									subExtension = "." + subExtension;
								}
<<<<<<< HEAD
=======
								subtitleUrl = "http://" + PMS.get().getServer().getHost() +
									':' + PMS.get().getServer().getPort() + "/get/" +
									id + "/subtitle0000" + subExtension;
>>>>>>> 09f341058ca82502162ff8637e9a5185a6a0c357

								output.headers().set(subtitleHttpHeader, subtitleUrl);
							} else {
Solution content
								if (isNotBlank(subExtension)) {
									subExtension = "." + subExtension;
								}
								subtitleUrl = "http://" + PMS.get().getServer().getHost() +
									':' + PMS.get().getServer().getPort() + "/get/" +
									id + "/subtitle0000" + subExtension;

								output.headers().set(subtitleHttpHeader, subtitleUrl);
							} else {
File
RequestV2.java
Developer's decision
Version 2
Kind of conflict
Other
Chunk
Conflicting content
			int speedInMbits = (int) (bps / (cnt * 1000000));
			LOGGER.info("Renderer " + rendererName + " has an estimated network speed of " + speedInMbits + " Mb/s");
			synchronized (speedStats) {
<<<<<<< HEAD
				CompletedFuture result = new CompletedFuture(speedInMbits);
=======
				CompletedFuture result = new CompletedFuture<>(speedInMbits);
>>>>>>> 09f341058ca82502162ff8637e9a5185a6a0c357
				// update the statistics with a computed future value
				speedStats.put(ip, result);
				speedStats.put(hostname, result);
Solution content
			int speedInMbits = (int) (bps / (cnt * 1000000));
			LOGGER.info("Renderer " + rendererName + " has an estimated network speed of " + speedInMbits + " Mb/s");
			synchronized (speedStats) {
				CompletedFuture result = new CompletedFuture(speedInMbits);
				// update the statistics with a computed future value
				speedStats.put(ip, result);
				speedStats.put(hostname, result);
File
SpeedStats.java
Developer's decision
Version 1
Kind of conflict
Method invocation
Variable
Chunk
Conflicting content
				File f = configuration.getCredFile();

				try {
<<<<<<< HEAD
					FileInputStream fis = new FileInputStream(f);
						BufferedReader in = new BufferedReader(new InputStreamReader(fis));
=======
					try (FileInputStream fis = new FileInputStream(f); BufferedReader in = new BufferedReader(new InputStreamReader(fis))) {
>>>>>>> 09f341058ca82502162ff8637e9a5185a6a0c357
						String line;
						StringBuilder sb = new StringBuilder();
						while ((line = in.readLine()) != null) {
Solution content
				File f = configuration.getCredFile();

				try {
					FileInputStream fis = new FileInputStream(f);
						BufferedReader in = new BufferedReader(new InputStreamReader(fis));
						String line;
						StringBuilder sb = new StringBuilder();
						while ((line = in.readLine()) != null) {
File
PluginTab.java
Developer's decision
Version 1
Kind of conflict
Method invocation
Variable
Chunk
Conflicting content
							sb.append("\n");
						}
						textArea.setText(sb.toString());
<<<<<<< HEAD
					fis.close();
=======
					}
>>>>>>> 09f341058ca82502162ff8637e9a5185a6a0c357
				} catch (IOException e1) {
					return;
				}
Solution content
							sb.append("\n");
						}
						textArea.setText(sb.toString());
					fis.close();
				} catch (IOException e1) {
					return;
				}
File
PluginTab.java
Developer's decision
Version 1
Kind of conflict
Method invocation
Chunk
Conflicting content
				configuration.setAutoloadExternalSubtitles((e.getStateChange() == ItemEvent.SELECTED));
			}
		});
<<<<<<< HEAD
		if (configuration.isForceExternalSubtitles()) {
			subs.setEnabled(false);
		} else {
			subs.setEnabled(true);
		}
		builder.add(subs, FormLayoutUtil.flip(cc.xyw(1, 14, 11), colSpec, orientation));
=======
		builder.add(autoloadExternalSubtitles, FormLayoutUtil.flip(cc.xyw(1, 14, 11), colSpec, orientation));
>>>>>>> 09f341058ca82502162ff8637e9a5185a6a0c357

		subColor = new JButton();
		subColor.setText(Messages.getString("MEncoderVideo.31"));
Solution content
				configuration.setAutoloadExternalSubtitles((e.getStateChange() == ItemEvent.SELECTED));
			}
		});
		builder.add(autoloadExternalSubtitles, FormLayoutUtil.flip(cc.xyw(1, 14, 11), colSpec, orientation));

		subColor = new JButton();
		subColor.setText(Messages.getString("MEncoderVideo.31"));
File
TranscodingTab.java
Developer's decision
Version 2
Kind of conflict
If statement
Method invocation
Chunk
Conflicting content
			public void itemStateChanged(ItemEvent e) {
				configuration.setForceExternalSubtitles((e.getStateChange() == ItemEvent.SELECTED));
				if (configuration.isForceExternalSubtitles()) {
<<<<<<< HEAD
					subs.setSelected(true);
				}
				subs.setEnabled(!configuration.isForceExternalSubtitles());
=======
					autoloadExternalSubtitles.setSelected(true);
				}
				autoloadExternalSubtitles.setEnabled(!configuration.isForceExternalSubtitles());
>>>>>>> 09f341058ca82502162ff8637e9a5185a6a0c357
			}
		});
		builder.add(forceExternalSubtitles, FormLayoutUtil.flip(cc.xyw(1, 16, 11), colSpec, orientation));
Solution content
			public void itemStateChanged(ItemEvent e) {
				configuration.setForceExternalSubtitles((e.getStateChange() == ItemEvent.SELECTED));
				if (configuration.isForceExternalSubtitles()) {
					autoloadExternalSubtitles.setSelected(true);
				}
				autoloadExternalSubtitles.setEnabled(!configuration.isForceExternalSubtitles());
			}
		});
		builder.add(forceExternalSubtitles, FormLayoutUtil.flip(cc.xyw(1, 16, 11), colSpec, orientation));
File
TranscodingTab.java
Developer's decision
Version 2
Kind of conflict
Method invocation
Chunk
Conflicting content
		return filename;
	}
<<<<<<< HEAD
=======

	public static BufferedReader bufferedReaderWithCorrectCharset(File file) throws IOException {
		BufferedReader reader;
		String fileCharset = getFileCharset(file);
		final boolean iscodepageAutoDetectedAndSupportedByJVM = isNotBlank(fileCharset) && Charset.isSupported(fileCharset);
		if (iscodepageAutoDetectedAndSupportedByJVM) {
			reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), Charset.forName(fileCharset)));
		} else {
			reader = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
		}
		return reader;
	}
>>>>>>> 09f341058ca82502162ff8637e9a5185a6a0c357
}
Solution content
		return filename;
	}

	public static BufferedReader bufferedReaderWithCorrectCharset(File file) throws IOException {
		BufferedReader reader;
		String fileCharset = getFileCharset(file);
		final boolean iscodepageAutoDetectedAndSupportedByJVM = isNotBlank(fileCharset) && Charset.isSupported(fileCharset);
		if (iscodepageAutoDetectedAndSupportedByJVM) {
			reader = new BufferedReader(new InputStreamReader(new FileInputStream(file), Charset.forName(fileCharset)));
		} else {
			reader = new BufferedReader(new InputStreamReader(new FileInputStream(file)));
		}
		return reader;
	}
}
File
FileUtil.java
Developer's decision
Version 2
Kind of conflict
Method declaration