Fix media processing getting stuck on too much stdin/stderr (#16136)
* Fix media processing getting stuck on too much stdin/stderr See thoughtbot/terrapin#5 * Remove dependency on paperclip-av-transcoder gem * Remove dependency on streamio-ffmpeg gem * Disable stdin on ffmpeg process
This commit is contained in:
		
							parent
							
								
									dfa002932d
								
							
						
					
					
						commit
						036556d350
					
				
					 12 changed files with 234 additions and 67 deletions
				
			
		| 
						 | 
				
			
			@ -287,7 +287,7 @@ class MediaAttachment < ApplicationRecord
 | 
			
		|||
      if instance.file_content_type == 'image/gif'
 | 
			
		||||
        [:gif_transcoder, :blurhash_transcoder]
 | 
			
		||||
      elsif VIDEO_MIME_TYPES.include?(instance.file_content_type)
 | 
			
		||||
        [:video_transcoder, :blurhash_transcoder, :type_corrector]
 | 
			
		||||
        [:transcoder, :blurhash_transcoder, :type_corrector]
 | 
			
		||||
      elsif AUDIO_MIME_TYPES.include?(instance.file_content_type)
 | 
			
		||||
        [:image_extractor, :transcoder, :type_corrector]
 | 
			
		||||
      else
 | 
			
		||||
| 
						 | 
				
			
			@ -388,7 +388,7 @@ class MediaAttachment < ApplicationRecord
 | 
			
		|||
  # paths but ultimately the same file, so it makes sense to memoize the
 | 
			
		||||
  # result while disregarding the path
 | 
			
		||||
  def ffmpeg_data(path = nil)
 | 
			
		||||
    @ffmpeg_data ||= FFMPEG::Movie.new(path)
 | 
			
		||||
    @ffmpeg_data ||= VideoMetadataExtractor.new(path)
 | 
			
		||||
  end
 | 
			
		||||
 | 
			
		||||
  def enqueue_processing
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Reference in a new issue