CameraBinSession::CameraBinSession(QObject *parent) :QObject(parent), m_state(QCamera::UnloadedState), m_pendingState(QCamera::UnloadedState), m_recordingActive(false), m_pendingResolutionUpdate(false), m_muted(false), m_busy(false), m_captureMode(QCamera::CaptureStillImage), m_audioInputFactory(0), m_videoInputFactory(0), m_viewfinder(0), m_viewfinderInterface(0), m_pipeline(0), m_videoSrc(0), m_viewfinderElement(0), m_viewfinderHasChanged(true), m_videoInputHasChanged(true), m_sourceCaps(0), m_audioSrc(0), m_audioConvert(0), m_capsFilter(0), m_fileSink(0), m_audioEncoder(0), m_muxer(0) { m_pipeline = gst_element_factory_make("camerabin", "camerabin"); g_signal_connect(G_OBJECT(m_pipeline), "notify::idle", G_CALLBACK(updateBusyStatus), this); gstRef(m_pipeline); m_bus = gst_element_get_bus(m_pipeline); m_busHelper = new QGstreamerBusHelper(m_bus, this); m_busHelper->installSyncEventFilter(this); connect(m_busHelper, SIGNAL(message(QGstreamerMessage)), SLOT(handleBusMessage(QGstreamerMessage))); m_audioEncodeControl = new CameraBinAudioEncoder(this); m_videoEncodeControl = new CameraBinVideoEncoder(this); m_imageEncodeControl = new CameraBinImageEncoder(this); m_recorderControl = new CameraBinRecorder(this); m_mediaContainerControl = new CameraBinContainer(this); m_cameraExposureControl = new CameraBinExposure(this); m_cameraFlashControl = new CameraBinFlash(this); m_cameraFocusControl = new CameraBinFocus(this); m_imageProcessingControl = new CameraBinImageProcessing(this); m_cameraLocksControl = new CameraBinLocks(this); m_captureDestinationControl = new CameraBinCaptureDestination(this); m_captureBufferFormatControl = new CameraBinCaptureBufferFormat(this); }
QGstreamerCaptureSession::QGstreamerCaptureSession(QGstreamerCaptureSession::CaptureMode captureMode, QObject *parent) :QObject(parent), m_state(StoppedState), m_pendingState(StoppedState), m_waitingForEos(false), m_pipelineMode(EmptyPipeline), m_captureMode(captureMode), m_audioInputFactory(0), m_audioPreviewFactory(0), m_videoInputFactory(0), m_viewfinder(0), m_viewfinderInterface(0), m_audioSrc(0), m_audioTee(0), m_audioPreviewQueue(0), m_audioPreview(0), m_audioVolume(0), m_muted(false), m_videoSrc(0), m_videoTee(0), m_videoPreviewQueue(0), m_videoPreview(0), m_imageCaptureBin(0), m_encodeBin(0), m_passImage(false), m_passPrerollImage(false) { m_pipeline = gst_pipeline_new("media-capture-pipeline"); gstRef(m_pipeline); m_bus = gst_element_get_bus(m_pipeline); m_busHelper = new QGstreamerBusHelper(m_bus, this); m_busHelper->installSyncEventFilter(this); connect(m_busHelper, SIGNAL(message(QGstreamerMessage)), SLOT(busMessage(QGstreamerMessage))); m_audioEncodeControl = new QGstreamerAudioEncode(this); m_videoEncodeControl = new QGstreamerVideoEncode(this); m_imageEncodeControl = new QGstreamerImageEncode(this); m_recorderControl = new QGstreamerRecorderControl(this); m_mediaContainerControl = new QGstreamerMediaContainerControl(this); setState(StoppedState); }