Skip to content

Commit a2da2cc

Browse files
authored
chore(release): 6.0.3
2 parents 4fedfad + 73598e5 commit a2da2cc

File tree

3 files changed

+17
-6
lines changed

3 files changed

+17
-6
lines changed

CHANGELOG

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,8 @@
1+
== 6.0.2 2024-06-19
2+
3+
Fixes:
4+
* Fixed a possible race condition that would cause the transcoder to time out even if the transcoder was still running
5+
16
== 6.0.2 2024-06-18
27

38
Fixes:

lib/ffmpeg/timeout.rb

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -11,16 +11,21 @@ def self.start(duration, message = nil)
1111
end
1212

1313
def pause
14-
@paused = true
14+
@mutex.synchronize { @paused = true }
15+
nil
1516
end
1617

1718
def resume
18-
@paused = false
19-
tick
19+
@mutex.synchronize do
20+
@last_tick = Time.now
21+
@paused = false
22+
nil
23+
end
2024
end
2125

2226
def tick
23-
@last_tick = Time.now
27+
@mutex.synchronize { @last_tick = Time.now }
28+
nil
2429
end
2530

2631
def cancel
@@ -33,6 +38,7 @@ def cancel
3338
private
3439

3540
def initialize(duration, message = nil)
41+
@mutex = Mutex.new
3642
@duration = duration
3743
@message = message
3844

@@ -43,7 +49,7 @@ def initialize(duration, message = nil)
4349
end
4450

4551
def loop
46-
sleep 0.1 while @paused || Time.now - @last_tick <= @duration
52+
sleep 0.1 while @mutex.synchronize { @paused || Time.now - @last_tick <= @duration }
4753

4854
@current_thread.raise(::Timeout::Error, @message || self.class.name)
4955
end

lib/ffmpeg/version.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# frozen_string_literal: true
22

33
module FFMPEG
4-
VERSION = '6.0.2'
4+
VERSION = '6.0.3'
55
end

0 commit comments

Comments
 (0)