⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ircmd_util.c

📁 mp3 player program please read carefully.
💻 C
字号:
// ============================================================================
// Control flow
// ============================================================================
#ifdef SUPPORT_8202_DVB
#include "..\dvb_h\dvb_func.h"
#endif

#ifdef    SUPPORT_OTHER_LANGUAGE_STRING//tianye 200607
extern    const char *const osd_other_str[N_OSD_LANGS][STRINE_NUM];
#endif //end=> #ifdef    SUPPORT_OTHER_LANGUAGE_STRING


void invalid_key(void)
{
    int id;
    int test_ready_ret;
    //we don't show any invalid_key when PROGRAM  is active
    if (full_scrn & PROGRAM) return;
            
	if(play_state==VCD_STATE_IDLE)//zhongshan 20050121
	{
      	test_ready_ret=atapi_p_test_unit_ready();
             if(test_ready_ret != ATAPI_NO_MEDIA)
             {
                	OSD1000ISP_STATUS(OSDISP_ERR_DISC, OSDIR_GLOBAL);

                 	id=STR_OS_ERR_DISC;//nono 2-4-22 13:26 for fuss
             }else{
        OSD1000ISP_STATUS(OSDISP_NODISC, OSDIR_GLOBAL);

        id = STR_OS_NODISC;
             }
        #ifdef SHOW_SPECIAL_DISC_TYPE
        if(read_disc_state == 0x0f)
          id = STR_OS_ERR_DISC;
        #endif
            
	}
	else
	{
        OSD1000ISP_STATUS(OSDISP_INVAL, OSDIR_GLOBAL);

		id = STR_OS_NO;
	}
#if defined(LARGE_OSD_SHOW_IN_LOGO) && !defined( SETUP_PROGRAM_IN_PLACE_UNDER_16M )  // 2004/12/27 yltseng
    if (prog_state==3)
    {
        prog_state=0;

        OSD1000ISP_STATUS(OSDISP_STOP, OSDIR_STOP);

        id = STR_OS_STOP;
    }
#endif

    #ifdef IR_SWITCH_DVD_USB_CARD_AVIN_DVB
    if((source_play_mode==USB_PLAY_MODE) || (source_play_mode==CARD_PLAY_MODE))
    { 
        if((id == STR_OS_NODISC) || (id==STR_OS_ERR_DISC))//(usb_card_state==SWITCH_TO_USB_BUT_HAS_NO_USB) || (usb_card_state==SWITCH_TO_CARD_BUT_HAS_NO_CARD))
        {
            if(source_play_mode == USB_PLAY_MODE)
            {
		     #ifdef    SUPPORT_OTHER_LANGUAGE_STRING
				psprintf(RegionValStr[REGION1], osd_other_str[osd_font_mode][USB_NOT_FOUND]); 
		     #else //else => #ifdef    SUPPORT_OTHER_LANGUAGE_STRING	 
                psprintf(RegionValStr[REGION1], "USB NOT FOUND");
		     #endif//end=> #ifdef    SUPPORT_OTHER_LANGUAGE_STRING	

            }			
            else
            {
			#ifdef    SUPPORT_OTHER_LANGUAGE_STRING
			 psprintf(RegionValStr[REGION1], osd_other_str[osd_font_mode][CARD_NOT_FOUND]); 
		    #else //else => #ifdef    SUPPORT_OTHER_LANGUAGE_STRING	 
                psprintf(RegionValStr[REGION1], "CARD NOT FOUND");
		    #endif//end=> #ifdef    SUPPORT_OTHER_LANGUAGE_STRING	
	    
            }
	        PrintOsdMsg(STR_OS_SPACE, REGION1, 1, 1);
        }
        else
            PrintOsdMsg(id,REGION1,1,0);
    }    
    else
    #endif 
#ifdef SHOW_SPECIAL_DISC_TYPE
    if(read_disc_state == 0x0f)
        PrintOsdMsg(id,REGION1,0,0);
    else
#endif
	PrintOsdMsg(id,REGION1,1,0);
}


void chg2normal_play(UINT8 md,UINT8 realplay)
{	
	if (md&FAST2NORM)
    {
		if(adv_search_time)
		{
            if (adv_search_time<0) {
				//replace temp, Jeff 20020715
				//AudioSetStop();
				if (coding_mode_now==AUDIF_CODING_MODE_PCM) {
					AUDIF_Flush_Buffer();//2004AUDDRV AudioFlushBuffer();
				} else {
					AUDIF_Set_Stop();//2004AUDDRV AudioSetStop();
				}
			} else {
			//Steven 2006/12/4 modify AUDIF_Flush_Buffer()to AUDIF_Set_Stop() to prevent
			//noise when FF -> RESUME in case of DVD MPEG AUDIO , because MP3 DSP CODE
			//do nothing about AUDIF_Flush_Buffer() command , following it is bistream
			//buffer pointer zero setting , it would crash data to set bitstream buffer
			//pointer before stop dsp.  
				//AUDIF_Flush_Buffer();//2004AUDDRV AudioFlushBuffer();
				AUDIF_Set_Stop();
			}
			
			adv_search_time =0;
			if (cd_type_loaded==CDROM) {
                AUDIF_Set_Continue();//2004AUDDRV AudioSetContinue();
            }
		}
	}
	
    if (md&PAUSE2NORM)
    {
    	if(!Is_JPEG_STATE())           
        if(play_state==VCD_STATE_PAUSE)
        {
            Continue();
        }
    }
	
    if (md&SLOW2NORM) {
		video_slow=0;
		avd_slow_state(video_slow);
    }
	
	if (realplay)
	{
		if(!Is_JPEG_STATE())           
		{//terry,2002/7/18 08:36PM,avoid avd play cmd run many times
			avd_play_state();       
		}
		AUDIF_Set_Continue();//2004AUDDRV AudioSetContinue();
		if(!user_mute)
		{
			AUDIF_Demute();//2004AUDDRV AudioDemute();
            if ( (cd_type_loaded!=CDROM) && mpeg_audio)
			{
				if( (play_state==VCD_STATE_FASTFORWARD)||(play_state==VCD_STATE_FASTBACKWARD) )
				{
					AUDIF_Set_VCDFF2PLAY();//2004AUDDRV AudioSetVCD_FF2PLAY();
				}
				
			}
		}
		#ifdef MUSTEK_MULTI_FUNCTION_DIRECTION_KEY
        if((realplay==REALPLAY) && !((play_state==VCD_STATE_PAUSE) && (pFsJpeg->ControlArea>CNT_AREA_DIR)))
        #else
		if(realplay==REALPLAY)
		#endif
		{
		    extern void SetIDETimeOut(UINT16);      //wanghaoying 2003-8-12 16:44 added

            OSD1000ISP_STATUS(OSDISP_PLAY, OSDIR_GLOBAL);

			PrintOsdMsg(STR_OS_PLAY,REGION1,1,0);
			play_state = VCD_STATE_NORMAL;
			#ifdef SUPPORT_8202_DVB//Jack added 05/11/21
            if(!Is_Dvb_State())
            #endif
				SetIDETimeOut(PLAY_TMOUT);//printf("set srv timeout tm = %d\n",PLAY_TMOUT);//terry,2003/7/17 11:17PM
		}
    }
	
    #ifdef IRCMD_DBG
    printf("play_st:%x search:%x slow:%x\n", play_state, adv_search_time,video_slow);
    #endif
}


/*
** FUNCTION
** pre_slowmotion()
**
*/

UINT8 pre_slowmotion(void)
{
	//printf("================= slow motion ==============\n");
	
	if(audio_only||PE_DSI_novideo())
	{
		invalid_key();
		return 1;
	}
	
	chg2normal_play(FAST2NORM|PAUSE2NORM,TRANSFER);
	
	AUDIF_Set_Volume(0);//2004AUDDRV AudioSetVolume(0);
	AUDIF_Set_Pause();//2004AUDDRV AudioSetPause();
	play_state = VCD_STATE_SLOW;
	return 0;
}

//terry,move to ircmd_video,2003/8/20 09:04PM
//setup_tv_out
//search_ap_tv_out_id
// ============================================================================
// Audio  Audio  Audio  Audio  Audio
// ============================================================================




⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -