Example #1
0
static void
rpi_tv_vpi(vpi_op_t op, struct htsmsg *info, struct prop *p,
           struct prop *origin)
{
  if(!respond)
    return;

  if(op == VPI_START) {
    double framerate;
    unsigned int width, height;
    if(htsmsg_get_dbl(info, "framerate", &framerate))
      return;
    if(htsmsg_get_u32(info, "width", &width))
      return;
    if(htsmsg_get_u32(info, "height", &height))
      return;
    rpi_set_display_framerate(framerate, width, height);
    restart_ui = 1;
  }

  if(op == VPI_STOP) {
    vc_tv_hdmi_power_on_preferred();
    restart_ui = 1;
  }
}
static int power_on_preferred( void )
{
   int ret;

   LOG_STD( "Powering on HDMI with preferred settings" );

   ret = vc_tv_hdmi_power_on_preferred();
   if ( ret != 0 )
   {
      LOG_ERR( "Failed to power on HDMI with preferred settings" );
   }

   return ret;
}
Example #3
0
int tvserviceHDMIPowerOn(int use3D)
{
	tvserviceInit();

	int result;

	if (use3D) {
		result = vc_tv_hdmi_power_on_preferred_3d();
	}
	else {
		result = vc_tv_hdmi_power_on_preferred();
	}

	if (result != 0) {
		logInfo(LOG_TVSERVICE, "tvserviceHDMIPowerOn failed\n");
	}

	return result;
}
Example #4
0
GLUSvoid _glusDestroyNativeWindow()
{
	if (_nativeWindowCreated)
	{
		DISPMANX_UPDATE_HANDLE_T dispmanUpdate;

		dispmanUpdate = vc_dispmanx_update_start(0);
		vc_dispmanx_element_remove(dispmanUpdate, _nativeWindow.element);
		vc_dispmanx_update_submit_sync(dispmanUpdate);

		_nativeWindowCreated = GLUS_FALSE;
	}
	memset(&_nativeWindow, 0, sizeof(_nativeWindow));

	if (_nativeDisplay)
	{
		vc_dispmanx_display_close(_nativeDisplay);

		_nativeDisplay = 0;
	}

	if (_fullscreen)
	{
		vc_tv_register_callback(resizeDone, 0);

		if (vc_tv_hdmi_power_on_preferred() == 0)
		{
			waitResizeDone();
		}

		vc_tv_unregister_callback(resizeDone);

		_fullscreen = GLUS_FALSE;
	}

	SDL_ShowCursor(SDL_ENABLE);

	SDL_Quit();

	bcm_host_deinit();
}