| 
					
				 | 
			
			
				@@ -501,7 +501,21 @@ namespace MediaBrowser.MediaEncoding.Encoder 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             process.Start(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            var ranToCompletion = process.WaitForExit(120000); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // Need to give ffmpeg enough time to make all the thumbnails, which could be a while, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // but we still need to detect if the process hangs. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // Making the assumption that as long as new jpegs are showing up, everything is good. 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            bool isResponsive = true; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            int lastCount = 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            while (isResponsive && !process.WaitForExit(120000)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                int jpegCount = Directory.GetFiles(targetDirectory, "*.jpg").Count(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                isResponsive = (jpegCount > lastCount); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                lastCount = jpegCount; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            bool ranToCompletion = process.HasExited; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (!ranToCompletion) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 |