作者 QQ: 35327864,msn: [email protected],mail: [email protected]
main ()
init_playback_options ()
init_display_options ()
RUACreateInstance (&dcc_info_picture,pRUA, play_opt->chip_num)
DCCOpen (dcc_info_picture.pRUA, &dcc_info_picture.pDCC)
DCCInitChainEx (dcc_info_picture.pDCC, disp_opt->init_mode)
display_key_usage ();
apply_playback_options ();
init_osd_video_source (dcc_info_picture.pDCC, 1280, 720, &pVideoSourceOSD);
DCCOpenMultiplePictureOSDVideoSource(pDCC, &profile, 1, ppVideoSource, NULL)
DCCInsertPictureInMultiplePictureOSDVideoSource(*ppVideoSource, 0, 0);
init_scaler (dcc_info_picture.pDCC, dcc_info_picture.pRUA, pVideoSourceOSD, DispOSDScaler)
RUAExchangeProperty(pRUA, mixer, RMGenericPropertyID_MixerSourceIndex, &osd_scaler, sizeof(osd_scaler), &scr_index, sizeof(src_index));
RUASetProperty (pRUA, mixer, RMGenericPropertyID_MixerSourceWindow, &window, sizeof(window), 0)
RUASetProperty (pRUA, mixer, RMGenericProperyID_MixerSourceState, &state, sizeof(state), 0)
RUASetProperty (pRUA, mixer, RMGenericPropertyID_Validate, NULL, 0, 0)
RUASetProperty (pRUA, osd_scaler, RMGenericPropertyID_Alpha0, &canvas_alpha, sizeof(canvas_alpha), 0)
RUASetProperty (pRUA, osd_scaler, RMGenericPropertyID_Enable, &enable, sizeof(enable), 0)
RUASetProperty (pRUA, osd_scaler, RMGenericPropertyID_ScalerInputWindow, &window, sizeof(window), 0)
DCCSetSurfaceSource (pDCC, osd_scaler, pVideoSource);
DCCEnableVideoSource (pVideoSource, TRUE);
RUASetProperty (pRUA, osd_scaler, RMGenericPropertyID_Validate, NULL, 0, 0)
RUAWaitForMultipleEvents (pRUA, &e, 1, 1000000, &index);
RUASetProperty(pRUA, mixer, RMDispMainMixerPropertyID_LayerOrder, &layer, sizeof(layer), 0)
RUASetProperty (pRUA, mixer, RMGenericPropertyID_Validate, NULL, 0,0)
init_directfb (dcc_info_picture.pDCC, dcc_info_picture.pRUA, 1280, 720, pVideoSourceOSD, argc, argv);
DirectFBInit (&argc, &argv);
DirectFBCreate (&dfb);
dfb->>GetInterface (dfb, "ISystemBridge", "SMP86", NULL, (void**)&bridge);
bridge->SetVariable(bridge, "sglobals", &sglobals);
bridge->Release(bridge);
cleanup:
err = DCCCloseVideoSource (dcc_info_picture.pOSDSource[0]);
err = DCCGetScalerModuleID (dcc_info_picture.pDCC, osd_picture.route, DCCSurface_OSD, osd_picture.scaler, &scaler);
set_default_out_window (&osd_picture.source_window);
clear_display_options(&dcc_info_picture, disp_opt);
DCCClose (dcc_info_picture.pDCC);
RUADestroyInstance (dcc_info_picture.pRUA);