| 1515 | }; |
| 1516 | |
| 1517 | void |
| 1518 | FileGathererThread::run() |
| 1519 | { |
| 1520 | #ifdef DEBUG |
| 1521 | boost_adaptbx::floating_point::exception_trapping trap(boost_adaptbx::floating_point::exception_trapping::division_by_zero | |
| 1522 | boost_adaptbx::floating_point::exception_trapping::invalid | |
| 1523 | boost_adaptbx::floating_point::exception_trapping::overflow); |
| 1524 | #endif |
| 1525 | for (;; ) { |
| 1526 | { |
| 1527 | WorkingSetter working( _imp.get() ); |
| 1528 | |
| 1529 | if ( _imp->checkForExit() ) { |
| 1530 | return; |
| 1531 | } |
| 1532 | |
| 1533 | { |
| 1534 | QMutexLocker k(&_imp->requestedDirMutex); |
| 1535 | _imp->itemBeingFetched = _imp->requestedItem; |
| 1536 | _imp->requestedItem.reset(); |
| 1537 | } |
| 1538 | |
| 1539 | ///Doesn't need to be protected under requestedDirMutex since it is written to only by this thread |
| 1540 | gatheringKernel(_imp->itemBeingFetched); |
| 1541 | _imp->itemBeingFetched.reset(); |
| 1542 | } //WorkingSetter |
| 1543 | |
| 1544 | _imp->checkForAbort(); |
| 1545 | |
| 1546 | { |
| 1547 | QMutexLocker l(&_imp->startCountMutex); |
| 1548 | while (_imp->startCount <= 0) { |
| 1549 | _imp->startCountCond.wait(l.mutex()); |
| 1550 | } |
| 1551 | _imp->startCount = 0; |
| 1552 | } |
| 1553 | } |
| 1554 | } |
| 1555 | |
| 1556 | static bool |
| 1557 | isVideoFileExtension(const std::string& ext) |
nothing calls this directly
no test coverage detected