diff options
Diffstat (limited to 'src/mov_encoder_thread.cc')
-rw-r--r-- | src/mov_encoder_thread.cc | 56 |
1 files changed, 28 insertions, 28 deletions
diff --git a/src/mov_encoder_thread.cc b/src/mov_encoder_thread.cc index 2ff013d..77380d5 100644 --- a/src/mov_encoder_thread.cc +++ b/src/mov_encoder_thread.cc @@ -24,15 +24,17 @@ * along with MIaV; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -#include <config.h> #include "mov_encoder_thread.h" + #include <errno.h> + +#include <hugin.hpp> + #include "miav_config.h" -MovEncoderThread::MovEncoderThread(const char *clientip, const char *cpr, Info *i) +MovEncoderThread::MovEncoderThread(const char *clientip, const char *cpr) { - info = i; - info->info("MovEncoderThread"); + DEBUG(mov, "MovEncoderThread"); // Queue inputqueue = new ThreadSafeQueueFIFO(); @@ -40,19 +42,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); + INFO(mov, "video_output_queue: %p", video_output_queue); + INFO(mov, "audio_input_queue: %p", audio_input_queue); + INFO(mov, "audio_output_queue: %p", audio_output_queue); block = new FrameVector(); num_frames_in_block = config->readString("frame_sequence")->length(); - info->info("Frame sequence length %d", num_frames_in_block); + INFO(mov, "Frame sequence length %d", num_frames_in_block); threads = config->readInt("encoding_threads"); @@ -65,23 +67,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,47 +89,48 @@ MovEncoderThread::MovEncoderThread(const char *clientip, const char *cpr, Info * //#include <unistd.h> MovEncoderThread::~MovEncoderThread() { - info->info("~MovEncoderThread"); + DEBUG(mov, "~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"); + DEBUG(mov, "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"); + DEBUG(mov, "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"); + DEBUG(mov, "Deleted the writer"); // Destroy the semaphore. sem_destroy(&read_sem); - info->info("~MovEncoderThread::done"); + DEBUG(mov, "~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_output_queue->size(), - audio_input_queue->size(), - audio_output_queue->size()); + INFO(mov, "inputqueue: %d\tvideo_outputqueue: %d\taudio_inputqueue: %d\t" + "audio_outputqueue: %d.", + inputqueue->size(), + video_output_queue->size(), + audio_input_queue->size(), + audio_output_queue->size()); output++; if(frame == NULL) { - info->info("MovEncoderThread::encode - NULL frame detected."); + WARN(mov, "MovEncoderThread::encode - NULL frame detected."); // Terminate return; } |