ffplay: force setting alsa buffer size
Signed-off-by: Marton Balint <cus@passwd.hu>
This commit is contained in:
		
							parent
							
								
									1e109bbbf1
								
							
						
					
					
						commit
						215a2d7678
					
				
							
								
								
									
										7
									
								
								ffplay.c
									
									
									
									
									
								
							
							
						
						
									
										7
									
								
								ffplay.c
									
									
									
									
									
								
							@ -3781,6 +3781,7 @@ int main(int argc, char **argv)
 | 
				
			|||||||
    int flags;
 | 
					    int flags;
 | 
				
			||||||
    VideoState *is;
 | 
					    VideoState *is;
 | 
				
			||||||
    char dummy_videodriver[] = "SDL_VIDEODRIVER=dummy";
 | 
					    char dummy_videodriver[] = "SDL_VIDEODRIVER=dummy";
 | 
				
			||||||
 | 
					    char alsa_bufsize[] = "SDL_AUDIO_ALSA_SET_BUFFER_SIZE=1";
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    av_log_set_flags(AV_LOG_SKIP_REPEATED);
 | 
					    av_log_set_flags(AV_LOG_SKIP_REPEATED);
 | 
				
			||||||
    parse_loglevel(argc, argv, options);
 | 
					    parse_loglevel(argc, argv, options);
 | 
				
			||||||
@ -3818,6 +3819,12 @@ int main(int argc, char **argv)
 | 
				
			|||||||
    flags = SDL_INIT_VIDEO | SDL_INIT_AUDIO | SDL_INIT_TIMER;
 | 
					    flags = SDL_INIT_VIDEO | SDL_INIT_AUDIO | SDL_INIT_TIMER;
 | 
				
			||||||
    if (audio_disable)
 | 
					    if (audio_disable)
 | 
				
			||||||
        flags &= ~SDL_INIT_AUDIO;
 | 
					        flags &= ~SDL_INIT_AUDIO;
 | 
				
			||||||
 | 
					    else {
 | 
				
			||||||
 | 
					        /* Try to work around an occasional ALSA buffer underflow issue when the
 | 
				
			||||||
 | 
					         * period size is NPOT due to ALSA resampling by forcing the buffer size. */
 | 
				
			||||||
 | 
					        if (!SDL_getenv("SDL_AUDIO_ALSA_SET_BUFFER_SIZE"))
 | 
				
			||||||
 | 
					            SDL_putenv(alsa_bufsize);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
    if (display_disable)
 | 
					    if (display_disable)
 | 
				
			||||||
        SDL_putenv(dummy_videodriver); /* For the event queue, we always need a video driver. */
 | 
					        SDL_putenv(dummy_videodriver); /* For the event queue, we always need a video driver. */
 | 
				
			||||||
#if !defined(_WIN32) && !defined(__APPLE__)
 | 
					#if !defined(_WIN32) && !defined(__APPLE__)
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user