void ExtGpVideoEngineExit() { ext_printf("%s:%d\n", __FUNCTION__, __LINE__); ExtGpVideoEngineStop(); video_decode_exit(); printf("exit mcplayer\n"); }
int mcpGetThumbnail(gp_bitmap_t *bitmap, char *media_url, int thmb_time) { int ret = -1; ret = ExtGpVideoEngineSetUrl(media_url); if(ret<0) { return ret; } ExtGpVideoEngineGetInfo(&g_cdvr->pVideoInfo->srcSize); g_cdvr->pVideoInfo->frameRate = ExtGpVideoEngineGetFrameRate(); ret = ExtGpVideoEngineGetThumbnail(bitmap); ExtGpVideoEngineStop(); return ret; }
/** * playback mode key active. * return: 0: do mode active, 1: change mode. **/ int playback_mode_key_active(cdvr_thmb_t *pdvr) { printf("%s:%d\n", __FUNCTION__, __LINE__); pthread_mutex_lock(&g_cdvr->pb_mutex); if(pdvr->dispMode == DISP_FULL_SCREEN) { if(pdvr->fileType == GP_FILE_TYPE_JPEG) { } else if(pdvr->fileType == GP_FILE_TYPE_VIDEO) { } } else if(pdvr->dispMode == DISP_THMB_SCREEN) { } else if(pdvr->dispMode == DISP_VIDEO_SCREEN) { if(pdvr->pVideoInfo->videoMode == VIDEO_PAUSE) { ExtGpVideoEngineResume(); } ExtGpVideoEngineStop(); g_VideoEnd = 0; pdvr->pVideoInfo->videoMode = VIDEO_OPEN; pdvr->pVideoInfo->speed = 0; //dvr_thmb_dispFullScreen(pdvr); dvr_thmb_dispFullScreen_Replace(pdvr); Dsp_Open(); ExtGpVideoEngineSetVolume(g_sys_vol); timeOut_count = 0; pthread_mutex_unlock(&g_cdvr->pb_mutex); return 1; } else if(pdvr->dispMode == DISP_SCALE_SCREEN) { dvr_thmb_dispFullScreen(pdvr); playback_Set_PIPE_With_CMD(CMD_GET_JPEG_SCLIDX, 1); pthread_mutex_unlock(&g_cdvr->pb_mutex); return 1; } pthread_mutex_unlock(&g_cdvr->pb_mutex); return 0; }
int dvr_thmb_getPlayingTime(void) { int ret = -1; if(g_cdvr == NULL) { return ret; } pthread_mutex_lock(&g_cdvr->pb_mutex); if(g_cdvr->dispMode == DISP_VIDEO_SCREEN) { if(g_cdvr->pVideoInfo->videoMode != VIDEO_OPEN && g_cdvr->pVideoInfo->videoMode != VIDEO_PAUSE) { SINT32 time = ExtGpVideoEngineGetCurTime(); printf("%s:%d time %ld gtime: %ld\n", __FUNCTION__, __LINE__, time, g_cdvr->pVideoInfo->play_time); if(g_cdvr->pVideoInfo->show_time != g_cdvr->pVideoInfo->play_time) { g_cdvr->pVideoInfo->show_time = g_cdvr->pVideoInfo->play_time; ret = 0; } else { ret = -1; } } if(g_VideoEnd) { g_VideoEnd = 0; ExtGpVideoEngineStop(); g_cdvr->pVideoInfo->videoMode = VIDEO_OPEN; g_cdvr->pVideoInfo->speed = 0; // dvr_thmb_dispFullScreen(g_cdvr); dvr_thmb_dispFullScreen_Replace(g_cdvr); printf("%s:%d\n", __FUNCTION__, __LINE__); //g_vid_vol = ExtGpVideoEngineGetVolume(); Dsp_Open(); ExtGpVideoEngineSetVolume(g_sys_vol); ret = 0; } } pthread_mutex_unlock(&g_cdvr->pb_mutex); return ret; }