diff options
-rw-r--r-- | oox/source/export/drawingml.cxx | 5 | ||||
-rw-r--r-- | sd/qa/unit/data/pptx/narration.pptx | bin | 0 -> 82099 bytes | |||
-rw-r--r-- | sd/qa/unit/export-tests-ooxml1.cxx | 19 |
3 files changed, 24 insertions, 0 deletions
diff --git a/oox/source/export/drawingml.cxx b/oox/source/export/drawingml.cxx index 8e8acb50cc92..897fb0ff42a8 100644 --- a/oox/source/export/drawingml.cxx +++ b/oox/source/export/drawingml.cxx @@ -1322,6 +1322,11 @@ void DrawingML::WriteMediaNonVisualProperties(const css::uno::Reference<css::dra aMimeType = "audio/x-wav"; eMediaType = Relationship::AUDIO; } + else if (aExtension.equalsIgnoreAsciiCase(".m4a")) + { + aMimeType = "audio/mp4"; + eMediaType = Relationship::AUDIO; + } } OUString aVideoFileRelId; diff --git a/sd/qa/unit/data/pptx/narration.pptx b/sd/qa/unit/data/pptx/narration.pptx Binary files differnew file mode 100644 index 000000000000..5226ce607215 --- /dev/null +++ b/sd/qa/unit/data/pptx/narration.pptx diff --git a/sd/qa/unit/export-tests-ooxml1.cxx b/sd/qa/unit/export-tests-ooxml1.cxx index 6b782c3067a6..5784d00d112d 100644 --- a/sd/qa/unit/export-tests-ooxml1.cxx +++ b/sd/qa/unit/export-tests-ooxml1.cxx @@ -106,6 +106,7 @@ public: void testTdf134969TransparencyOnColorGradient(); void testTdf136911(); void testArcTo(); + void testNarrationMimeType(); CPPUNIT_TEST_SUITE(SdOOXMLExportTest1); @@ -156,6 +157,7 @@ public: CPPUNIT_TEST(testTdf134969TransparencyOnColorGradient); CPPUNIT_TEST(testTdf136911); CPPUNIT_TEST(testArcTo); + CPPUNIT_TEST(testNarrationMimeType); CPPUNIT_TEST_SUITE_END(); @@ -1297,6 +1299,23 @@ void SdOOXMLExportTest1::testArcTo() assertXPath(pXmlDoc, sPath, "swAng", "2700000"); } +void SdOOXMLExportTest1::testNarrationMimeType() +{ + sd::DrawDocShellRef xDocShRef + = loadURL(m_directories.getURLFromSrc(u"sd/qa/unit/data/pptx/narration.pptx"), PPTX); + utl::TempFile aTempFile; + xDocShRef = saveAndReload(xDocShRef.get(), PPTX, &aTempFile); + xmlDocUniquePtr pXmlDoc = parseExport(aTempFile, "[Content_Types].xml"); + // Without the accompanying fix in place, this test would have failed with: + // - Expected: audio/mp4 + // - Actual : application/vnd.sun.star.media + // i.e. the mime type of the narration was incorrect. + assertXPath(pXmlDoc, + "/ContentType:Types/ContentType:Override[@PartName='/ppt/media/media1.m4a']", + "ContentType", "audio/mp4"); + xDocShRef->DoClose(); +} + CPPUNIT_TEST_SUITE_REGISTRATION(SdOOXMLExportTest1); CPPUNIT_PLUGIN_IMPLEMENT(); |