IMediaLibrary: Allow a duration to be provided for external media

Fix #275
3 jobs for master in 21 minutes and 26 seconds (queued for 3 seconds)
Status Job ID Name Coverage
  Test
passed #490701
amd64 docker
asan-ubsan

00:21:25

passed #490698
amd64 docker
coverage

00:04:08

87.4%
failed #490703
amd64 docker
tsan

00:09:17

 
Name Stage Failure
failed
tsan Test
[ RUN      ] SamplesTests/ReducedTests.OverrideExternalMedia/parse_video_removable
[ OK ] SamplesTests/ReducedTests.OverrideExternalMedia/parse_video_removable (291 ms)
[----------] 4 tests from SamplesTests/ReducedTests (1185 ms total)

[----------] Global test environment tear-down
[==========] 229 tests from 5 test suites ran. (87488 ms total)
[ PASSED ] 229 tests.
ThreadSanitizer: reported 12 warnings
ERROR: Job failed: exit code 1