diff options
Diffstat (limited to 'server/mov_encoder_thread.cc')
-rw-r--r-- | server/mov_encoder_thread.cc | 43 |
1 files changed, 20 insertions, 23 deletions
diff --git a/server/mov_encoder_thread.cc b/server/mov_encoder_thread.cc index c0b8b27..63bc3c6 100644 --- a/server/mov_encoder_thread.cc +++ b/server/mov_encoder_thread.cc @@ -28,11 +28,11 @@ #include "mov_encoder_thread.h" #include <errno.h> #include "miav_config.h" +#include "info.h" -MovEncoderThread::MovEncoderThread(const char *clientip, const char *cpr, Info *i) +MovEncoderThread::MovEncoderThread(const char *clientip, const char *cpr) { - info = i; - info->info("MovEncoderThread"); + MIaV::info->info("MovEncoderThread"); // Queue inputqueue = new ThreadSafeQueueFIFO(); @@ -40,19 +40,19 @@ MovEncoderThread::MovEncoderThread(const char *clientip, const char *cpr, Info * // Initialize read semaphore sem_init(&read_sem, 0, 0); - video_output_queue = new ThreadSafeQueuePriority(info); - audio_input_queue = new ThreadSafeQueuePriority(info); - audio_output_queue = new ThreadSafeQueuePriority(info); + video_output_queue = new ThreadSafeQueuePriority(); + audio_input_queue = new ThreadSafeQueuePriority(); + audio_output_queue = new ThreadSafeQueuePriority(); - info->info("video_output_queue: 0x%x", video_output_queue); - info->info("audio_input_queue: 0x%x", audio_input_queue); - info->info("audio_output_queue: 0x%x", audio_output_queue); + MIaV::info->info("video_output_queue: 0x%x", video_output_queue); + MIaV::info->info("audio_input_queue: 0x%x", audio_input_queue); + MIaV::info->info("audio_output_queue: 0x%x", audio_output_queue); block = new FrameVector(); num_frames_in_block = MIaV::config->readString("frame_sequence")->length(); - info->info("Frame sequence length %d", num_frames_in_block); + MIaV::info->info("Frame sequence length %d", num_frames_in_block); threads = MIaV::config->readInt("encoding_threads"); @@ -65,23 +65,20 @@ MovEncoderThread::MovEncoderThread(const char *clientip, const char *cpr, Info * MovEncoder *movenc = new MovEncoder(&movencodersrunning, &read_sem, inputqueue, video_output_queue, - audio_input_queue, - info); + audio_input_queue); movenc->run(); encs.push_back(movenc); } // Create the audio encoder audioenc = new AudioEncoder(audio_input_queue, - audio_output_queue, - info); + audio_output_queue); audioenc->run(); // Create the multiplexer writer = new MovEncoderWriter(clientip, cpr, video_output_queue, - audio_output_queue, - info); + audio_output_queue); writer->run(); frame_number = 0; @@ -90,39 +87,39 @@ MovEncoderThread::MovEncoderThread(const char *clientip, const char *cpr, Info * //#include <unistd.h> MovEncoderThread::~MovEncoderThread() { - info->info("~MovEncoderThread"); + MIaV::info->info("~MovEncoderThread"); // First we destroy the movie encoders 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"); + MIaV::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"); + MIaV::info->info("Deleted the audio encoder"); // 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"); + MIaV::info->info("Deleted the writer"); // Destroy the semaphore. sem_destroy(&read_sem); - info->info("~MovEncoderThread::done"); + MIaV::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.", + MIaV::info->info("inputqueue: %d\tvideo_outputqueue: %d\taudio_inputqueue: %d\taudio_outputqueue: %d.", inputqueue->size(), video_output_queue->size(), audio_input_queue->size(), @@ -130,7 +127,7 @@ void MovEncoderThread::encode(Frame* frame) output++; if(frame == NULL) { - info->info("MovEncoderThread::encode - NULL frame detected."); + MIaV::info->info("MovEncoderThread::encode - NULL frame detected."); // Terminate return; } |