Example #1
0
static void init_everything(void) {
	log_init("rtpengine");
	log_format(rtpe_config.log_format);
	recording_fs_init(rtpe_config.spooldir, rtpe_config.rec_method, rtpe_config.rec_format);
	rtpe_ssl_init();

#if !GLIB_CHECK_VERSION(2,32,0)
	g_thread_init(NULL);
#endif

#if !(GLIB_CHECK_VERSION(2,36,0))
	g_type_init();
#endif

	signals();
	resources();
	sdp_init();
	dtls_init();
	ice_init();
	crypto_init_main();
	interfaces_init(&rtpe_config.interfaces);
	iptables_init();
	control_ng_init();
	if (call_interfaces_init())
		abort();
	statistics_init();
	codeclib_init(0);
	media_player_init();
}
Example #2
0
RET_CODE win_media_player_init(mp_callback_func mp_cb)
{
	RET_CODE ret = RET_SUCCESS;
	PeConfig pe_cfg;
		
	MEMSET(&pe_cfg, 0, sizeof(pe_cfg));

	//fill the music engine config
	pe_cfg.music.pcm_out_buff = __MM_TTX_BS_START_ADDR & 0x8fffffff;
	pe_cfg.music.pcm_out_buff_size = __MM_TTX_BS_LEN & 0x8fffffff;
	pe_cfg.music.processed_pcm_buff = __MM_SUB_BS_START_ADDR & 0x8fffffff;
	pe_cfg.music.processed_pcm_buff_size = __MM_SUB_BS_LEN & 0x8fffffff;
	pe_cfg.music.mp_cb = mp_cb;
	
	//fill the image engine config
	pe_cfg.image.frm_y_size	= __MM_FB0_Y_LEN;
	pe_cfg.image.frm_y_addr	= __MM_FB0_Y_START_ADDR;
	pe_cfg.image.frm_c_size	= __MM_FB0_C_LEN;
	pe_cfg.image.frm_c_addr	= __MM_FB0_C_START_ADDR;
	pe_cfg.image.frm2_y_size = __MM_FB1_Y_LEN;
	pe_cfg.image.frm2_y_addr = __MM_FB1_Y_START_ADDR;
	pe_cfg.image.frm2_c_size = __MM_FB1_C_LEN;
	pe_cfg.image.frm2_c_addr = __MM_FB1_C_START_ADDR;
	pe_cfg.image.frm3_y_size = __MM_FB2_Y_LEN;
	pe_cfg.image.frm3_y_addr = __MM_FB2_Y_START_ADDR;
	pe_cfg.image.frm3_c_size = __MM_FB2_C_LEN;
	pe_cfg.image.frm3_c_addr = __MM_FB2_C_START_ADDR;
	pe_cfg.image.decoder_buf = (UINT8 *)__MM_MP_BUFFER_ADDR;
	pe_cfg.image.decoder_buf_len = __MM_MP_BUFFER_LEN;
	pe_cfg.image.mp_cb = mp_cb;

	//fill the video engine config
	pe_cfg.video.mp_cb = mp_cb;
	pe_cfg.video.decoder_buf = __MM_PVR_VOB_BUFFER_ADDR;
	pe_cfg.video.decoder_buf_len = __MM_PVR_VOB_BUFFER_LEN;
	pe_cfg.video.mm_vbv_len = __MM_VBV_LEN;
	pe_cfg.video.reserved = 0;

	ret = media_player_init(&pe_cfg);
	config_deo_frm_buf();
	return ret;
}
Example #3
0
RET_CODE win_media_player_init_ex(mp_callback_func mp_cb, UINT8 bExt)	//for youtube player init
{
	RET_CODE ret = RET_SUCCESS;
	PeConfig pe_cfg;
    struct pe_video_cfg_extra video_cfg_extra;

	MEMSET(&pe_cfg, 0, sizeof(pe_cfg));
    MEMSET(&video_cfg_extra, 0, sizeof(struct pe_video_cfg_extra));

	//fill the music engine config
	pe_cfg.music.pcm_out_buff = __MM_TTX_BS_START_ADDR & 0x8fffffff;
	pe_cfg.music.pcm_out_buff_size = __MM_TTX_BS_LEN & 0x8fffffff;
	pe_cfg.music.processed_pcm_buff = __MM_SUB_BS_START_ADDR & 0x8fffffff;
	pe_cfg.music.processed_pcm_buff_size = __MM_SUB_BS_LEN & 0x8fffffff;
	pe_cfg.music.mp_cb = mp_cb;
	
	//fill the image engine config
	pe_cfg.image.frm_y_size	= __MM_FB0_Y_LEN;
	pe_cfg.image.frm_y_addr	= __MM_FB0_Y_START_ADDR;
	pe_cfg.image.frm_c_size	= __MM_FB0_C_LEN;
	pe_cfg.image.frm_c_addr	= __MM_FB0_C_START_ADDR;
	pe_cfg.image.frm2_y_size = __MM_FB1_Y_LEN;
	pe_cfg.image.frm2_y_addr = __MM_FB1_Y_START_ADDR;
	pe_cfg.image.frm2_c_size = __MM_FB1_C_LEN;
	pe_cfg.image.frm2_c_addr = __MM_FB1_C_START_ADDR;
	pe_cfg.image.frm3_y_size = __MM_FB2_Y_LEN;
	pe_cfg.image.frm3_y_addr = __MM_FB2_Y_START_ADDR;
	pe_cfg.image.frm3_c_size = __MM_FB2_C_LEN;
	pe_cfg.image.frm3_c_addr = __MM_FB2_C_START_ADDR;
	pe_cfg.image.decoder_buf = (UINT8 *)__MM_MP_BUFFER_ADDR;
	pe_cfg.image.decoder_buf_len = __MM_MP_BUFFER_LEN;
	pe_cfg.image.mp_cb = mp_cb;

	//fill the video engine config
	pe_cfg.video.mp_cb = mp_cb;
	pe_cfg.video.decoder_buf = __MM_VIDEO_FILE_BUF_ADDR;
	pe_cfg.video.decoder_buf_len = __MM_VIDEO_FILE_BUF_LEN;
	pe_cfg.video.mm_vbv_len = __MM_VBV_LEN;
	pe_cfg.video.reserved = 0;
	pe_cfg.video.disable_seek = TRUE;//disable network mediaplay seek function

#ifdef M36F_CHIP_MODE
#if (SYS_SDRAM_SIZE == 128 || SYS_SDRAM_SIZE == 64)
    // video file buffer is seperated with frame buffer
    #if (__MM_FB_TOP_ADDR > __MM_VIDEO_FILE_BUF_ADDR)
    pe_cfg.video.decoder_buf_len = __MM_FB_TOP_ADDR - __MM_VIDEO_FILE_BUF_ADDR;
    #endif
    video_cfg_extra.frame_buf_base = __MM_FB_BOTTOM_ADDR;
    video_cfg_extra.frame_buf_len = __MM_FB_TOP_ADDR - __MM_FB_BOTTOM_ADDR;
    video_cfg_extra.reserved[0] = (UINT32)font_array_1bit_subt;
    video_cfg_extra.reserved[1] = 6; //sizeof(font_array_1bit_subt) / sizeof(font_array_1bit_subt[0]);
    pe_cfg.video.reserved = (UINT32)(&video_cfg_extra);
#endif
#else
    // M3602
    // video file buffer is seperated with frame buffer
    video_cfg_extra.frame_buf_base = __MM_FB_BOTTOM_ADDR;
    video_cfg_extra.frame_buf_len = __MM_FB_TOP_ADDR - __MM_FB_BOTTOM_ADDR;
    video_cfg_extra.reserved[0] = font_array_1bit_subt;
    video_cfg_extra.reserved[1] = 6; //sizeof(font_array_1bit_subt) / sizeof(font_array_1bit_subt[0]);
    pe_cfg.video.reserved = (UINT32)(&video_cfg_extra);
#endif

	if(bExt)
		ret = media_player_init_ex(&pe_cfg);
	else
		ret = media_player_init(&pe_cfg);
	config_deo_frm_buf();
	return ret;
}