Beispiel #1
0
static void PlayProc()
{
    RET_CODE ret;
    char name[FULL_PATH_SIZE];
    FileInfo file_node;
    int ret_val;

    if (MPEGInfo.PlayState >= MPEG_PAUSE && MPEGInfo.PlayState <= MPEG_STEP)
    {
        mpg_cmd_play_proc();
        MPEGInfo.PlayState = MPEG_PLAY;
        MPEGInfo.PlaySpeed = 0;
        StartRefreshTimer();
    }
    else if (MPEGInfo.PlayState == MPEG_STOP)
    {
        api_stop_timer(&mpeg_refresh_id);
        mpeg_refresh_id = api_start_cycletimer("MPEGRFS", 200, mpeg_refresh_handler);
        ret = get_file_from_file_list(win_file_list[VIDEO_FILE_LIST], mpeglist_idx, &file_node);
        if(ret == RET_FAILURE)
        {
            //return FALSE;
        }
        win_get_fullname(name, file_node.path, file_node.name);
        ret_val = video_dec_file(name, 0);
        if(ret < 0)
        {
            //return FALSE;
        }
        MPEGInfo.PlayState = MPEG_PLAY;
        MPEGInfo.PlaySpeed = 0;
        StartRefreshTimer();
    }
}
Beispiel #2
0
static BOOL MPEGYT_player_init(void)
{
	POBJECT_HEAD pCtrl;
	PROGRESS_BAR* bar;
	RET_CODE ret;
	FileInfo file_node;
	char name[FULL_PATH_SIZE];

	MEMSET(&BarState, 0, sizeof(BarState));
	BarState.nRange = 100;
	BarState.State = NORMAL_MOVING;

	bar = &mpegYT_player_bar;
	OSD_SetProgressBarValue(bar, 100);
	OSD_SetProgressBarRange(bar, 0, 100);

	MEMSET(&MPEGYTInfo, 0, sizeof(MPEGYTInfo));
	MPEGYTInfo.PlayTime = 0;
	MPEGYTInfo.TotalTime = 0;

	MPEGYTInfo.PlaySpeed = 0;

	m_HideWindow = FALSE;
	mpegYT_timeout_id = OSAL_INVALID_ID;
	if (GetMuteState())
	{
		ShowMuteOnOff();
	}

	StartRefreshTimer();
	ret = get_file_from_file_list(win_file_list[VIDEO_FILE_LIST], mpegYTlist_idx, &file_node);
	if(ret == RET_FAILURE)
	{
		return FALSE;
	}
	win_get_fullname(name, file_node.path, file_node.name);
    video_dec_file(name, 0);

	MPEGYTInfo.TotalTime = get_video_total_time();
	MPEGYTInfo.PlayState = MPEG_PLAY;

	BarState.nRange = MPEGYTInfo.TotalTime;

	return TRUE;
}
Beispiel #3
0
static void FastForwardProc()
{
	if ((MPEG_PAUSE == MPEGYTInfo.PlayState) || ( MPEGYTInfo.PlayState== MPEG_STEP))
	{
		StartRefreshTimer();
	}
	
	if (MPEGYTInfo.PlayState != MPEG_FF)
	{
		MPEGYTInfo.PlayState = MPEG_FF;
		MPEGYTInfo.PlaySpeed = 0;
	}
	else
	{
		MPEGYTInfo.PlaySpeed++;
		MPEGYTInfo.PlaySpeed %= MAX_FP_TIMES;
	}
	mpg_cmd_ff_proc();
}
Beispiel #4
0
bool AudioPlayer::PlayMedia(const QString &URI, bool Paused)
{
    if (thread() != QThread::currentThread())
    {
        // turn this into an asynchronous call
        QVariantMap data;
        data.insert("uri", URI);
        data.insert("paused", Paused);
        TorcEvent *event = new TorcEvent(Torc::PlayMedia, data);
        QCoreApplication::postEvent(parent(), event);
        return true;
    }

    bool result = TorcPlayer::PlayMedia(URI, Paused);

    StartRefreshTimer(1000 / 50);

    return result;
}
Beispiel #5
0
static void SlowForwardProc()
{
	if ((MPEG_PAUSE == MPEGYTInfo.PlayState) || ( MPEGYTInfo.PlayState== MPEG_STEP))
	{
		StartRefreshTimer();
	}
	
	if (MPEGYTInfo.PlayState != MPEG_SF)
	{
		MPEGYTInfo.PlayState = MPEG_SF;
		MPEGYTInfo.PlaySpeed = 0;
	}
	else
	{
		MPEGYTInfo.PlaySpeed++;
		MPEGYTInfo.PlaySpeed %= MAX_SP_TIMES;
		MPEGYTInfo.PlayState = MPEG_SF;
	}
    mpg_cmd_slow_proc();
}
Beispiel #6
0
static BOOL MPEGYT_player_init(void)
{
	POBJECT_HEAD pCtrl;
	PROGRESS_BAR* bar;
	UINT8 tmpurl[1024];
	MEMSET(&BarState, 0, sizeof(BarState));
	BarState.nRange = 100;
	BarState.State = NORMAL_MOVING;

	bar = &mpegYT_player_bar;
	OSD_SetProgressBarValue(bar, 100);
	OSD_SetProgressBarRange(bar, 0, 100);

	MEMSET(&MPEGYTInfo, 0, sizeof(MPEGYTInfo));
	MPEGYTInfo.PlayTime = 0;
	MPEGYTInfo.TotalTime = entry_youtube->info->duration;

	MPEGYTInfo.PlaySpeed = 0;

	m_HideWindow = FALSE;
	mpegYT_timeout_id = OSAL_INVALID_ID;
	//b_build_idx_tbl = FALSE;
	//b_vdec_support = TRUE;
	//b_audio_yt_support = TRUE;
	if (GetMuteState())
	{
		ShowMuteOnOff();
	}
	StartRefreshTimer();
	httpstrfile_url_gen(tmpurl, url_youtube, "mp4");
	video_dec_file(tmpurl, 0);
	s_is_in_parsing = 1;
	mpegYT_prompt_on_screen = 3;
	mpegYT_file_prompt("Loading, please wait...", TRUE);
	MPEGYTInfo.TotalTime = entry_youtube->info->duration; // we will get total time after parsing end
	MPEGYTInfo.PlayState = MPEG_PLAY;

	BarState.nRange = MPEGYTInfo.TotalTime;
	return TRUE;
}
Beispiel #7
0
static PRESULT win_mpegYT_player_key_proc(POBJECT_HEAD pObj, UINT32 key, UINT32 param)
{
	PRESULT ret = PROC_LOOP;
	int wait_time = 0;

	if((key == V_KEY_PAUSE)&&(MPEGYTInfo.PlayState != MPEG_PLAY))
	{
		key = V_KEY_PLAY;
	}

	switch (key)
	{
	case V_KEY_EXIT:
	case V_KEY_MENU:
		if (m_HideWindow)
		{
			if (m_bSetVol_YT)
			{
				//ShowVolumeBar(FALSE);//Close volume bar
				win_mpegYTplayer_close_video_vol();
				m_bSetVol_YT = FALSE;
			}
			else
			{
				ret = PROC_LEAVE;//exit video player
			}
		}
		else
		{
			if (MPEGYTInfo.PlayState == MPEG_STOP)
			{
				ret = PROC_LEAVE;//exit video player
			}
			else
			{
				api_stop_timer(&mpegYT_timeout_id);
				win_mpegYT_player_draw(FALSE);//Hide the information window
				if (BarState.State == CURSOR_MOVING)
				{
					SyncBarPosAndCursor(POS_TO_CUR);
				}
			}
		}
		break;
	case V_KEY_PLAY:
	case V_KEY_1:
		if(MPEGYTInfo.PlayState != MPEG_PLAY)
		{
			PivotalKeyProc();
			PlayProc_yt();
		}
		break;
	case V_KEY_PAUSE:
	case V_KEY_2:
	case V_KEY_STEP:
		PivotalKeyProc();
		PauseProc();
		break;
	case V_KEY_STOP:
	case V_KEY_0:
		PivotalKeyProc();
		StopProc();
		ret = PROC_LEAVE;
		break;

	case V_KEY_LEFT:
		if (m_HideWindow)
		{
			win_mpegYT_player_draw(FALSE);
			win_mpegYTplayer_set_video_vol(V_KEY_LEFT);
			return PROC_LOOP;
		}
		if(s_is_in_parsing)
		{
			break;
		}
		if (MPEGYTInfo.PlayState != MPEG_STOP)
		{
			if (BarState.State != CURSOR_MOVING)
			{
				BarState.State = CURSOR_MOVING;
				BarState.nCursor = BarState.nPos;
			}
			if (BarState.nCursor > SLIDE_BAR_STEP)
			{
				BarState.nCursor -= SLIDE_BAR_STEP;
			}
			else if (0 == BarState.nCursor )
			{
                if(BarState.nRange > SLIDE_BAR_STEP)
                    BarState.nCursor = BarState.nRange-SLIDE_BAR_STEP;
                else
                    BarState.nCursor = BarState.nRange;
			}else
			{
				BarState.nCursor = 0;
			}
		}
        win_mpegYT_player_draw(TRUE);
		break;

	case V_KEY_RIGHT:
		if (m_HideWindow)
		{
			win_mpegYT_player_draw(FALSE);
			win_mpegYTplayer_set_video_vol(V_KEY_RIGHT);
			return PROC_LOOP;
		}
		if(s_is_in_parsing)
		{
			break;
		}
		if (MPEGYTInfo.PlayState != MPEG_STOP)
		{
			if (BarState.State != CURSOR_MOVING)
			{
				BarState.State = CURSOR_MOVING;
				BarState.nCursor = BarState.nPos;
			}
			if (BarState.nCursor + SLIDE_BAR_STEP < BarState.nRange)
			{
				BarState.nCursor += SLIDE_BAR_STEP;
			}
			else
			{
                if(BarState.nRange > SLIDE_BAR_STEP)
                    BarState.nCursor = SLIDE_BAR_STEP;
                else
				    BarState.nCursor = BarState.nRange - VIDEO_SEARCH_DLYS;
			}
		}
        win_mpegYT_player_draw(TRUE);
		break;

	case V_KEY_ENTER:
		if (MPEGYTInfo.PlayState != MPEG_STOP)
		{
			if (BarState.State == CURSOR_MOVING)
			{
				if (BarState.nPos < BarState.nCursor)//forward
				{
					BarState.CursorDir = 1;
				}
				else if (BarState.nPos > BarState.nCursor)//backward
				{
					BarState.CursorDir = 2;
				}
				else
				{
					BarState.CursorDir = 0;
				}

				SyncBarPosAndCursor(CUR_TO_POS);

				MPEGYTInfo.PlayTime = BarState.nPos;

				if (BarState.CursorDir)
				{
					s_ytvideo_seektime =  MPEGYTInfo.PlayTime;
					api_stop_timer(&mpegYT_refresh_id);
					libnet_download_abort(g_strf_cur_dl_rsrc);
					mpg_cmd_stop_proc();
					mpegYT_file_prompt("Loading, please wait...", TRUE);
					osal_task_sleep(1000);
					UINT8 tmpurl[1024];
					UINT8* tmppos;
					tmppos = strstr(url_youtube, "&begin=");
					if(NULL == tmppos)
					{
						sprintf(tmpurl, "&begin=%d", s_ytvideo_seektime * 1000);
						strcat(url_youtube, tmpurl);
					}else
					{
						sprintf(tmppos, "&begin=%d", s_ytvideo_seektime * 1000);
					}
					httpstrfile_url_gen(tmpurl, url_youtube, "mp4");
					video_dec_file(tmpurl, 0);
					s_is_in_parsing = 1;
					MPEGYTInfo.PlaySpeed = 0;
					StartRefreshTimer();
				}
				PlayProc_yt();
			}
		}
		break;
	default:
		break;
	}
	return ret;
}