diff options
author | deva <deva> | 2005-09-20 19:39:49 +0000 |
---|---|---|
committer | deva <deva> | 2005-09-20 19:39:49 +0000 |
commit | 48b768db44cb9e00adfead71b973074685cec417 (patch) | |
tree | e606f6f93b5fee42335b6f4f3cfaf7b3dc487cae /src/mov_encoder_thread.cc | |
parent | 5298cdacd41efbf2ffd0282b14e401734b31d90a (diff) |
*** empty log message ***R0_2_8
Diffstat (limited to 'src/mov_encoder_thread.cc')
-rw-r--r-- | src/mov_encoder_thread.cc | 65 |
1 files changed, 12 insertions, 53 deletions
diff --git a/src/mov_encoder_thread.cc b/src/mov_encoder_thread.cc index 59e3c84..dab308d 100644 --- a/src/mov_encoder_thread.cc +++ b/src/mov_encoder_thread.cc @@ -93,7 +93,7 @@ MovEncoderThread::MovEncoderThread(const char *cpr, Info *i) frame_number = 0; } -#include <unistd.h> +//#include <unistd.h> MovEncoderThread::~MovEncoderThread() { info->info("~MovEncoderThread"); @@ -123,56 +123,6 @@ MovEncoderThread::~MovEncoderThread() info->info("Deleted the writer"); - /* - // These should not be deleted here... its done elsewhere. - // inputqueue = NULL; - - // sem_post(&video_out_sem); - // sem_post(&audio_out_sem); - - // Tell the encoding threads to stop. - for(int cnt = 0; cnt < threads; cnt++) { - encs[cnt]->running = false; - } - - // Kick them to initiate the exit. - for(int cnt = 0; cnt < threads; cnt++) { - sem_post(&in_sem); - } - - // They should be exited now, so we can delete them. - for(int cnt = 0; cnt < threads; cnt++) { - // Wait for it to stop - encs[cnt]->wait_stop(); - // Delete it - delete encs[cnt]; - } - - // Tell the audio encoder to stop - audioenc->running = false; - - // Kick it to make it stop. - sem_post(&audio_in_sem); - - // Wait for it to stop. - audioenc->wait_stop(); - - // delete the audio encoder - delete audioenc; - - // Tell the writer to stop - writer->running = false; - - // Kick it to make it stop. - sem_post(&video_out_sem); - sem_post(&audio_out_sem); - - // Wait for it to stop. - writer->wait_stop(); - - // delete the writer (end thereby close the file) - delete writer; - */ // Destroy the semaphores. sem_destroy(&in_sem); sem_destroy(&video_out_sem); @@ -180,12 +130,21 @@ MovEncoderThread::~MovEncoderThread() sem_destroy(&audio_out_sem); sem_destroy(&read_sem); - - info->info("MovEncoderThread done deinitializing."); + info->info("~MovEncoderThread::done"); } +static int output = 0; void MovEncoderThread::encode(Frame* frame) { + if(output % 250 == 0) // 25 * 24 + info->info("inputqueue: %d\tvideo_outputqueue: %d\taudio_inputqueue: %d\taudio_outputqueue: %d.", + inputqueue->size(), + video_outputqueue->size(), + audio_inputqueue->size(), + audio_outputqueue->size()); + output++; + + if(frame == NULL) { info->info("MovEncoderThread::encode - NULL frame detected."); // Terminate |