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

📄 stop.c

📁 mp3 player program please read carefully.
💻 C
📖 第 1 页 / 共 2 页
字号:
	{
	       custm_count=0;        	
        	enter_display_flag=1;
        	ClearOsdMsg(2);        	
        	return;
	}
#endif	

 
    #ifdef MOVE_HIGH_LIGHT_IN_PROG_MODE
	if(cd_type_loaded == CDROM){     //wsf  2004-7-20 14:55  changed for cancel program when stop  
            prog_cnt=0;
            prog_func_off();
            prog_func_clear();        
        }
    #endif

#ifdef AD_TCL
	DispFadeOut();
#endif	
 
#if ((defined(LARGE_OSD_SHOW_IN_LOGO)||defined(PLAY_JPEG_STOP_USE_AS_RETURN))&&!defined(JPG_EFFECT))
#if !defined(ALCO_DVD_UI)&&!(defined(SUPPORT_DPF)&&defined(SDRAM_16Mb_Mode))	//Jack 06/11/30 added for 1x16Mb DPF
    if (Is_JPEG_STATE() && ((prog_state != 4)
    #ifdef DIRECT_ACCESS_MEDIA//added by wangwei, 2006-12-20 19:24
    && (prog_state != 7)
    #endif//DIRECT_ACCESS_MEDIA
    ) && (pFsJpeg->g_nJpegMode != JPEG_PREVIEW_MODE))//nonotestjpg //lyc 2006-9-14,add for 16m ircmd_setup
    {
        #ifdef PLAY_JPEG_STOP_USE_AS_RETURN_SHOW_STOP//yaowh add 04-12-22
        is_stop_key = 1 ;
        #endif
   
		ircmd_return();
		return;
    }
	else
#endif	
#endif//#ifdef SDRAM_16Mb_Mode
    {	
#ifdef NEW_STYLE_SETUP//terry,2003/8/20 10:01PM
		if(setup_state!=1)
#endif    
#ifdef LARGE_OSD_SHOW_IN_LOGO
			if( (prog_state!=1)&&(prog_state!=4) )
#endif
			{
				if (play_state!=VCD_STATE_STOP) { //PRE-STOP shouldn't show invalid-key, Jeff 20020522
					if(UOP_check(UOP_STOP))
					{
						invalid_key();
						return;
					}
				}
			}
			
		#if !defined(SPHE1000)
			if((cd_type_loaded==CDROM)&&(Mp3ReadFinish==0)) //huo 2000/10/31
		#else
			if((cd_type_loaded==CDROM)&&(Mp3ReadFinish==0) && (system_state!=SYSTEM_FILESTREAM)) //MIKEY 2004.06.25 for stop
		#endif
			{
				invalid_key();
				return;
			}
			
			ircmd_cancel(C_ZOOM);

#ifdef SUPPORT_WMA
			if (GetCurrentFileType() == CDROM_WMA) // Robert 2003/12/29
				AVD_SetMediaTimeout(); 
#endif            
 
			if(system_state!=SYSTEM_READ_TITLE)
			{
				//terry,clear vobu still
				Vobu_still=0;
				P_vobu=0;

#if defined(IR_PLAY_RESUME) ||defined(IR_PLAY_RESUME_PAUSE)//nono 2-3-26 11:34 for fuss

	#ifdef SUPPORT_FILE_SYSTEM_MODE		//to avoid bug when stop,gerry  3-1-26 17:39
        #if defined(SUPPORT_MP4)&&!defined(MODIFY_MP4_STOP_NOT_NEED_RESUME)//nono 4-8-10 22:47 for eastech
		if((( GetCurrentFileType() == CDROM_MP4 ) // Robert 2003/12/29
				//kevinmonkey sz 050614 fixing avi extension file name won't resume
            #ifdef TELL_FROM_MP4_EXT_NAME
                ||( GetCurrentFileType() == CDROM_AVI ) 
				||( GetCurrentFileType() == CDROM_DIV )) 
            #endif  //#ifdef TELL_FROM_MP4_EXT_NAME
                #ifdef ALCO_DVD_UI
                &&(play_state==VCD_STATE_NORMAL)//shenyj modify for alco 11/29
                #endif
        #ifdef POWER_RESUME
                &&(play_state==VCD_STATE_NORMAL)  //xlluo add for BUG:cann't real stop in mp4 menu 070523
        #endif
            #ifdef CDROM_MOVIE_DIRECT_PLAY
            //kevinmonkey 070511 at sz, mpg can resume, but play from start. Without this behavior, mpg movie disc direct play
            // would be strange. Stop at movie no.5, play again will play movie no.1(even when we enter setup then leave under 16M).
                ||( GetCurrentFileType() == CDROM_MPG )
            #endif  //CDROM_MOVIE_DIRECT_PLAY
				)
		{
             if( IS_FILE_TYPE_MPG12()||( GetCurrentFileType() == CDROM_MPG ) ) // 2005/09/29 yltseng
                    {
                    #ifdef CDROM_MOVIE_DIRECT_PLAY
                    //kevinmonkey 070511 at sz, mpg can resume, but play from start. Without this behavior, mpg movie disc direct play
                    // would be strange. Stop at movie no.5, play again will play movie no.1(even when we enter setup then leave).
                        resumeTRK = pFsJpeg->fsnav_trk_now + pFsJpeg->first_mp3_entry;
                        resumeMSF = 0;
                    #else
                        resumeMSF = resumeTRK = 0;
                    #endif  //CDROM_MOVIE_DIRECT_PLAY
                        resumeMSF = resumeTRK = 0;
                    }
                    else
                    {
      #ifndef SUPPORT_MP4_USB_RESUME//add by xlluo to enable resume on usbdisc 070515        
            #if defined(SUPPORT_CARD_STORAGE)||defined(SUPPORT_USB)||defined(SPHE8202_CARD_STORAGE)
            //liweihua 2004-4-28 15:09
                        if(media_type == MEDIA_CARD)
                            resumeMSF = 0;
                        else
            #endif
            #endif
//mark by roger 2006-06-08
//using GET_MP4_TIME() replace GET_ASF_TIME() 
//#if	defined(SUPPORT_ASF) && defined(SUPPORT_ASF_PTS) 
						//asf file not use GET_MP4_TIME() to get display time for av asf file
						//add by roger 2006-05-30 
//						if (IS_FILE_TYPE_ASF())
//							resumeMSF = GET_ASF_TIME();		
//						else							
//#endif				
                            resumeMSF = GET_MP4_TIME();
                        #ifdef ALCO_DVD_UI    
                        counter_down = 10;
                        #endif
                resumeTRK = pFsJpeg->fsnav_trk_now + pFsJpeg->first_mp3_entry;  // 2004/05/19 yltseng
                    }
 		 }
                else
        #endif
                #if defined(CDG_RESUME_PLAY_TO_TRACK)||defined(CDG_TRACK_RESUME)
				if((cd_type_loaded==CDROM)&&(!Is_MP3_STATE()))//chenzhao20051111 add CDG prestop
                #else
				if(((cd_type_loaded==CDROM)&&(!Is_MP3_STATE()))||(is_cdg_disc(1)))//wanghaoying 2003-9-12 17:11 to avoid CDG prestop
                #endif
			{
                       	resumeMSF=0;    	
	}
			else
	#endif
			{
				if (cd_type_loaded != CDDVD)
					{
   #ifdef LARGE_OSD_SHOW_IN_LOGO   //sunzhh add for SEQ PLAY when press "setup" continuously 2004-10-21 23:50 //robert.chang,2006-11-7
					    if ((prog_state==4)||(prog_state == 1)
                    #ifdef DIRECT_ACCESS_MEDIA//added by wangwei, 2006-12-20 15:13
					    || (prog_state == 7)
					#endif//DIRECT_ACCESS_MEDIA
                                            )			   
					    resumeMSF = 0;						 
		#endif
	#ifdef RECORD_PER_SECOND
						if(play_state != VCD_STATE_STOP)
							resumeMSF=0	;		//for display PRE_STOP  gerry  2-12-3 12:13
	#endif
						#ifdef SUPPORT_PROG_RESUME
						#ifdef MP3_ONLY_STOP_TO_GUI
						if (/*(resumeMSF == 0) &&*/ ((play_state!=VCD_STATE_STOP)&&(play_state!=VCD_STATE_MP3_FILELIST)) && (Is_JPEG_STATE() == 0) &&
						#else
						if (/*(resumeMSF == 0) &&*/ (play_state != VCD_STATE_STOP) && (Is_JPEG_STATE() == 0) &&
						#endif
						#else
						if ((resumeMSF == 0) && (play_state != VCD_STATE_STOP) && (Is_JPEG_STATE() == 0) &&
						#endif
	#ifdef SUPPORT_NESGAME
							(Is_GAME_STATE() ==0 ) &&
	#endif
	#ifdef SUPPORT_FILE_SYSTEM_MODE
							(Is_OTHER_STATE() ==0 ) &&
	#endif
							(!is_menu()) && ((cd_trk_now >= cd_trk_lo_now) && (cd_trk_now <= cd_trk_hi)))//nono 2-6-7 11:36
						{
	#if  defined(QISHENG_DVD)||defined(VTREK_DVD)||defined(DESAY_DVD)
							if (IsPBCOn())
							{
								ircmd_return();
								return;
							}
	#endif
                    resumeMSF = ( is_svo_dvd() ) ? s_msf&0xffffffff : s_msf&0x00ffffff; //2004/01/13 yltseng for DVD disk containing data
							resumeTRK = cd_trk_now; //2002/3/12
                            #ifdef CDG_RESUME_PLAY_TO_TRACK
                            if(is_cdg_disc(0))
                            resumeMSF = gettrkmsf(cd_trk_now)&0x00FFFFFF; //chenzhao20051111 add CDG prestop
                            #endif
//Maoyong 2004.06.22 moved out

	#if defined(IR_PLAY_RESUME) && defined(POWER_RESUME)  //yw 021003
						     #ifdef SUPPORT_LAST_MEMERY
					         if(memery_resumeflag)
					         #endif//end=> #ifdef SUPPORT_LAST_MEMERY
							power_resumeflag = 1;
	#endif
					}
						else
						{
							resumeMSF = 0;//nono test
							resumeTRK = 0; //2002/3/12
	#ifdef SUPPORT_WMA
							if (GetCurrentFileType() == CDROM_WMA) // Robert 2003/12/29
								asf_resume_pck = asf_resume_len = 0;
	#endif
						}
					}else {
						resumeMSF = 0;
					}

				}
#else   //defined(IR_PLAY_RESUME) ||defined(IR_PLAY_RESUME_PAUSE)
		if (cd_type_loaded == CDROM)
				{
		if ( Is_MP3_STATE() ) { //Jeff 20020518
						resumeMSF = s_msf;
					} else {
						resumeMSF = 0;
					}
				}
				else if(cd_type_loaded!=CDDVD)
				{
					resumeMSF=s_msf&0x00ffffff;
				}
			 
				resumeTRK = cd_trk_now;

#endif  //defined(IR_PLAY_RESUME) ||defined(IR_PLAY_RESUME_PAUSE)
 
//Maoyong 2004.06.22 move the part under IRC_RESUME & IRC_PLAY_RESUME definiton here
#ifdef SUPPORT_WMA
			if (GetCurrentFileType() == CDROM_WMA) // Robert 2003/12/29
			{
			    if(play_state == VCD_STATE_STOP){
			        // clear resume packet and len and pck time
					asf_resume_pck = asf_resume_len = 0;
					resumeMSF = 0;
			    }else{
				asf_resume_pck = asf_pck_current;
                #if defined(SUPPORT_CARD_STORAGE)||defined(SUPPORT_USB)||defined(SPHE8202_CARD_STORAGE)//liweihua 2004-4-13
                if(media_type == MEDIA_CARD)
                    {
                    asf_resume_len = cardFile.iFileSize-(fnWMAgotoPacket(asf_resume_pck)-cardFile.stLBA);
	                 #ifdef IC_8202L //qinhua,add for 8202L usb wma not pre stop,2006-7-20 05:39下午
				       delay_srv_10ms(5);	
				     #endif	
                	}
                else
                #endif
			    asf_resume_len = lba_st.len;
			
			}
			}
#endif
 
#ifdef SUPPORT_CDG                      //linrc add 2004-11-4 16:36
#ifdef VCD_CDG_PLAY_CONTROL_BY_SETUPMENU    //when "MNP" what define in setupmenu is on
extern BYTE VcdControlFlag();	            //VCD & CDG play one TRK in one time....
if((VcdControlFlag())&&(is_cdg_disc(0)))
{
    resumeMSF = 0;
    resumeTRK = 0;
}
#endif
#endif
 
#ifdef  MP3_ONLY_STOP_TO_GUI//zhaoyanhua add 2004-1-5 16:52
		//for bbk,when MP3 ,stop has no PRE_STOP and stop at GUI.
#if !defined(ALCO_DVD_UI)&& !defined(MP3_WMA_HAS_RESUME) //chenzhao 2006-4-17 10:7 .
		ClrMP3ResumePara();	//zhaoyanhua changed  2004-4-13 15:13
#endif
#endif//MP3_ONLY_STOP_TO_GUI
		 
         
				if(play_state != VCD_STATE_STOP)
				  {
					#ifdef DVD_5_DISC_RESUME//lijd 2005-6-30 21:56                    
                        if(cd_type_loaded == CDDVD)
                        {                           
                            RSM_save(0xff,DVD_PRESTOP_RSM_ITEM); //chenzhao 2006-9-13 11:39 .
                        }
                    #endif
                    
                    #ifdef STOP_RESUME_DVD_VCD
                    if(IS_DVD_VCD_DISC())
                    {
                        resumeMSF = 1;
                          
                        #ifdef DISC_ID_IN_FLASH
                        if(cd_type_loaded == CDDVD)
                        {                           
                            if(!need_record)
                            {                           
                                RSM_save(0xff,DVD_PRESTOP_RSM_ITEM); //chenzhao 2006-9-13 11:39 .
                            }
                            need_record = PRE_STOP_FLAG;
                        }
                        else if(cd_type_loaded != CDSVCD)
                        #endif
                        {
                            RsmInfo2Flash(0);
                            need_record = 5;//added 05/07/27 for VCD Playing--->STOP--->Quickly SETUP--->Then OSD is disordered.
                        }    
				    }
				    else
                    {
                        need_record = 5;//added 05/08/03 for All Disc Playing--->STOP--->Quickly SETUP--->Then OSD is disordered.
                    }    
				    #endif//#ifdef STOP_RESUME_DVD_VCD
				    
				    #if defined(SUPPORT_FILE_SYSTEM_MODE)&&defined(STOP_TO_GUI_WHEN_JPEG_OTHER )   //sunzhh add 
				    if((Is_OTHER_STATE() || Is_JPEG_STATE())&& (prog_state != 1))
				    {
				        ircmd_post_func(CMD_FUNC | CMD_FUNC_RETURN); 
				        resumeMSF = 0; 
				    }
				    else
				    #endif

		ircmd_post_func(CMD_FUNC | CMD_FUNC_STOP);
				}	
#if defined(NEW_PARENTAL_GUI)||defined(MODIFY_PARENTAL_GUI)	
		//when enter"STOP",clear this flag.
		//to show parental GUI when enter"PLAY" next time.
		//zhaoyanhua add 2003-11-29 9:26
	#ifdef TUNR_OFF_PARENTAL_LVL
	#ifndef NOT_SHOW_GUI_WHEN_PLAY_IN_STOP
	//when play parental disc,stop ->play not show parental GUI. 
	//zhaoyanhua 2004-2-9 17:26
				bTurnOffParentalLVL = 0;
	#endif
	#endif
				//to avoid the bug :
				// first enter"ONE_KEY_PASS",then enter STOP,the following
				//PLAY will excute "ONE_KEY_PASS" 
#ifdef ONE_KEY_PASS
				one_key_pass_play = 0;
#endif
				dvd_title = 0;
#endif//#if defined(NEW_PARENTAL_GUI)||defined(MODIFY_PARENTAL_GUI)	
 
				// alan 02-05-21 modified to fix '

⌨️ 快捷键说明

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