screen-recorder 1.3.0 → 1.6.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 223571eec67845c142f2bddbe0bb59960b8ba800ba41374158aeadab58611291
4
- data.tar.gz: 7292831582ec9afb87736c0e807c061162abf75cdf1a8c5b08a0ffc40a458aa0
3
+ metadata.gz: 45346a64b3fbf881ad0e84d86b60071870c88ceb4903c887b8986523cd9cbc54
4
+ data.tar.gz: 9534f82f4a2f777beedd390f4bc684947f5a1439eb0c7cd197d4a5fca53a87ac
5
5
  SHA512:
6
- metadata.gz: f1bbe228c99deea2feb837097c7b6bc30cd00fc8051f43a2b56ad90f0dc6768ff04b87ecb45b564c56267383e1e5113c74ffdcea5c8708563a7782bca4b689fe
7
- data.tar.gz: 173054cecd3169310b5a8982e9c3d5334edb5ade410436a11480c234d385bbe8b91c52a3ff25062a15e6dfc56ec7f37e52d325243cdd1a36fc423fcee870e9b6
6
+ metadata.gz: b41efb69403ff6739d94f43a663366fb50532bf5289b62fcdea478539299d7e1031f492ae0bda43db8a5e228b42205c585e9e9e29b85609e0eebda283b0c151b
7
+ data.tar.gz: 00f30237b8c76aa88ee19333c2c84cb43e9170bc0df3caa6b89a0591b78852ef4483709dbe00869c4672ef754ef8fa67f626ad42593a797eef4e653848217317
@@ -6,6 +6,7 @@ Please provide the following information for bug reports:
6
6
 
7
7
  * Operating system - Microsoft Windows, Linux, or macOS.
8
8
  * Ruby version
9
+ * screen-recorder version
9
10
  * Recorder parameters - input, output, etc.
10
11
  * Recorder log (`ffmpeg.log`) file as a gist or on pastebin.com.
11
12
  * Set `ScreenRecorder.logger.level = Logger::DEBUG`, run the recorder, and share the
@@ -0,0 +1,97 @@
1
+
2
+ name: Tests
3
+
4
+ on: [push, pull_request]
5
+
6
+ jobs:
7
+ lint:
8
+ runs-on: ubuntu-18.04
9
+ steps:
10
+ - name: Cancel any previous run(s) on new commit push
11
+ uses: styfle/cancel-workflow-action@0.8.0
12
+ with:
13
+ access_token: ${{ secrets.GITHUB_TOKEN }}
14
+ - uses: actions/checkout@v2
15
+ - name: Set up Ruby
16
+ uses: ruby/setup-ruby@v1
17
+ with:
18
+ ruby-version: 2.5
19
+ bundler-cache: true
20
+ - name: Run rubocop
21
+ run: bundle exec rake rubocop
22
+
23
+ test-ubuntu:
24
+ runs-on: ubuntu-latest
25
+ strategy:
26
+ matrix:
27
+ ruby-version: [2.7, jruby]
28
+ env:
29
+ DISPLAY: ":0"
30
+ steps:
31
+ - name: Cancel any previous run(s) on new commit push
32
+ uses: styfle/cancel-workflow-action@0.8.0
33
+ with:
34
+ access_token: ${{ secrets.GITHUB_TOKEN }}
35
+ - uses: actions/checkout@v2
36
+ - name: Set up ffmpeg
37
+ uses: FedericoCarboni/setup-ffmpeg@v1
38
+ with:
39
+ token: ${{ secrets.GITHUB_TOKEN }}
40
+ id: setup-ffmpeg
41
+ - name: Set up Ruby
42
+ uses: ruby/setup-ruby@v1
43
+ with:
44
+ ruby-version: ${{ matrix.ruby-version }}
45
+ bundler-cache: true
46
+ - name: Start xvfb
47
+ run: Xvfb -ac $DISPLAY -screen 0 1024x768x24 > /dev/null 2>&1 &
48
+ - name: Run tests
49
+ run: bundle exec rake spec
50
+
51
+ test-windows:
52
+ runs-on: windows-latest
53
+ strategy:
54
+ matrix:
55
+ ruby-version: [2.5, jruby]
56
+ steps:
57
+ - name: Cancel any previous run(s) on new commit push
58
+ uses: styfle/cancel-workflow-action@0.8.0
59
+ with:
60
+ access_token: ${{ secrets.GITHUB_TOKEN }}
61
+ - uses: actions/checkout@v2
62
+ - name: Set up ffmpeg
63
+ uses: FedericoCarboni/setup-ffmpeg@v1
64
+ with:
65
+ token: ${{ secrets.GITHUB_TOKEN }}
66
+ id: setup-ffmpeg
67
+ - name: Set up Ruby
68
+ uses: ruby/setup-ruby@v1
69
+ with:
70
+ ruby-version: ${{ matrix.ruby-version }}
71
+ bundler-cache: true
72
+ - name: Run tests
73
+ run: bundle exec rake spec
74
+
75
+ test-macos:
76
+ runs-on: macos-latest
77
+ strategy:
78
+ matrix:
79
+ ruby-version: [2.5, 2.7]
80
+ steps:
81
+ - name: Cancel any previous run(s) on new commit push
82
+ uses: styfle/cancel-workflow-action@0.8.0
83
+ with:
84
+ access_token: ${{ secrets.GITHUB_TOKEN }}
85
+ - uses: actions/checkout@v2
86
+ - name: Set up ffmpeg
87
+ uses: FedericoCarboni/setup-ffmpeg@v1
88
+ with:
89
+ token: ${{ secrets.GITHUB_TOKEN }}
90
+ id: setup-ffmpeg
91
+ - name: Set up Ruby
92
+ uses: ruby/setup-ruby@v1
93
+ with:
94
+ ruby-version: ${{ matrix.ruby-version }}
95
+ bundler-cache: true
96
+ - name: Run tests
97
+ run: bundle exec rake spec
data/.gitignore CHANGED
@@ -1,100 +1,100 @@
1
- Gemfile.lock # Part of best practice
2
-
3
- # Created by https://www.gitignore.io/api/rubymine+all
4
-
5
- ### RubyMine+all ###
6
- # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm
7
- # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
8
-
9
- /.bundle/
10
- /.yardoc
11
- /_yardoc/
12
- /coverage/
13
- /doc/
14
- /pkg/
15
- /spec/reports/
16
- /tmp/
17
- /webdrivers_bin
18
- *.log
19
- *.mkv
20
- *.mp4
21
- *.avi
22
- *.gif
23
-
24
- Gemfile.lock
25
-
26
- # rspec failure tracking
27
- .rspec_status
28
-
29
- # Generated files
30
- .idea/**/contentModel.xml
31
-
32
- # Sensitive or high-churn files
33
- .idea/**/dataSources/
34
- .idea/**/dataSources.ids
35
- .idea/**/dataSources.local.xml
36
- .idea/**/sqlDataSources.xml
37
- .idea/**/dynamic.xml
38
- .idea/**/uiDesigner.xml
39
- .idea/**/dbnavigator.xml
40
-
41
- # Gradle
42
- .idea/**/gradle.xml
43
- .idea/**/libraries
44
-
45
- # Gradle and Maven with auto-import
46
- # When using Gradle or Maven with auto-import, you should exclude module files,
47
- # since they will be recreated, and may cause churn. Uncomment if using
48
- # auto-import.
49
- # .idea/modules.xml
50
- # .idea/*.iml
51
- # .idea/modules
52
-
53
- # CMake
54
- cmake-build-*/
55
-
56
- # Mongo Explorer plugin
57
- .idea/**/mongoSettings.xml
58
-
59
- # File-based project format
60
- *.iws
61
-
62
- # IntelliJ
63
- out/
64
-
65
- # mpeltonen/sbt-idea plugin
66
- .idea_modules/
67
-
68
- # JIRA plugin
69
- atlassian-ide-plugin.xml
70
-
71
- # Cursive Clojure plugin
72
- .idea/replstate.xml
73
-
74
- # Crashlytics plugin (for Android Studio and IntelliJ)
75
- com_crashlytics_export_strings.xml
76
- crashlytics.properties
77
- crashlytics-build.properties
78
- fabric.properties
79
-
80
- # Editor-based Rest Client
81
- .idea/httpRequests
82
-
83
- # Android studio 3.1+ serialized cache file
84
- .idea/caches/build_file_checksums.ser
85
-
86
- ### RubyMine+all Patch ###
87
- # Ignores the whole .idea folder and all .iml files
88
- # See https://github.com/joeblau/gitignore.io/issues/186 and https://github.com/joeblau/gitignore.io/issues/360
89
-
90
- .idea/
91
-
92
- # Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-249601023
93
-
94
- *.iml
95
- modules.xml
96
- *.ipr
97
-
98
- .DS_Store # On mac
99
-
1
+ Gemfile.lock # Part of best practice
2
+
3
+ # Created by https://www.gitignore.io/api/rubymine+all
4
+
5
+ ### RubyMine+all ###
6
+ # Covers JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion, Android Studio and WebStorm
7
+ # Reference: https://intellij-support.jetbrains.com/hc/en-us/articles/206544839
8
+
9
+ /.bundle/
10
+ /.yardoc
11
+ /_yardoc/
12
+ /coverage/
13
+ /doc/
14
+ /pkg/
15
+ /spec/reports/
16
+ /tmp/
17
+ /webdrivers_bin
18
+ *.log
19
+ *.mkv
20
+ *.mp4
21
+ *.avi
22
+ *.gif
23
+
24
+ Gemfile.lock
25
+
26
+ # rspec failure tracking
27
+ .rspec_status
28
+
29
+ # Generated files
30
+ .idea/**/contentModel.xml
31
+
32
+ # Sensitive or high-churn files
33
+ .idea/**/dataSources/
34
+ .idea/**/dataSources.ids
35
+ .idea/**/dataSources.local.xml
36
+ .idea/**/sqlDataSources.xml
37
+ .idea/**/dynamic.xml
38
+ .idea/**/uiDesigner.xml
39
+ .idea/**/dbnavigator.xml
40
+
41
+ # Gradle
42
+ .idea/**/gradle.xml
43
+ .idea/**/libraries
44
+
45
+ # Gradle and Maven with auto-import
46
+ # When using Gradle or Maven with auto-import, you should exclude module files,
47
+ # since they will be recreated, and may cause churn. Uncomment if using
48
+ # auto-import.
49
+ # .idea/modules.xml
50
+ # .idea/*.iml
51
+ # .idea/modules
52
+
53
+ # CMake
54
+ cmake-build-*/
55
+
56
+ # Mongo Explorer plugin
57
+ .idea/**/mongoSettings.xml
58
+
59
+ # File-based project format
60
+ *.iws
61
+
62
+ # IntelliJ
63
+ out/
64
+
65
+ # mpeltonen/sbt-idea plugin
66
+ .idea_modules/
67
+
68
+ # JIRA plugin
69
+ atlassian-ide-plugin.xml
70
+
71
+ # Cursive Clojure plugin
72
+ .idea/replstate.xml
73
+
74
+ # Crashlytics plugin (for Android Studio and IntelliJ)
75
+ com_crashlytics_export_strings.xml
76
+ crashlytics.properties
77
+ crashlytics-build.properties
78
+ fabric.properties
79
+
80
+ # Editor-based Rest Client
81
+ .idea/httpRequests
82
+
83
+ # Android studio 3.1+ serialized cache file
84
+ .idea/caches/build_file_checksums.ser
85
+
86
+ ### RubyMine+all Patch ###
87
+ # Ignores the whole .idea folder and all .iml files
88
+ # See https://github.com/joeblau/gitignore.io/issues/186 and https://github.com/joeblau/gitignore.io/issues/360
89
+
90
+ .idea/
91
+
92
+ # Reason: https://github.com/joeblau/gitignore.io/issues/186#issuecomment-249601023
93
+
94
+ *.iml
95
+ modules.xml
96
+ *.ipr
97
+
98
+ .DS_Store # On mac
99
+
100
100
  # End of https://www.gitignore.io/api/rubymine+all
data/.rspec CHANGED
@@ -1,3 +1,3 @@
1
- --format documentation
2
- --color
3
- --require spec_helper
1
+ --format progress
2
+ --color
3
+ --require spec_helper
data/.rubocop.yml CHANGED
@@ -6,7 +6,8 @@ AllCops:
6
6
  DisplayCopNames: true
7
7
  DisplayStyleGuide: true
8
8
  ExtraDetails: false
9
- TargetRubyVersion: 2.4
9
+ TargetRubyVersion: 2.5
10
+ NewCops: enable
10
11
 
11
12
  Gemspec/RequiredRubyVersion:
12
13
  Enabled: false
@@ -17,24 +18,45 @@ Layout/EndOfLine:
17
18
  Layout/MultilineMethodCallIndentation:
18
19
  EnforcedStyle: indented_relative_to_receiver
19
20
 
20
- Layout/AlignArray:
21
+ Layout/ArrayAlignment:
21
22
  Enabled: true
22
23
 
23
- Layout/AlignHash:
24
+ Layout/HashAlignment:
24
25
  Enabled: true
25
26
  EnforcedHashRocketStyle: key
26
27
  EnforcedColonStyle: table
27
28
 
28
- Layout/AlignParameters:
29
+ Layout/ParameterAlignment:
29
30
  Enabled: true
30
31
  EnforcedStyle: with_first_parameter
31
32
 
32
- Layout/IndentFirstHashElement:
33
+ Layout/FirstHashElementIndentation:
33
34
  Enabled: true
34
35
 
35
- Metrics/LineLength:
36
+ Layout/TrailingEmptyLines:
37
+ Enabled: false
38
+
39
+ Layout/LineLength:
36
40
  Max: 120
37
41
 
42
+ Layout/EmptyLinesAroundAttributeAccessor:
43
+ Enabled: true
44
+
45
+ Layout/SpaceAroundOperators:
46
+ Enabled: true
47
+
48
+ Layout/SpaceAroundMethodCallOperator:
49
+ Enabled: true
50
+
51
+ Lint/DeprecatedOpenSSLConstant:
52
+ Enabled: true
53
+
54
+ Lint/RaiseException:
55
+ Enabled: true
56
+
57
+ Lint/StructNewOverride:
58
+ Enabled: true
59
+
38
60
  Metrics/MethodLength:
39
61
  Max: 20
40
62
 
@@ -71,5 +93,17 @@ Style/CommentedKeyword:
71
93
  Style/FrozenStringLiteralComment:
72
94
  Enabled: false
73
95
 
74
- TrailingBlankLines:
96
+ Style/ExponentialNotation:
97
+ Enabled: false
98
+
99
+ Style/HashEachMethods:
100
+ Enabled: true
101
+
102
+ Style/HashTransformKeys:
103
+ Enabled: false
104
+
105
+ Style/HashTransformValues:
106
+ Enabled: false
107
+
108
+ Style/SlicingWithRange:
75
109
  Enabled: false
data/CHANGELOG.md CHANGED
@@ -2,9 +2,28 @@
2
2
 
3
3
  This project adheres to [Semantic Versioning](https://semver.org/).
4
4
 
5
+ ### 1.6.0 (2021-08-22)
6
+ * Match "childprocess" gem version to `selenium-webdriver`. Closes [#99](https://github.com/kapoorlakshya/screen-recorder/issues/99).
7
+ * Add support for screenshot resolution. Closes [#98](https://github.com/kapoorlakshya/screen-recorder/issues/98).
8
+
9
+ ### 1.5.0 (2021-03-23)
10
+ * Relax "os" gem version to minor level ([#97](https://github.com/kapoorlakshya/screen-recorder/pull/97)). Thanks, [hlascelles](https://github.com/hlascelles)!
11
+
12
+ ### 1.4.0 (2020-01-27)
13
+ * Users can now select a ffmpeg [capture device](https://ffmpeg.org/ffmpeg-devices.html) from advanced -> input.
14
+ * Fix a bug where some advanced parameters were not parsed correctly.
15
+ * Add support for audio stream capture ([#15](https://github.com/kapoorlakshya/screen-recorder/issues/15))
16
+ * Fix [#84](https://github.com/kapoorlakshya/screen-recorder/issues/84) where the user given ffmpeg binary path was never used.
17
+ * Relax childprocess gem version requirement to roughly match requirements in `selenium-webdriver` gem ([#85](https://github.com/kapoorlakshya/screen-recorder/issues/85))
18
+ * Add support for capturing screenshots in both desktop and window modes ([#44](https://github.com/kapoorlakshya/screen-recorder/issues/44)).
19
+
20
+ ### 1.3.1 (2019-10-20)
21
+ * Reattempt `ffprobe` execution up to times if the first try raises `Errno::EAGAIN`.
22
+ Hopefully fixes [#79](https://github.com/kapoorlakshya/screen-recorder/issues/79).
23
+
5
24
  ### 1.3.0 (2019-07-26)
6
25
  * Support JRuby 9.2+ ([#58](https://github.com/kapoorlakshya/screen-recorder/issues/58))
7
- * Add `ScreenRecorder::Window.fetch_title` as an alias for `ScreenRecorder::Titles.fetch`.
26
+ * Add `ScreenRecorder::` as an alias for `ScreenRecorder::Window.fetch_title`.
8
27
  The `Titles` class will be removed in version 2.0.
9
28
 
10
29
  ### 1.2.0 (2019-05-12)
data/LICENSE.txt CHANGED
@@ -1,21 +1,21 @@
1
- The MIT License (MIT)
2
-
3
- Copyright (c) 2018 Lakshya Kapoor
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in
13
- all copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
- THE SOFTWARE.
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2018 Lakshya Kapoor
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.