From 38e4cbdb7aabf90d9a56ac95f1c8beca810c9436 Mon Sep 17 00:00:00 2001 From: deva Date: Thu, 13 Oct 2005 11:56:10 +0000 Subject: *** empty log message *** --- src/mov_encoder.cc | 8 ++++---- src/mov_encoder_thread.cc | 14 ++++---------- 2 files changed, 8 insertions(+), 14 deletions(-) (limited to 'src') diff --git a/src/mov_encoder.cc b/src/mov_encoder.cc index a4d3483..6ac5876 100644 --- a/src/mov_encoder.cc +++ b/src/mov_encoder.cc @@ -73,8 +73,6 @@ MovEncoder::~MovEncoder() void MovEncoder::thread_main() { info->info("MovEncoder::run"); - // static volatile int test = 0; - // int insize = 0; // Run with slightly lower priority than MovEncoderWriter AND AudioEncoder nice(2); @@ -103,8 +101,10 @@ void MovEncoder::thread_main() *running = false; // Kick them sleepy ones so they get the message. - int threads = config->readInt("encoding_threads"); - for(int cnt = 0; cnt < threads; cnt++) {/*sem_post(input_sem);*/} // FIXME: Kick the other encoders + int threads = config->readInt("encoding_threads") - 1; // -1 cause we only need the others! + for(int cnt = 0; cnt < threads; cnt++) { + inputqueue->push(NULL); + } } // Encode video diff --git a/src/mov_encoder_thread.cc b/src/mov_encoder_thread.cc index 6c54191..35f62a6 100644 --- a/src/mov_encoder_thread.cc +++ b/src/mov_encoder_thread.cc @@ -35,7 +35,6 @@ MovEncoderThread::MovEncoderThread(const char *clientip, const char *cpr, Info * info->info("MovEncoderThread"); // Queue - // inputqueue = new ThreadSafeQueueFIFO(); inputqueue = new ThreadSafeQueueFIFO(); // Initialize read semaphore @@ -94,31 +93,26 @@ MovEncoderThread::~MovEncoderThread() info->info("~MovEncoderThread"); // First we destroy the movie encoders - // for(int cnt = 0; cnt < threads; cnt++) sem_post(&in_sem); // Kick them for(int cnt = 0; cnt < threads; cnt++) { encs[cnt]->wait_stop(); // Wait for it to stop delete encs[cnt]; // Delete it } - info->info("Deleted the movie encoders"); + // Then we destroy the audio encoder audioenc->wait_stop(); // Wait for it to stop. delete audioenc; // delete the audio encoder - info->info("Deleted the audio encoder"); - // Finally we destroy the writer. - writer->running = false; - // FIXME: Post writer + // Finally we destroy the writer. writer->wait_stop(); // Wait for it to stop. delete writer; // delete the writer (end thereby close the file) - info->info("Deleted the writer"); - // Destroy the semaphores. - // sem_destroy(&in_sem); + + // Destroy the semaphore. sem_destroy(&read_sem); info->info("~MovEncoderThread::done"); -- cgit v1.2.3