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(); } }
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; }
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(); }
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; }
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(); }
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; }
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; }