Пример #1
0
EVENT_END

static void UIFlowWndPlay_CheckStatus(void)
{
    UINT32 uiStatus, uiCurrMode;
    uiStatus = AppPlay_GetData(PLAY_PBSTATUS);
    uiCurrMode = AppPlay_GetData(PLAY_CURRMODE);

    // Decode Error & Read Error
    if( uiStatus & (PB_STA_ERR_FILE | PB_STA_ERR_DECODE) )
    {
        if(uiCurrMode == PLAYMODE_AVI || uiCurrMode == PLAYMODE_MOVMJPG)
        {
            UINT32  uiBuffAddr, uiBuffSize;
            CHAR    chaFullName[64] = { 0 };

            PB_GetParam(PBPRMID_DATABUF_ADDR, &uiBuffAddr);
            PB_GetParam(PBPRMID_DATABUF_SIZE, &uiBuffSize);
            PB_GetParam(PBPRMID_CURR_FILEPATH, (UINT32 *)&chaFullName);
            MediaPlay_FileRecovery(chaFullName, uiBuffAddr, uiBuffSize);
#if USE_FILEDB
            FileDB_Refresh(0); // should refresh FileDB
#else
            DCF_Refresh(); // should refresh DCF
#endif
            Ux_SendEvent(&UIPlayObjCtrl,NVTEVT_PLAYSINGLE, 1, PB_SINGLE_CURR);
            uiStatus = AppPlay_GetData(PLAY_PBSTATUS);
            if( uiStatus == PB_STA_DONE)
                return;
        }
        Ux_OpenWindow(&UIFlowWndWrnMsgCtrl,2,FLOWWRNMSG_ISSUE_PICTURE_ERR,FLOWWRNMSG_TIMER_KEEP);
    }
}
Пример #2
0
static void FlowPB_IconDrawTime(BOOL bShow)
{
    UINT32  creDateTime[6],modDateTime[6];
    //UINT32  uiDirNum,uiFileNum,uiFileType,index;
//    CHAR    chaFullName[34] = { 0 };
    static char item1_Buf[34];

    if (bShow==FALSE)
    {
        UxCtrl_SetShow(&UIFlowWndPlay_StaticTXT_TimeCtrl, FALSE);
        return;
    }

    FileSys_WaitFinish();
#if 0
    uiDirNum = AppPlay_GetData(PLAY_DIRID);
    uiFileNum = AppPlay_GetData(PLAY_FILEID);
    index = DCF_GetIndexByID(uiDirNum,uiFileNum);
    DCF_GetObjInfo(index, &uiDirNum, &uiFileNum, &uiFileType);
    DCF_GetObjPath(index,uiFileType,chaFullName);
#endif
    PB_GetParam(PBPRMID_CURR_FILEPATH, (UINT32 *)&gchaFullName);
    FileSys_GetDateTime(gchaFullName,creDateTime,modDateTime);

    if (modDateTime[3]>23)   modDateTime[3]=0;
    if (modDateTime[4]>59)   modDateTime[4]=0;

    snprintf(item1_Buf,20,"%02d:%02d",modDateTime[3],modDateTime[4]);

    UxStatic_SetData(&UIFlowWndPlay_StaticTXT_TimeCtrl,STATIC_VALUE,Txt_Pointer(item1_Buf));
    UxCtrl_SetShow(&UIFlowWndPlay_StaticTXT_TimeCtrl, TRUE);
}
Пример #3
0
UINT32 UIStorageCheck_DirFileMax(void)
{
    UINT32 useFileDB =0;
    useFileDB = UI_GetData(FL_IsUseFileDB);
    if (useFileDB)
    {
        return 0;
    }
    else
    {
        UINT32  ret = 0x00000000;


        UINT32 CurrFileSeq = DCF_GetDBInfo(DCF_INFO_CUR_INDEX);

        if(DCF_GetDBInfo(DCF_INFO_MAX_DIR_ID)== MAX_DCF_DIR_NUM)
        {
            UINT32 uiFileID;

            ret |= DIRID_MAX;
            DBG_ERR("FolderID reaches 999.\r\n");
            PB_OpenSpecFileBySeq(DCF_GetDBInfo(DCF_INFO_TOL_FILE_COUNT), TRUE);
            PB_GetParam(PBPRMID_NAMEID_FILE, &uiFileID);
            if(uiFileID >= MAX_DCF_FILE_NUM)
            {
                DBG_ERR("FileID reaches 9999.\r\n");
                ret |= FILEID_MAX;
            }
            PB_OpenSpecFileBySeq(CurrFileSeq, TRUE);
        }
        return ret;
    }
}
Пример #4
0
static void FlowPB_IconDrawImageSize(BOOL bShow)
{
    GXVIDEO_INFO MovieInfo;
    static char item1_Buf[32];
    UINT32 uiFileFmt = AppPlay_GetData(PLAY_FILEFMT);

    //hide icon
    if (bShow==FALSE)
    {
        UxCtrl_SetShow(&UIFlowWndPlay_StaticTXT_SizeCtrl, FALSE);
        return;
    }
    //show icon
    if(uiFileFmt & PBFMT_AVI || uiFileFmt & PBFMT_MOVMJPG)
    {
        PB_GetParam(PBPRMID_INFO_VDO, (UINT32 *)&MovieInfo);
        switch (MovieInfo.uiVidWidth)
        {
        case 1920:
            snprintf(item1_Buf,32,"1080FHD");
            break;
        case 1440:
            snprintf(item1_Buf,32,"1080P");
            break;
        case 1280:
            snprintf(item1_Buf,32,"720P");
            break;
        case 848:
            snprintf(item1_Buf,32,"WVGA");
            break;
        case 640:
            snprintf(item1_Buf,32,"VGA");
            break;
        case 320:
            snprintf(item1_Buf,32,"QVGA");
            break;
        default:
            snprintf(item1_Buf,32,"%dx%d",AppPlay_GetData(PLAY_IMGWIDTH_ORI),AppPlay_GetData(PLAY_IMGHEIGHT_ORI));
        }
    }
    else
    {
        snprintf(item1_Buf,32,"%dx%d",AppPlay_GetData(PLAY_IMGWIDTH_ORI),AppPlay_GetData(PLAY_IMGHEIGHT_ORI));
    }


    UxStatic_SetData(&UIFlowWndPlay_StaticTXT_SizeCtrl,STATIC_VALUE,Txt_Pointer(item1_Buf));
    UxCtrl_SetShow(&UIFlowWndPlay_StaticTXT_SizeCtrl, TRUE);
}
Пример #5
0
static void FlowPB_IconDrawDCFFileID(BOOL bShow)
{
    static char item1_Buf[32];
#if USE_FILEDB
    UINT32 uiPBFileFmt, rootFolderLength;
#endif


    //hide icon
    if (bShow==FALSE)
    {
        UxCtrl_SetShow(&UIFlowWndPlay_StaticTXT_FilenameCtrl, FALSE);
        return;
    }

    //show icon
#if USE_FILEDB
    rootFolderLength = strlen(FILEDB_CARDV_ROOT);
    uiPBFileFmt = AppPlay_GetData(PLAY_FILEFMT);
    PB_GetParam(PBPRMID_CURR_FILEPATH, (UINT32 *)&gchaFullName);

    //show icon

    if (uiPBFileFmt & PBFMT_AVI ||
        uiPBFileFmt & PBFMT_MOVMJPG ||
        uiPBFileFmt & PBFMT_MP4)
    {

        if (uiPBFileFmt & PBFMT_READONLY)
         {
            //strncpy(item1_Buf, (gchaFullName+rootFolderLength+10+3),20);
            strncpy(item1_Buf, (gchaFullName+rootFolderLength+10),20);
            item1_Buf[20] = '\0';
         } else {
            strncpy(item1_Buf, (gchaFullName+rootFolderLength+10),20);
            item1_Buf[20] = '\0';
         }
    } else {
        strncpy(item1_Buf, (gchaFullName+rootFolderLength+10),20);
        item1_Buf[20] = '\0';
    }
#else
    snprintf(item1_Buf,32,"%03ld-%04ld",AppPlay_GetData(PLAY_DIRID),AppPlay_GetData(PLAY_FILEID));
#endif

    //debug_msg("^GgchaFullName:%s,item1_Buf:%s\r\n",gchaFullName,item1_Buf);
    UxStatic_SetData(&UIFlowWndPlay_StaticTXT_FilenameCtrl,STATIC_VALUE,Txt_Pointer(item1_Buf));
    UxCtrl_SetShow(&UIFlowWndPlay_StaticTXT_FilenameCtrl, TRUE);
}
static void UIMEnuWndPlaySlideShowCB_SetFileFmt(Playback_FileFmt PB_FileFmt)
{
    PLAY_OBJ PlayObj = {0};
    UINT PBFileFmt;

    // get playback object
    PB_GetParam(PBPRMID_PLAYBACK_OBJ, (UINT32 *)&PlayObj);

    FileSys_WaitFinish();
    //step1. close current active file
    FileSys_CloseFile((FST_FILE)0xFFFFFFFF);
    //step2. rescan file format
    switch(PB_FileFmt)
    {
    case Playback_FileFmt_JPG:
    default:
        PBFileFmt = DCF_FILE_TYPE_JPG;
        PlayObj.uiPlayFileFmt = PBFMT_JPG;
        break;

    case Playback_FileFmt_ALL:
        PBFileFmt = DCF_FILE_TYPE_JPG | DCF_FILE_TYPE_AVI | DCF_FILE_TYPE_MOV | DCF_FILE_TYPE_MP4;
        PlayObj.uiPlayFileFmt = PBFMT_JPG | PBFMT_AVI | PBFMT_MOVMJPG | PBFMT_MP4;

#if (_WAVSTUDIO_MODE_ == ENABLE)
        PBFileFmt |= DCF_FILE_TYPE_WAV;
        PlayObj.uiPlayFileFmt |= PBFMT_WAV;
#endif
        break;
    }
    //DCF_SetParm(DCF_PRMID_SET_VALID_FILE_FMT,PBFileFmt);
    //DCF_ScanObj();

    // slide show only for jpg file format
    PB_SetParam(PBPRMID_PLAYBACK_OBJ, (UINT32)&PlayObj);
}
Пример #7
0
INT32 UIFlowWndPlay_OnKeyEnter(VControl *pCtrl, UINT32 paramNum, UINT32 *paramArray)
{
    //#NT#2012/08/31#Calvin Chang#Porting Media Flow -begin
    //UINT32 uiCurindex;
    UINT32 uiPoolAddr;
    char   pFilePath[FULL_FILE_PATH_LEN];
    UINT32 fileType = DCF_FILE_TYPE_JPG;
    UINT32 uiPBFileFmt;

    switch(g_PlbData.State)
    {
        case PLB_ST_PLAY_MOV:
        case PLB_ST_FWD_MOV:
        case PLB_ST_BWD_MOV:
            Ux_SendEvent(&UIMoviePlayObjCtrl, NVTEVT_PAUSE_PLAY_MOVIE, 0);
            FlowPB_IconDrawMovPlay(TRUE);
            g_PlbData.State = PLB_ST_PAUSE_MOV;
            //#NT#2012/10/23#Philex Lin - begin
            // enable auto power off/USB detect timer
            // enable sound key tone flag
            KeyScan_EnableMisc(TRUE);
            //#NT#2012/10/23#Philex Lin - end
            break;

        case PLB_ST_PAUSE_MOV:
            //#NT#2012/10/23#Philex Lin - begin
            // disable auto power off/USB detect timer
            // disable key tone flag
            KeyScan_EnableMisc(FALSE);
            //#NT#2012/10/23#Philex Lin - end
            // Start to Play
            Ux_SendEvent(&UIMoviePlayObjCtrl,
                         NVTEVT_PLAY_PLAY_MOVIE,
                         2,
                         g_uiUIFlowWndPlayCurrenSpeed,
                         g_uiUIFlowWndPlayCurrenDirection);
            FlowPB_IconDrawMovPlay(TRUE);
            g_PlbData.State = PLB_ST_PLAY_MOV;
            break;

        default:
        case PLB_ST_FULL:
            uiPBFileFmt = AppPlay_GetData(PLAY_FILEFMT);
            if (uiPBFileFmt & PBFMT_AVI ||
                uiPBFileFmt & PBFMT_MOVMJPG ||
                uiPBFileFmt & PBFMT_MP4)
            {
                // Open Video File
                if (gphUIFlowMovPlay_Filehdl)
                {
                    FileSys_CloseFile(gphUIFlowMovPlay_Filehdl);
                    gphUIFlowMovPlay_Filehdl = NULL;
                }
                if (uiPBFileFmt & PBFMT_AVI)
                  fileType = DCF_FILE_TYPE_AVI;
                else if (uiPBFileFmt & PBFMT_MOVMJPG)
                  fileType = DCF_FILE_TYPE_MOV;
                else if (uiPBFileFmt & PBFMT_MP4)
                  fileType = DCF_FILE_TYPE_MOV;
                else
                {
                    debug_msg("Wrong video file format!! \r\n");
                    break;
                }

                // Get Current index
                PB_GetParam(PBPRMID_CURR_FILEPATH, (UINT32 *)pFilePath);
#if 0
                uiCurindex = DCF_GetCurIndex();
                DCF_GetObjPath(uiCurindex,fileType,pFilePath);
#endif
                // Open Test Media File
                gphUIFlowMovPlay_Filehdl = FileSys_OpenFile(pFilePath, FST_OPEN_READ);

                if (!gphUIFlowMovPlay_Filehdl)
                {
                    debug_msg("UIFlowWndPlay_OnKeyEnter: Can't open Video file!\r\n");
                    break;
                }
                //#NT#2012/10/23#Philex Lin - begin
                // disable auto power off/USB detect timer
                // disable key tone flag
                KeyScan_EnableMisc(FALSE);
                //#NT#2012/10/23#Philex Lin - end

                // Buffer Allocation
                get_blf((VP*)&(uiPoolAddr), POOL_ID_APP);
                rel_blf(POOL_ID_APP, (VP)uiPoolAddr);

                g_UIPlayMediaObj.hActMediafilehdl = gphUIFlowMovPlay_Filehdl;
                g_UIPlayMediaObj.CallBackFunc     = Play_MovieCB;
//                g_UIPlayMediaObj.uiMemAddr        = uiPoolAddr;
                g_UIPlayMediaObj.uiMemAddr        = (UINT32)OS_GetMempoolAddr(POOL_ID_APP);
                g_UIPlayMediaObj.uiMemSize        = POOL_SIZE_APP;
                //g_UIPlayMediaObj.iAudioType       = AUDIO_OUTPUT_HP;
                g_UIPlayMediaObj.bDisableAudio    = FALSE;

                UIFlowMoviePlay_SetSpeed(g_PlbData.VideoPBSpeed);
                g_uiUIFlowWndPlayCurrenDirection = MEDIAPLAY_DIR_FORWARD;

                //flush event first
                Ux_FlushEventByRange(NVTEVT_KEY_EVT_START,NVTEVT_KEY_EVT_END);

                //stop scan
                //SxTimer_SetFuncActive(SX_TIMER_DET_STRG_ID, FALSE);
                SxTimer_SetFuncActive(SX_TIMER_DET_SYSTEM_BUSY_ID, FALSE);

                Ux_SendEvent(&UIMoviePlayObjCtrl, NVTEVT_INIT_PLAY_MOVIE, 1, &g_UIPlayMediaObj);

                // Start to Play
                Ux_SendEvent(&UIMoviePlayObjCtrl,
                             NVTEVT_PLAY_PLAY_MOVIE,
                             2,
                             g_uiUIFlowWndPlayCurrenSpeed,
                             g_uiUIFlowWndPlayCurrenDirection);

                if (KeyScan_GetPlugDev()!=PLUG_HDMI)
                {
                    //FlowPB_IconDrawMovPlayVolumn(g_uiUIFlowWndPlayCurrentVolume);
                }
                FlowPB_IconDrawMovPlay(TRUE);
                g_PlbData.State = PLB_ST_PLAY_MOV;

            }
            break;
    }
    //#NT#2012/08/31#Calvin Chang -end

    return NVTEVT_CONSUME;
}