AVPlayer::AVPlayer(QObject *parent) : QObject(parent),loaded(false),capture_dir("capture"),_renderer(0),_audio(0) , audio_dec(0) , video_dec(0) , audio_thread(0) , video_thread(0) , event_filter(0),video_capture(0) { qDebug("%s", aboutQtAV_PlainText().toUtf8().constData()); /* * call stop() before the window(_renderer) closed to stop the waitcondition * If close the _renderer widget, the the _renderer may destroy before waking up. */ connect(qApp, SIGNAL(aboutToQuit()), SLOT(stop())); clock = new AVClock(AVClock::AudioClock); //clock->setClockType(AVClock::ExternalClock); demuxer.setClock(clock); connect(&demuxer, SIGNAL(started()), clock, SLOT(start())); demuxer_thread = new AVDemuxThread(this); demuxer_thread->setDemuxer(&demuxer); setPlayerEventFilter(new EventFilter(this)); setVideoCapture(new VideoCapture()); }
AVPlayer::AVPlayer(QObject *parent) : QObject(parent),loaded(false),capture_dir("capture"),_renderer(0),_audio(0) ,event_filter(0),video_capture(0) { qDebug("QtAV %s\nCopyright (C) 2012 Wang Bin <*****@*****.**>" "\nDistributed under GPLv3 or later" "\nShanghai University, China" , QTAV_VERSION_STR_LONG); /* * call stop() before the window(_renderer) closed to stop the waitcondition * If close the _renderer widget, the the _renderer may destroy before waking up. */ connect(qApp, SIGNAL(aboutToQuit()), SLOT(stop())); clock = new AVClock(AVClock::AudioClock); //clock->setClockType(AVClock::ExternalClock); demuxer.setClock(clock); connect(&demuxer, SIGNAL(started()), clock, SLOT(start())); #if HAVE_OPENAL _audio = new AOOpenAL(); #elif HAVE_PORTAUDIO _audio = new AOPortAudio(); #endif audio_dec = new AudioDecoder(); audio_thread = new AudioThread(this); audio_thread->setClock(clock); //audio_thread->setPacketQueue(&audio_queue); audio_thread->setDecoder(audio_dec); audio_thread->setOutput(_audio); video_dec = new VideoDecoder(); video_thread = new VideoThread(this); video_thread->setClock(clock); video_thread->setDecoder(video_dec); demuxer_thread = new AVDemuxThread(this); demuxer_thread->setDemuxer(&demuxer); demuxer_thread->setAudioThread(audio_thread); demuxer_thread->setVideoThread(video_thread); event_filter = new EventFilter(this); setVideoCapture(new VideoCapture()); }
AVPlayer::AVPlayer(QObject *parent) : QObject(parent),loaded(false),capture_dir("capture"),_renderer(0),_audio(0) ,event_filter(0),video_capture(0) { qDebug("%s", aboutQtAV().toUtf8().constData()); /* * call stop() before the window(_renderer) closed to stop the waitcondition * If close the _renderer widget, the the _renderer may destroy before waking up. */ connect(qApp, SIGNAL(aboutToQuit()), SLOT(stop())); clock = new AVClock(AVClock::AudioClock); //clock->setClockType(AVClock::ExternalClock); demuxer.setClock(clock); connect(&demuxer, SIGNAL(started()), clock, SLOT(start())); #if HAVE_OPENAL _audio = new AOOpenAL(); #elif HAVE_PORTAUDIO _audio = new AOPortAudio(); #endif audio_dec = new AudioDecoder(); audio_thread = new AudioThread(this); audio_thread->setClock(clock); //audio_thread->setPacketQueue(&audio_queue); audio_thread->setDecoder(audio_dec); audio_thread->setOutput(_audio); video_dec = new VideoDecoder(); video_thread = new VideoThread(this); video_thread->setClock(clock); video_thread->setDecoder(video_dec); demuxer_thread = new AVDemuxThread(this); demuxer_thread->setDemuxer(&demuxer); demuxer_thread->setAudioThread(audio_thread); demuxer_thread->setVideoThread(video_thread); setPlayerEventFilter(new EventFilter(this)); setVideoCapture(new VideoCapture()); }
VideoFaceDetector::VideoFaceDetector(cv::VideoCapture &videoCapture) { setVideoCapture(videoCapture); }
VideoFaceDetector::VideoFaceDetector(const std::string cascadeFilePath, cv::VideoCapture &videoCapture) { setFaceCascade(cascadeFilePath); setVideoCapture(videoCapture); }