From 51fa9fe73564f7fbc7282a4c7722453715a3c889 Mon Sep 17 00:00:00 2001 From: Ichthyostega Date: Fri, 20 May 2011 02:59:29 +0200 Subject: [PATCH] MediaFactory now using MediaAccessFacade to determine media Duration --- src/proc/asset/media.cpp | 2 +- .../components/backend/media-access-mock.cpp | 5 +++ .../components/backend/media-access-mock.hpp | 1 + .../proc/asset/create-asset-test.cpp | 44 ++++++++++--------- .../proc/asset/dependent-assets-test.cpp | 6 ++- .../proc/asset/identityofassetstest.cpp | 16 ++++--- tests/components/proc/asset/makecliptest.cpp | 4 ++ .../proc/asset/orderingofassetstest.cpp | 15 ++++--- .../proc/mobject/builder/buildertooltest.cpp | 9 +++- .../proc/mobject/mobject-interface-test.cpp | 6 +++ .../proc/mobject/mobject-ref-test.cpp | 4 ++ .../proc/mobject/placement-hierarchy-test.cpp | 5 +++ 12 files changed, 82 insertions(+), 35 deletions(-) diff --git a/src/proc/asset/media.cpp b/src/proc/asset/media.cpp index 40034bd42..eecc9d4fb 100644 --- a/src/proc/asset/media.cpp +++ b/src/proc/asset/media.cpp @@ -165,7 +165,7 @@ namespace asset { if (isnil (key.name)) key.name=extractName(file); MediaAccessFacade& maf = MediaAccessFacade::instance(); - MediaDesc& handle = maf.queryFile(file); + MediaDesc& handle = maf.queryFile(key.name); Duration length = handle.length; TODO ("detecting and wiring multichannel compound media!"); diff --git a/tests/components/backend/media-access-mock.cpp b/tests/components/backend/media-access-mock.cpp index f0b7b36d4..01839dfae 100644 --- a/tests/components/backend/media-access-mock.cpp +++ b/tests/components/backend/media-access-mock.cpp @@ -106,6 +106,11 @@ namespace test { (*this)["test-2"].globalLength(LENGTH_TestClip).channel("video","H264") .channel("audio-L","PCM") .channel("audio-R","PCM"); + (*this)["test-3"].globalLength(LENGTH_TestClip).channel("audio","PCM"); + (*this)["test-4"].globalLength(LENGTH_TestClip).channel("audio-W","PCM") + .channel("audio-X","PCM") + .channel("audio-Y","PCM") + .channel("audio-Z","PCM"); // ----------------------------------------------------------------------TESTCASES } diff --git a/tests/components/backend/media-access-mock.hpp b/tests/components/backend/media-access-mock.hpp index c44e61b3c..3c2fdb354 100644 --- a/tests/components/backend/media-access-mock.hpp +++ b/tests/components/backend/media-access-mock.hpp @@ -26,6 +26,7 @@ #include "backend/media-access-facade.hpp" +#include "lib/test/mock-injector.hpp" diff --git a/tests/components/proc/asset/create-asset-test.cpp b/tests/components/proc/asset/create-asset-test.cpp index 716155f7d..f03893198 100644 --- a/tests/components/proc/asset/create-asset-test.cpp +++ b/tests/components/proc/asset/create-asset-test.cpp @@ -30,7 +30,9 @@ #include "proc/asset/proc.hpp" #include "proc/asset/asset-diagnostics.hpp" +#include "backend/media-access-mock.hpp" +using lib::test::Use4Test; using util::isnil; using std::string; @@ -49,6 +51,8 @@ namespace test { { virtual void run(Arg arg) { + Use4Test within_this_scope; + createMedia(); factoryVariants(); @@ -70,10 +74,10 @@ namespace test { void createMedia() { Category cat(VIDEO,"bin1"); - Asset::Ident key("Name-1", cat, "ichthyo", 5); + Asset::Ident key("test-1", cat, "ichthyo", 5); PM mm1 = asset::Media::create(key,"testfile.mov"); - PM mm2 = asset::Media::create("testfile1.mov", cat); - PM mm3 = asset::Media::create("testfile2.mov", VIDEO); + PM mm2 = asset::Media::create("test-1.mov", cat); + PM mm3 = asset::Media::create("test-2.mov", VIDEO); // Assets have been registered and can be retrieved by ID AssetManager& aMang = AssetManager::instance(); @@ -124,9 +128,9 @@ namespace test { // checking the Ident-Fields - CHECK (mm1->ident.name == "Name-1"); - CHECK (mm2->ident.name == "testfile1"); - CHECK (mm3->ident.name == "testfile2"); + CHECK (mm1->ident.name == "test-1"); + CHECK (mm2->ident.name == "test-1"); + CHECK (mm3->ident.name == "test-2"); CHECK (cat == Category (VIDEO,"bin1")); CHECK (mm1->ident.category == Category (VIDEO,"bin1")); @@ -142,8 +146,8 @@ namespace test { CHECK (mm3->ident.version == 1); CHECK (mm1->getFilename() == "testfile.mov"); - CHECK (mm2->getFilename() == "testfile1.mov"); - CHECK (mm3->getFilename() == "testfile2.mov"); + CHECK (mm2->getFilename() == "test-1.mov"); + CHECK (mm3->getFilename() == "test-2.mov"); TRACE (asset_mem, "leaving test method scope"); @@ -159,25 +163,25 @@ namespace test { { PM candi; - Asset::Ident key1("Au-1", Category(AUDIO), "ichthyo", 5); + Asset::Ident key1("test-1", Category(AUDIO), "ichthyo", 5); candi = asset::Media::create(key1); CHECK ( checkProperties (candi, key1, "")); - candi = asset::Media::create(key1, string("testfile.wav")); - CHECK ( checkProperties (candi, key1, "testfile.wav")); + candi = asset::Media::create(key1, string("test-1.wav")); + CHECK ( checkProperties (candi, key1, "test-1.wav")); Asset::Ident key2("", Category(AUDIO), "ichthyo", 5); - candi = asset::Media::create(key2, string("testfile2.wav")); - CHECK ( checkProperties (candi, key2, "testfile2.wav")); - CHECK (key2.name == "testfile2"); // name filled in automatically + candi = asset::Media::create(key2, string("test-2.wav")); + CHECK ( checkProperties (candi, key2, "test-2.wav")); + CHECK (key2.name == "test-2"); // name filled in automatically - candi = asset::Media::create(string("testfile3.wav"), Category(AUDIO)); - CHECK ( checkProperties (candi, Asset::Ident("testfile3", Category(AUDIO), "lumi", 1) - , "testfile3.wav")); + candi = asset::Media::create(string("test-3.wav"), Category(AUDIO)); + CHECK ( checkProperties (candi, Asset::Ident("test-3", Category(AUDIO), "lumi", 1) + , "test-3.wav")); - candi = asset::Media::create("some/path/testfile4.wav", Category(AUDIO)); - CHECK ( checkProperties (candi, Asset::Ident("testfile4", Category(AUDIO), "lumi", 1) - , "some/path/testfile4.wav")); + candi = asset::Media::create("some/path/test-4.wav", Category(AUDIO)); + CHECK ( checkProperties (candi, Asset::Ident("test-4", Category(AUDIO), "lumi", 1) + , "some/path/test-4.wav")); candi = asset::Media::create("", Category(AUDIO,"sub/bin")); CHECK ( checkProperties (candi, Asset::Ident("nil", Category(AUDIO,"sub/bin"), "lumi", 1) diff --git a/tests/components/proc/asset/dependent-assets-test.cpp b/tests/components/proc/asset/dependent-assets-test.cpp index 65783b20c..0644dbcda 100644 --- a/tests/components/proc/asset/dependent-assets-test.cpp +++ b/tests/components/proc/asset/dependent-assets-test.cpp @@ -24,10 +24,12 @@ #include "lib/test/run.hpp" #include "proc/asset/testasset.hpp" #include "proc/asset/asset-diagnostics.hpp" +#include "backend/media-access-mock.hpp" #include "proc/asset/media.hpp" #include "proc/asset/clip.hpp" #include "lib/util.hpp" +using lib::test::Use4Test; using util::contains; using util::isnil; @@ -186,11 +188,13 @@ namespace test { /** @test each real world asset subclass has to care * for registering and deregistering any additional * dependencies. Here we collect some more prominent - * examples (and hopfully don't fail to cover any + * examples (and hopefully don't fail to cover any * important special cases...) */ void checkRealAssetDependencyRegistration () { + Use4Test within_this_scope; + // -----Media and Clip-------------------------------- typedef P PM; typedef P PC; diff --git a/tests/components/proc/asset/identityofassetstest.cpp b/tests/components/proc/asset/identityofassetstest.cpp index 6f13cb7fc..2e1b4739c 100644 --- a/tests/components/proc/asset/identityofassetstest.cpp +++ b/tests/components/proc/asset/identityofassetstest.cpp @@ -30,7 +30,9 @@ #include "proc/asset/proc.hpp" #include "proc/asset/asset-diagnostics.hpp" +#include "backend/media-access-mock.hpp" +using lib::test::Use4Test; using util::isnil; using std::string; @@ -68,13 +70,15 @@ namespace test { */ void createDuplicate() { - PM mm1 = asset::Media::create ("testfile1.mov", VIDEO); + Use4Test within_this_scope; + + PM mm1 = asset::Media::create ("test-1.mov", VIDEO); Asset::Ident idi (mm1->ident); // duplicate Ident record PM mm1X = asset::Media::create (idi); // note: we actually don't call any ctor CHECK (mm1 == mm1X); // instead, we got mm1 back. - PM mm2 = asset::Media::create (idi,"testfile2.mov"); + PM mm2 = asset::Media::create (idi,"test-2.mov"); CHECK (mm1->getID() == mm2->getID()); // different object, same hash @@ -84,10 +88,10 @@ namespace test { CHECK (aMang.known (mm1->getID())); CHECK (aMang.known (mm2->getID())); - CHECK (mm1->ident.name == "testfile1"); - CHECK (mm2->ident.name == "testfile1"); - CHECK (mm1->getFilename() == "testfile1.mov"); - CHECK (mm2->getFilename() == "testfile2.mov"); + CHECK (mm1->ident.name == "test-1"); + CHECK (mm2->ident.name == "test-1"); + CHECK (mm1->getFilename() == "test-1.mov"); + CHECK (mm2->getFilename() == "test-2.mov"); TRACE (asset_mem, "leaving test method scope"); diff --git a/tests/components/proc/asset/makecliptest.cpp b/tests/components/proc/asset/makecliptest.cpp index 0eeb060c7..99a7a3812 100644 --- a/tests/components/proc/asset/makecliptest.cpp +++ b/tests/components/proc/asset/makecliptest.cpp @@ -30,7 +30,9 @@ #include "proc/asset/media.hpp" #include "proc/mobject/session/clip.hpp" #include "proc/asset/asset-diagnostics.hpp" +#include "backend/media-access-mock.hpp" +using lib::test::Use4Test; using util::contains; using util::isnil; using std::string; @@ -56,6 +58,8 @@ namespace asset { virtual void run (Arg) { + Use4Test within_this_scope; + PM mm = asset::Media::create("test-1", VIDEO); PC cc = mm->createClip(); diff --git a/tests/components/proc/asset/orderingofassetstest.cpp b/tests/components/proc/asset/orderingofassetstest.cpp index cd4009e7f..cff898acd 100644 --- a/tests/components/proc/asset/orderingofassetstest.cpp +++ b/tests/components/proc/asset/orderingofassetstest.cpp @@ -29,7 +29,9 @@ #include "proc/asset/proc.hpp" #include "proc/asset/asset-diagnostics.hpp" +#include "backend/media-access-mock.hpp" +using lib::test::Use4Test; using util::isnil; using std::string; @@ -57,19 +59,22 @@ namespace asset { { virtual void run(Arg) { - Asset::Ident key1("Au-1", Category(AUDIO), "ichthyo", 5); + Use4Test within_this_scope; + + + Asset::Ident key1("test-1", Category(AUDIO), "ichthyo", 5); PAsset mm1 = asset::Media::create(key1, "Name-1"); - Asset::Ident key2("Au-1", Category(AUDIO), "ichthyo", 7); + Asset::Ident key2("test-1", Category(AUDIO), "ichthyo", 7); PAsset mm2 = asset::Media::create(key2, "Name-2"); - Asset::Ident key3("Au-2", Category(AUDIO), "ichthyo", 5); + Asset::Ident key3("test-2", Category(AUDIO), "ichthyo", 5); PAsset mm3 = asset::Media::create(key3, "Name-3"); - Asset::Ident key4("Au-2", Category(AUDIO), "stega", 5); + Asset::Ident key4("test-2", Category(AUDIO), "stega", 5); PAsset mm4 = asset::Media::create(key4, "Name-4"); - Asset::Ident key5("Au-1", Category(VIDEO), "ichthyo", 5); + Asset::Ident key5("test-1", Category(VIDEO), "ichthyo", 5); PAsset mm5 = asset::Media::create(key5, "Name-5"); diff --git a/tests/components/proc/mobject/builder/buildertooltest.cpp b/tests/components/proc/mobject/builder/buildertooltest.cpp index 52a85f0af..21d4cba66 100644 --- a/tests/components/proc/mobject/builder/buildertooltest.cpp +++ b/tests/components/proc/mobject/builder/buildertooltest.cpp @@ -29,6 +29,7 @@ #include "proc/asset/media.hpp" #include "proc/mobject/session/clip.hpp" #include "proc/mobject/test-dummy-mobject.hpp" +#include "backend/media-access-mock.hpp" #include "lib/util.hpp" #include @@ -45,6 +46,7 @@ namespace test { using session::Clip; using session::AbstractMO; + using lib::test::Use4Test; using namespace mobject::test; @@ -106,9 +108,12 @@ namespace test { */ class BuilderTool_test : public Test { - virtual void run(Arg) + virtual void + run(Arg) { - + Use4Test within_this_scope; + + TestTool t1; BuilderTool& tool = t1; diff --git a/tests/components/proc/mobject/mobject-interface-test.cpp b/tests/components/proc/mobject/mobject-interface-test.cpp index 3b5f64fd1..26e893648 100644 --- a/tests/components/proc/mobject/mobject-interface-test.cpp +++ b/tests/components/proc/mobject/mobject-interface-test.cpp @@ -35,6 +35,7 @@ //#include "proc/mobject/session/clip.hpp" //#include "proc/mobject/explicitplacement.hpp" #include "proc/mobject/test-dummy-mobject.hpp" +#include "backend/media-access-mock.hpp" //#include "lib/test/test-helper.hpp" #include "lib/time/timevalue.hpp" @@ -42,6 +43,7 @@ + namespace mobject { namespace test { @@ -51,6 +53,7 @@ namespace test { using std::endl; using lib::Symbol; + using lib::test::Use4Test; using lib::time::Duration; using lib::time::FSecs; using lib::time::Time; @@ -80,6 +83,9 @@ namespace test { virtual void run (Arg) { + Use4Test within_this_scope; + + PMO testClip1 = asset::Media::create("test-1", asset::VIDEO)->createClip(); PMO testClip2 = asset::Media::create("test-2", asset::VIDEO)->createClip(); diff --git a/tests/components/proc/mobject/mobject-ref-test.cpp b/tests/components/proc/mobject/mobject-ref-test.cpp index 91b9d9859..3aa6fe976 100644 --- a/tests/components/proc/mobject/mobject-ref-test.cpp +++ b/tests/components/proc/mobject/mobject-ref-test.cpp @@ -32,12 +32,14 @@ #include "proc/mobject/session/clip.hpp" #include "proc/mobject/explicitplacement.hpp" #include "proc/mobject/test-dummy-mobject.hpp" +#include "backend/media-access-mock.hpp" #include "lib/test/test-helper.hpp" #include "lib/time/timevalue.hpp" #include "lib/util.hpp" #include +using lib::test::Use4Test; using lib::test::showSizeof; using lib::time::Duration; using lib::time::FSecs; @@ -101,6 +103,8 @@ namespace test { virtual void run (Arg) { + Use4Test within_this_scope; + // create data simulating a "Session" PMObj testClip1 = asset::Media::create("test-1", asset::VIDEO)->createClip(); diff --git a/tests/components/proc/mobject/placement-hierarchy-test.cpp b/tests/components/proc/mobject/placement-hierarchy-test.cpp index 12196b603..e3657229c 100644 --- a/tests/components/proc/mobject/placement-hierarchy-test.cpp +++ b/tests/components/proc/mobject/placement-hierarchy-test.cpp @@ -23,6 +23,7 @@ #include "lib/test/run.hpp" #include "lib/test/test-helper.hpp" +#include "backend/media-access-mock.hpp" #include "proc/mobject/test-dummy-mobject.hpp" #include "proc/mobject/session/clip.hpp" #include "proc/mobject/placement.hpp" @@ -34,6 +35,7 @@ #include using lib::HashIndexed; +using lib::test::Use4Test; using std::tr1::shared_ptr; using std::string; @@ -65,6 +67,9 @@ namespace test { virtual void run (Arg) { + Use4Test within_this_scope; + + typedef Placement PMObj; typedef TestPlacement<> PDummy; typedef TestPlacement PSub1;