int PollingStart(std::vector<std::string> inputsurl, std::string outputurl) {	
	std::vector<std::string> inputs = inputsurl ;
	// for (int i = 1; i < (argc - 1); i++)
	// 	inputs.push_back(argv[i]);
	// std::string output = argv[argc - 1];
	std::string output = outputurl;
	
	mediakit::RollPollingWorker worker;
	if (worker.Start(inputs[0], output) < 0)
		return -1;
		
	
	auto f = [&](){
		worker.Runnable();
	};
	
	std::thread task(f);
	task.detach();

	size_t idx = 1;
	while (worker.IsRunning()) {
		std::this_thread::sleep_for(std::chrono::milliseconds(10000));
		if (idx >= 4)
			break;
		
		if (inputs.size() > 1) {
			std::string tmp = inputs[idx % inputs.size()];
			std::cerr << "change input file to [" << tmp << "\n";
			worker.UpdateInput(tmp);
			idx++;			
		}
	}

	worker.Stop();
	//task.join();
	return 0;
}解释一下这段代码的含义