You've already forked FFmpeg
							
							
				mirror of
				https://github.com/FFmpeg/FFmpeg.git
				synced 2025-10-30 23:18:11 +02:00 
			
		
		
		
	dont use SDL_WM_ToggleFullScreen() as that doesnt seem to work reliably if a SDL_SetVideoMode() is called quickly afterwards
Originally committed as revision 7390 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
		
							
								
								
									
										29
									
								
								ffplay.c
									
									
									
									
									
								
							
							
						
						
									
										29
									
								
								ffplay.c
									
									
									
									
									
								
							| @@ -833,22 +833,21 @@ static int video_open(VideoState *is){ | |||||||
|     int flags = SDL_HWSURFACE|SDL_ASYNCBLIT|SDL_HWACCEL; |     int flags = SDL_HWSURFACE|SDL_ASYNCBLIT|SDL_HWACCEL; | ||||||
|     int w,h; |     int w,h; | ||||||
|  |  | ||||||
|  |     if(is_full_screen) flags |= SDL_FULLSCREEN; | ||||||
|  |     else               flags |= SDL_RESIZABLE; | ||||||
|  |  | ||||||
|     if (is_full_screen && fs_screen_width) { |     if (is_full_screen && fs_screen_width) { | ||||||
|         w = fs_screen_width; |         w = fs_screen_width; | ||||||
|         h = fs_screen_height; |         h = fs_screen_height; | ||||||
|         flags |= SDL_FULLSCREEN; |     } else if(!is_full_screen && screen_width){ | ||||||
|  |         w = screen_width; | ||||||
|  |         h = screen_height; | ||||||
|  |     }else if (is->video_st && is->video_st->codec->width){ | ||||||
|  |         w = is->video_st->codec->width; | ||||||
|  |         h = is->video_st->codec->height; | ||||||
|     } else { |     } else { | ||||||
|         if(screen_width){ |         w = 640; | ||||||
|             w = screen_width; |         h = 480; | ||||||
|             h = screen_height; |  | ||||||
|         }else if (is->video_st && is->video_st->codec->width){ |  | ||||||
|             w = is->video_st->codec->width; |  | ||||||
|             h = is->video_st->codec->height; |  | ||||||
|         } else { |  | ||||||
|             w = 640; |  | ||||||
|             h = 480; |  | ||||||
|         } |  | ||||||
|         flags |= SDL_RESIZABLE; |  | ||||||
|     } |     } | ||||||
| #ifndef CONFIG_DARWIN | #ifndef CONFIG_DARWIN | ||||||
|     screen = SDL_SetVideoMode(w, h, 0, flags); |     screen = SDL_SetVideoMode(w, h, 0, flags); | ||||||
| @@ -2147,11 +2146,9 @@ static void toggle_full_screen(void) | |||||||
|     is_full_screen = !is_full_screen; |     is_full_screen = !is_full_screen; | ||||||
|     if (!fs_screen_width) { |     if (!fs_screen_width) { | ||||||
|         /* use default SDL method */ |         /* use default SDL method */ | ||||||
|         SDL_WM_ToggleFullScreen(screen); | //        SDL_WM_ToggleFullScreen(screen); | ||||||
|     } else { |  | ||||||
|         /* use the recorded resolution */ |  | ||||||
|         video_open(cur_stream); |  | ||||||
|     } |     } | ||||||
|  |     video_open(cur_stream); | ||||||
| } | } | ||||||
|  |  | ||||||
| static void toggle_pause(void) | static void toggle_pause(void) | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user