diff --git a/.idea/assetWizardSettings.xml b/.idea/assetWizardSettings.xml
index 8b90c52d..12ee8e76 100644
--- a/.idea/assetWizardSettings.xml
+++ b/.idea/assetWizardSettings.xml
@@ -320,7 +320,7 @@
@@ -331,7 +331,7 @@
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 787e42be..155a8652 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -41,6 +41,7 @@
+
diff --git a/app/src/main/java/com/deniscerri/ytdlnis/DownloaderService.java b/app/src/main/java/com/deniscerri/ytdlnis/DownloaderService.java
index 95873812..7f138102 100644
--- a/app/src/main/java/com/deniscerri/ytdlnis/DownloaderService.java
+++ b/app/src/main/java/com/deniscerri/ytdlnis/DownloaderService.java
@@ -337,6 +337,11 @@ public class DownloaderService extends Service {
request.addOption("--sponsorblock-remove", "all");
}
+ request.addOption("--replace-in-metadata", "title \"[ ]\" \""+video.getTitle()+"\"");
+ request.addOption("--parse-metadata", "meta_title:%(title)s");
+ request.addOption("--parse-metadata", "title:%(title)s");
+ request.addOption("--parse-metadata", "meta_artist:\""+video.getAuthor()+"\"");
+
} else if (type.equals("video")) {
boolean addChapters = sharedPreferences.getBoolean("add_chapters", false);
if(addChapters){
@@ -346,7 +351,13 @@ public class DownloaderService extends Service {
if(embedSubs){
request.addOption("--embed-subs", "");
}
- request.addOption("-f", "bestvideo+bestaudio/best");
+ String videoQuality = sharedPreferences.getString("video_quality", "");
+ String formatArgument = "bestvideo+bestaudio/best";
+ if (!videoQuality.isEmpty() && !videoQuality.equals("Best Quality")) {
+ formatArgument = "bestvideo[height<="+videoQuality.substring(0, videoQuality.length()-1)+"]+bestaudio/best";
+ }
+ Toast.makeText(context, formatArgument, Toast.LENGTH_LONG).show();
+ request.addOption("-f", formatArgument);
String format = sharedPreferences.getString("video_format", "");
request.addOption("--merge-output-format", format);
@@ -356,6 +367,10 @@ public class DownloaderService extends Service {
request.addOption("--embed-thumbnail");
}
}
+
+ request.addOption("--add-metadata");
+ request.addOption("--postprocessor-args", "-metadata title=\""+video.getTitle()+"\"");
+
}
request.addOption("-o", youtubeDLDir.getAbsolutePath() + "/%(title)s.%(ext)s");
@@ -386,7 +401,7 @@ public class DownloaderService extends Service {
if (BuildConfig.DEBUG) Log.e(TAG, getString(R.string.failed_download), e);
notificationUtil.updateDownloadNotification(NotificationUtil.DOWNLOAD_NOTIFICATION_ID,
getString(R.string.failed_download), 0, 0, downloadQueue.peek().getTitle());
-
+ downloadInfo.setDownloadType(type);
try{
for (Activity activity: activities.keySet()){
activity.runOnUiThread(() -> {
diff --git a/app/src/main/java/com/deniscerri/ytdlnis/database/Video.java b/app/src/main/java/com/deniscerri/ytdlnis/database/Video.java
index 46ecd276..3fdaf61f 100644
--- a/app/src/main/java/com/deniscerri/ytdlnis/database/Video.java
+++ b/app/src/main/java/com/deniscerri/ytdlnis/database/Video.java
@@ -22,6 +22,9 @@ public class Video implements Parcelable, Cloneable {
private boolean downloadingVideo;
private boolean queuedDownload;
private String playlistTitle;
+ private String audioFormat;
+ private String videoFormat;
+ private String videoQuality;
// RESULTS OBJECT
public Video(String videoId, String url, String title, String author, String duration, String thumb,
@@ -77,6 +80,9 @@ public class Video implements Parcelable, Cloneable {
downloadPath = in.readString();
website = in.readString();
playlistTitle = in.readString();
+ audioFormat = in.readString();
+ videoFormat = in.readString();
+ videoQuality = in.readString();
}
public static final Creator