activevlc 0.0.1 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -9,7 +9,7 @@
9
9
  ##
10
10
  ## Copyright (C) 2013 Lta Akr
11
11
 
12
- ActiveVlc::Pipeline.for 'input.mp4' do
12
+ ActiveVlc::pipe_for 'input.mp4' do
13
13
  transcode do
14
14
  audio :aac
15
15
  video :h264
@@ -0,0 +1,34 @@
1
+
2
+ require 'spec_helper'
3
+
4
+ describe ActiveVlc::Runner do
5
+ it 'can be created' do
6
+ pipe = ActiveVlc.parse('spec/pipes/no_input.rb')
7
+ runner = ActiveVlc::Runner.new(pipe, "--play-and-exit")
8
+ runner.should be_a_kind_of(ActiveVlc::Runner)
9
+ end
10
+
11
+ it 'can be ran' do
12
+ out = "output.ogg"
13
+ pipe = ActiveVlc.parse('spec/pipes/no_input.rb')
14
+ runner = ActiveVlc::Runner.new(pipe)
15
+ pipe.input << 'spec/samples/click.wav'
16
+
17
+ `rm -f #{out}`
18
+ runner.run
19
+ File.exist?(out).should be_true
20
+ `rm -f #{out}`
21
+ end
22
+
23
+ it 'can be ran in a separate process' do
24
+ out = "output.ogg"
25
+ pipe = ActiveVlc.parse('spec/pipes/no_input.rb')
26
+ runner = ActiveVlc::Runner.new(pipe)
27
+ pipe.input << 'spec/samples/click.wav'
28
+
29
+ `rm -f #{out}`
30
+ runner.run
31
+ File.exist?(out).should be_true
32
+ `rm -f #{out}`
33
+ end
34
+ end
Binary file
data/spec/spec_helper.rb CHANGED
@@ -9,29 +9,42 @@
9
9
  ##
10
10
  ## Copyright (C) 2013 Lta Akr
11
11
 
12
- require 'simplecov'
13
- SimpleCov.start do
14
- add_filter '/spec/'
12
+ unless ENV['NO_COVERAGE']
13
+ require 'simplecov'
14
+ SimpleCov.start do
15
+ add_filter '/spec/'
15
16
 
16
- add_group "Stages", '/stage/'
17
- add_group "DSL", '/dsl/'
17
+ add_group "Stages", '/stage/'
18
+ add_group "DSL", '/dsl/'
19
+ add_group "LibVlc", '/libvlc/'
20
+ end
18
21
  end
19
22
 
20
23
  require 'activevlc'
21
24
 
22
25
  RSpec.configure do |config|
23
- # ## Mock Framework
26
+ config.order_groups do |groups|
27
+ groups.shuffle!
28
+ runner = groups.index { |g| g.described_class == ActiveVlc::Runner }
29
+ if runner
30
+ runner = groups.delete_at runner
31
+ groups.unshift runner
32
+ end
33
+ groups
34
+ end
24
35
  #
25
- # If you prefer to use mocha, flexmock or RR, uncomment the appropriate line:
36
+ # We force the run order of the specs to ensure runner_specs get executed first.
37
+ # This is important because libvlc seems to creates some internal state that
38
+ # leads to a deadlock when executed last
26
39
  #
27
- # config.mock_with :mocha
28
- # config.mock_with :flexmock
29
- # config.mock_with :rr
40
+ # files = config.instance_variable_get(:@files_to_run)
41
+ # puts files
42
+ # files.delete ''
30
43
 
31
44
  # Run specs in random order to surface order dependencies. If you find an
32
45
  # order dependency and want to debug it, you can fix the order by providing
33
46
  # the seed, which is printed after each run.
34
47
  # --seed 1234
35
- config.order = "random"
48
+ #config.order = "random"
36
49
  end
37
50
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activevlc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Julien 'Lta' BALLET
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-09-10 00:00:00.000000000 Z
11
+ date: 2013-09-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - ~>
32
32
  - !ruby/object:Gem::Version
33
- version: '2.6'
33
+ version: '2.14'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ~>
39
39
  - !ruby/object:Gem::Version
40
- version: '2.6'
40
+ version: '2.14'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: simplecov
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -67,13 +67,13 @@ dependencies:
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: debugger
70
+ name: thor
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - '>='
74
74
  - !ruby/object:Gem::Version
75
75
  version: '0'
76
- type: :development
76
+ type: :runtime
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
@@ -81,7 +81,7 @@ dependencies:
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: thor
84
+ name: activesupport
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - '>='
@@ -95,7 +95,7 @@ dependencies:
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
97
  - !ruby/object:Gem::Dependency
98
- name: activesupport
98
+ name: ffi
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - '>='
@@ -119,6 +119,7 @@ extra_rdoc_files: []
119
119
  files:
120
120
  - .gitignore
121
121
  - .rspec
122
+ - .travis.yml
122
123
  - Gemfile
123
124
  - LICENSE.txt
124
125
  - README.md
@@ -126,7 +127,11 @@ files:
126
127
  - TODO.md
127
128
  - activevlc.gemspec
128
129
  - bin/activevlc
129
- - examples/design.rb
130
+ - examples/basic.rb
131
+ - examples/duplicate.rb
132
+ - examples/duplicate_then_transcode.rb
133
+ - examples/transcode_and_display.rb
134
+ - examples/transcode_and_display_with_options.rb
130
135
  - lib/activevlc.rb
131
136
  - lib/activevlc/cli.rb
132
137
  - lib/activevlc/cli/vlc.rb
@@ -136,8 +141,17 @@ files:
136
141
  - lib/activevlc/dsl/pipeline.rb
137
142
  - lib/activevlc/dsl/stream.rb
138
143
  - lib/activevlc/dsl/transcode.rb
144
+ - lib/activevlc/libvlc.rb
145
+ - lib/activevlc/libvlc/api.rb
146
+ - lib/activevlc/libvlc/event_manager.rb
147
+ - lib/activevlc/libvlc/instance.rb
148
+ - lib/activevlc/libvlc/media.rb
149
+ - lib/activevlc/libvlc/media_list.rb
150
+ - lib/activevlc/libvlc/media_list_player.rb
151
+ - lib/activevlc/libvlc/media_player.rb
139
152
  - lib/activevlc/pipeline.rb
140
153
  - lib/activevlc/pipeline_dump.rb
154
+ - lib/activevlc/runner.rb
141
155
  - lib/activevlc/stage.rb
142
156
  - lib/activevlc/stage/base.rb
143
157
  - lib/activevlc/stage/chain.rb
@@ -146,16 +160,22 @@ files:
146
160
  - lib/activevlc/stage/input.rb
147
161
  - lib/activevlc/stage/stream.rb
148
162
  - lib/activevlc/stage/transcode.rb
163
+ - lib/activevlc/syntactic_sugar.rb
149
164
  - lib/activevlc/version.rb
150
165
  - spec/basic_pipe_spec.rb
151
166
  - spec/basic_spec.rb
167
+ - spec/event_manager_spec.rb
168
+ - spec/libvlc_spec.rb
152
169
  - spec/pipeline_dump_spec.rb
153
170
  - spec/pipeline_spec.rb
154
171
  - spec/pipes/basic.rb
155
172
  - spec/pipes/duplicate.rb
156
173
  - spec/pipes/duplicate_then_transcode.rb
174
+ - spec/pipes/no_input.rb
157
175
  - spec/pipes/transcode_and_display.rb
158
176
  - spec/pipes/transcode_and_display_with_options.rb
177
+ - spec/runner_spec.rb
178
+ - spec/samples/click.wav
159
179
  - spec/spec_helper.rb
160
180
  - spec/stage_spec.rb
161
181
  homepage: http://github.com/elthariel/activevlc
@@ -185,12 +205,17 @@ summary: DSL for building VLC pipelines
185
205
  test_files:
186
206
  - spec/basic_pipe_spec.rb
187
207
  - spec/basic_spec.rb
208
+ - spec/event_manager_spec.rb
209
+ - spec/libvlc_spec.rb
188
210
  - spec/pipeline_dump_spec.rb
189
211
  - spec/pipeline_spec.rb
190
212
  - spec/pipes/basic.rb
191
213
  - spec/pipes/duplicate.rb
192
214
  - spec/pipes/duplicate_then_transcode.rb
215
+ - spec/pipes/no_input.rb
193
216
  - spec/pipes/transcode_and_display.rb
194
217
  - spec/pipes/transcode_and_display_with_options.rb
218
+ - spec/runner_spec.rb
219
+ - spec/samples/click.wav
195
220
  - spec/spec_helper.rb
196
221
  - spec/stage_spec.rb
data/examples/design.rb DELETED
@@ -1,84 +0,0 @@
1
- ##
2
- ## design.rb
3
- ## Login : <lta@still>
4
- ## Started on Wed Jun 12 01:18:11 2013 Lta Akr
5
- ##
6
- ## Author(s):
7
- ## - Julien 'Lta' BALLET <contact@lta.io>
8
- ##
9
- ## Copyright (C) 2013 Julien 'Lta' BALLET
10
-
11
- # This example isn't supposed to work yet. It justs document what it's
12
- # supposed to look like when it's ready
13
-
14
- pipe_for 'file.mp4' do |pipe|
15
- transcode do
16
- audio do
17
- codec :aac do
18
- rc_method :vbr
19
- psy_model :test1
20
- end
21
- bitrate 256
22
- end
23
- video :h264 do
24
- encoder :qsv
25
- async_depth 6
26
- h264_level '5.1'
27
- end
28
- end
29
- deinterlace
30
-
31
- duplicate do
32
- to :dst do
33
- caching 300
34
- muxer 'mp4'
35
- path '/tmp/test.mp4'
36
- end
37
- to :rtp do
38
- caching 1500
39
- muxer :ts
40
- dst '192.168.0.1:4567'
41
- end
42
- to_display
43
- end
44
- end
45
-
46
-
47
-
48
- #
49
- # Kind of memory representation of the next pipeline
50
- # Pipeline
51
- # @stages =
52
- # - Stage (@type = :transcode)
53
- # @options = {
54
- # acodec = {
55
- # _this_: :aac,
56
- # opt1: 'test',
57
- # opt1: 'test',
58
- # }
59
- # }
60
- # - DuplicateStage (@type = :duplicate)
61
- # @substages =
62
- # - Stage (@type = :standard)
63
- # @options = {
64
- # mux: 'mp4'
65
- # dst: 'output.mp4'
66
- # }
67
- #
68
- ActiveVlc::pipe_for 'input.mp4' do
69
- transcode do
70
- audio :aac do
71
- opt1 'test'
72
- opt2 'caca'
73
- opt3 42
74
- end
75
- video :h264
76
- end
77
- duplicate do
78
- to :file do
79
- mux :mp4
80
- dst 'output.mp4'
81
- end
82
- to :display
83
- end
84
- end