summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorByteHamster <info@bytehamster.com>2020-07-21 11:55:44 +0200
committerByteHamster <info@bytehamster.com>2020-07-21 11:56:42 +0200
commit51bbf1a5f9275e1d1bb526c43b0703ae13b349b9 (patch)
tree5ff2911671c25c08a52474eb0da85f0963c5fbb8
parentecbcafd209a4aff987dc39b5dd60121cf55b2403 (diff)
downloadAntennaPod-51bbf1a5f9275e1d1bb526c43b0703ae13b349b9.zip
Fixed mime type of media:content tags
-rw-r--r--app/src/androidTest/java/de/test/antennapod/handler/RssParserTest.java21
-rw-r--r--core/src/main/java/de/danoeh/antennapod/core/syndication/namespace/NSMedia.java7
2 files changed, 27 insertions, 1 deletions
diff --git a/app/src/androidTest/java/de/test/antennapod/handler/RssParserTest.java b/app/src/androidTest/java/de/test/antennapod/handler/RssParserTest.java
index d137bb459..c2e319233 100644
--- a/app/src/androidTest/java/de/test/antennapod/handler/RssParserTest.java
+++ b/app/src/androidTest/java/de/test/antennapod/handler/RssParserTest.java
@@ -2,6 +2,8 @@ package de.test.antennapod.handler;
import androidx.test.filters.SmallTest;
import de.danoeh.antennapod.core.feed.Feed;
+import de.danoeh.antennapod.core.feed.MediaType;
+import de.danoeh.antennapod.core.syndication.namespace.NSMedia;
import de.test.antennapod.util.syndication.feedgenerator.Rss2Generator;
import org.junit.Test;
import org.xmlpull.v1.XmlSerializer;
@@ -39,4 +41,23 @@ public class RssParserTest extends FeedParserTestBase {
}, "UTF-8", 0);
assertEquals(image, f2.getImageUrl());
}
+
+ @Test
+ public void testMediaContentMime() throws Exception {
+ Feed f1 = createTestFeed(0, false);
+ f1.setImageUrl(null);
+ Feed f2 = runFeedTest(f1, new Rss2Generator() {
+ @Override
+ protected void writeAdditionalAttributes(XmlSerializer xml) throws IOException {
+ xml.setPrefix(NSMedia.NSTAG, NSMedia.NSURI);
+ xml.startTag(null, "item");
+ xml.startTag(NSMedia.NSURI, "content");
+ xml.attribute(null, "url", "https://www.example.com/file.mp4");
+ xml.attribute(null, "medium", "video");
+ xml.endTag(NSMedia.NSURI, "content");
+ xml.endTag(null, "item");
+ }
+ }, "UTF-8", 0);
+ assertEquals(MediaType.VIDEO, f2.getItems().get(0).getMedia().getMediaType());
+ }
}
diff --git a/core/src/main/java/de/danoeh/antennapod/core/syndication/namespace/NSMedia.java b/core/src/main/java/de/danoeh/antennapod/core/syndication/namespace/NSMedia.java
index 825d2bc96..30b01f0bc 100644
--- a/core/src/main/java/de/danoeh/antennapod/core/syndication/namespace/NSMedia.java
+++ b/core/src/main/java/de/danoeh/antennapod/core/syndication/namespace/NSMedia.java
@@ -50,10 +50,15 @@ public class NSMedia extends Namespace {
boolean isDefault = "true".equals(defaultStr);
- if (MEDIUM_AUDIO.equals(medium) || MEDIUM_VIDEO.equals(medium)) {
+ if (MEDIUM_AUDIO.equals(medium)) {
validTypeMedia = true;
+ type = "audio/*";
+ } else if (MEDIUM_VIDEO.equals(medium)) {
+ validTypeMedia = true;
+ type = "video/*";
} else if (MEDIUM_IMAGE.equals(medium)) {
validTypeImage = true;
+ type = "image/*";
} else {
if (type == null) {
type = SyndTypeUtils.getMimeTypeFromUrl(url);