diff --git a/app/services/waveform_service.rb b/app/services/waveform_service.rb index 87bf904b5d..219c309de2 100644 --- a/app/services/waveform_service.rb +++ b/app/services/waveform_service.rb @@ -88,7 +88,7 @@ def get_normalized_peaks(uri) def get_wave_io(uri) headers = "-headers $'Referer: #{Rails.application.routes.url_helpers.root_url}\r\n'" if uri.starts_with? "http" normalized_uri = uri.starts_with?("file") ? Addressable::URI.unencode(uri) : uri - timeout = 3600000000 # Must be in microseconds. Current value = 1 hour. + timeout = 60000000 # Must be in microseconds. Current value = 1 minute. cmd = "#{Settings.ffmpeg.path} #{headers} -rw_timeout #{timeout} -i '#{normalized_uri}' -f wav -ar 44100 - 2> /dev/null" IO.popen(cmd) end diff --git a/spec/services/waveform_service_spec.rb b/spec/services/waveform_service_spec.rb index 4c60308dc4..09ec6a1a5f 100644 --- a/spec/services/waveform_service_spec.rb +++ b/spec/services/waveform_service_spec.rb @@ -67,7 +67,7 @@ context "http file" do let(:uri) { "http://domain/to/video.mp4" } - let(:cmd) {"#{Settings.ffmpeg.path} -headers $'Referer: http://test.host/\r\n' -rw_timeout 3600000000 -i '#{uri}' -f wav -ar 44100 - 2> /dev/null"} + let(:cmd) {"#{Settings.ffmpeg.path} -headers $'Referer: http://test.host/\r\n' -rw_timeout 60000000 -i '#{uri}' -f wav -ar 44100 - 2> /dev/null"} it "should call ffmpeg with headers" do service.send(:get_wave_io, uri) @@ -77,7 +77,7 @@ context "local file" do let(:uri) { "file:///path/to/video.mp4" } - let(:cmd) {"#{Settings.ffmpeg.path} -rw_timeout 3600000000 -i '#{uri}' -f wav -ar 44100 - 2> /dev/null"} + let(:cmd) {"#{Settings.ffmpeg.path} -rw_timeout 60000000 -i '#{uri}' -f wav -ar 44100 - 2> /dev/null"} it "should call ffmpeg without headers" do service.send(:get_wave_io, uri) @@ -87,7 +87,7 @@ context 'with spaces in filename' do let(:uri) { 'file:///path/to/special%20video%20file.mp4' } let(:unencoded_uri) { 'file:///path/to/special video file.mp4' } - let(:cmd) {"#{Settings.ffmpeg.path} -rw_timeout 3600000000 -i '#{unencoded_uri}' -f wav -ar 44100 - 2> /dev/null"} + let(:cmd) {"#{Settings.ffmpeg.path} -rw_timeout 60000000 -i '#{unencoded_uri}' -f wav -ar 44100 - 2> /dev/null"} it "should call ffmpeg without url encoding" do service.send(:get_wave_io, uri)