예제 #1
0
bool ProtoCameraSettings::CommitFlips()
{
	bool ret = false;
	MMAL_PARAMETER_MIRROR_T mirror = { { MMAL_PARAMETER_MIRROR, sizeof(MMAL_PARAMETER_MIRROR_T) }, 
									   MMAL_PARAM_MIRROR_NONE };

	if ( m_parameters.horizontal_flip() && m_parameters.vertical_flip() )
	   mirror.value = MMAL_PARAM_MIRROR_BOTH;
	else if ( m_parameters.horizontal_flip() )
	   mirror.value = MMAL_PARAM_MIRROR_HORIZONTAL;
	else if ( m_parameters.vertical_flip() )
	   mirror.value = MMAL_PARAM_MIRROR_VERTICAL;

	ret = !mmal_status_to_int( mmal_port_parameter_set( m_component->m_preview_port->MmalPort(), &mirror.hdr) );
	ret = !mmal_status_to_int( mmal_port_parameter_set( m_component->m_video_port->MmalPort(), &mirror.hdr) );
	ret = !mmal_status_to_int( mmal_port_parameter_set( m_component->m_still_port->MmalPort(), &mirror.hdr) );

	return ret;
}