gstreamer 3.0.9 → 3.1.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
  SHA1:
3
- metadata.gz: 2c72b1d627a8ae2bcb50ffa03fa0afe6afe3016a
4
- data.tar.gz: cb709cf96cb52645f9123f3bedb62299b916e3e6
3
+ metadata.gz: 151b10b111c605598f1d465258a735eaa6ef651f
4
+ data.tar.gz: e3bb7ce44c3e9affa17b20eb642313d37c2a1295
5
5
  SHA512:
6
- metadata.gz: d873a761c1c9c541f00bf46b5673712665a4900383c3c4e3fa09f715741679433d9d6650e44e518466524aac0a97737f4c9a3ec8d7904e04ee08336b3db03f2a
7
- data.tar.gz: 5481014a9704471230aadd1c782f6e4e543346fc8da430c9e49c99870f21062475eca4bc2b4db94c05e6813e04a6b244f63c71c6ca7173a9448380c20511d89f
6
+ metadata.gz: bbeb7f0084038fa623c9225398320dbdec5d6b885ca82673e170f0c3e734d79bd1ef1f6304e0db477b17de090114da861399301e8b4584348b84ebbab6bb70f7
7
+ data.tar.gz: dc3f68254c0d9e1e994d1513c55e752383b28c489a5b8905b5561f82f5b37c3ad2da5aba5e3421127599195c7b9788fe5a0c58e3891893d44e3849e2ae56f5e9
data/Rakefile CHANGED
@@ -58,7 +58,7 @@ package_task = GNOME2::Rake::PackageTask.new do |package|
58
58
  :name => "libsoup",
59
59
  :download_site => :gnome,
60
60
  :label => "libsoup",
61
- :version => "2.54.1",
61
+ :version => "2.56.0",
62
62
  :compression_method => "xz",
63
63
  :windows => {
64
64
  :configure_args => [
@@ -144,7 +144,7 @@ package_task = GNOME2::Rake::PackageTask.new do |package|
144
144
  :name => "gstreamer",
145
145
  :download_site => :freedesktop_gstreamer,
146
146
  :label => "GStreamer",
147
- :version => "1.8.2",
147
+ :version => "1.10.0",
148
148
  :compression_method => "xz",
149
149
  :windows => {
150
150
  :cc_args => "-std=gnu99",
@@ -164,7 +164,7 @@ package_task = GNOME2::Rake::PackageTask.new do |package|
164
164
  :name => "gst-plugins-base",
165
165
  :download_site => :freedesktop_gstreamer,
166
166
  :label => "GStreamer plugins (base)",
167
- :version => "1.8.2",
167
+ :version => "1.10.0",
168
168
  :compression_method => "xz",
169
169
  :windows => {
170
170
  :configure_args => [
@@ -185,7 +185,7 @@ package_task = GNOME2::Rake::PackageTask.new do |package|
185
185
  :name => "gst-plugins-good",
186
186
  :download_site => :freedesktop_gstreamer,
187
187
  :label => "GStreamer plugins (good)",
188
- :version => "1.8.2",
188
+ :version => "1.10.0",
189
189
  :compression_method => "xz",
190
190
  :windows => {
191
191
  :configure_args => [
@@ -199,7 +199,7 @@ package_task = GNOME2::Rake::PackageTask.new do |package|
199
199
  :name => "gst-plugins-bad",
200
200
  :download_site => :freedesktop_gstreamer,
201
201
  :label => "GStreamer plugins (bad)",
202
- :version => "1.8.2",
202
+ :version => "1.10.0",
203
203
  :compression_method => "xz",
204
204
  :windows => {
205
205
  :configure_args => ["--disable-librfb"],
@@ -229,7 +229,7 @@ package_task = GNOME2::Rake::PackageTask.new do |package|
229
229
  :name => "gst-libav",
230
230
  :download_site => :freedesktop_gstreamer,
231
231
  :label => "GStreamer libav",
232
- :version => "1.8.2",
232
+ :version => "1.10.0",
233
233
  :compression_method => "xz",
234
234
  :windows => {
235
235
  :configure_args => [
data/lib/gst.rb CHANGED
@@ -62,16 +62,6 @@ module Gst
62
62
  end
63
63
  loader = Loader.new(self, argv)
64
64
  loader.load
65
- require "gst/bin"
66
- require "gst/bus"
67
- require "gst/caps"
68
- require "gst/element"
69
- require "gst/element-factory"
70
- require "gst/plugin-feature"
71
- require "gst/registry"
72
- require "gst/structure"
73
- require "gst/type-find-factory"
74
- require "gst/version"
75
65
  init_base
76
66
  init_controller
77
67
  end
@@ -113,7 +103,7 @@ module Gst
113
103
  arguments = [
114
104
  [$0] + @init_arguments,
115
105
  ]
116
- succeeded, argv, error = init_check.invoke(:arguments => arguments)
106
+ succeeded, argv, error = init_check.invoke(arguments)
117
107
  @init_arguments.replace(argv[1..-1])
118
108
  raise error unless succeeded
119
109
  end
@@ -127,6 +117,7 @@ module Gst
127
117
 
128
118
  def post_load(repository, namespace)
129
119
  require_extension
120
+ require_libraries
130
121
  self.class.start_callback_dispatch_thread
131
122
  end
132
123
 
@@ -139,10 +130,17 @@ module Gst
139
130
  end
140
131
  end
141
132
 
142
- def initialize_post(object)
143
- super
144
- return unless object.is_a?(GLib::Object)
145
- self.class.reference_gobject(object, :sink => true)
133
+ def require_libraries
134
+ require "gst/bin"
135
+ require "gst/bus"
136
+ require "gst/caps"
137
+ require "gst/element"
138
+ require "gst/element-factory"
139
+ require "gst/plugin-feature"
140
+ require "gst/registry"
141
+ require "gst/structure"
142
+ require "gst/type-find-factory"
143
+ require "gst/version"
146
144
  end
147
145
 
148
146
  def load_function_info(info)
data/lib/gst/bin.rb CHANGED
@@ -16,6 +16,8 @@
16
16
 
17
17
  module Gst
18
18
  class Bin
19
+ include Enumerable
20
+
19
21
  alias_method :add_element, :add
20
22
  def add_elements(*elements)
21
23
  elements.each do |element|
@@ -28,5 +30,37 @@ module Gst
28
30
  add_element(element)
29
31
  self
30
32
  end
33
+
34
+ def each(options={})
35
+ return to_enum(:each, options) unless block_given?
36
+
37
+ if options[:recurse]
38
+ iterator = iterate_recurse
39
+ elsif options[:sink]
40
+ iterator = iterate_sinks
41
+ elsif options[:sorted]
42
+ iterator = iterate_sorted
43
+ elsif options[:sources]
44
+ iterator = iterate_sources
45
+ elsif options[:interface]
46
+ iterator = iterate_all_by_interface(options[:interface])
47
+ else
48
+ iterator = iterate_elements
49
+ end
50
+
51
+ loop do
52
+ result, element = iterator.next
53
+ case result
54
+ when IteratorResult::DONE
55
+ break
56
+ when IteratorResult::OK
57
+ yield(element.value)
58
+ when IteratorResult::RESYNC
59
+ iterator.resync
60
+ when IteratorResult::ERROR
61
+ raise "failed to iterate"
62
+ end
63
+ end
64
+ end
31
65
  end
32
66
  end
@@ -13,7 +13,7 @@
13
13
  # licensed under the terms of the GNU Library General Public License,
14
14
  # version 2 or (at your option) later.
15
15
  #
16
- # Copyright (C) 2013 Ruby-GNOME2 Project Team
16
+ # Copyright (C) 2013-2016 Ruby-GNOME2 Project Team
17
17
  #
18
18
  # This library is free software; you can redistribute it and/or
19
19
  # modify it under the terms of the GNU Lesser General Public
@@ -32,7 +32,7 @@
32
32
  require "gst"
33
33
 
34
34
  bin = Gst::Pipeline.new("pipeline")
35
- clock = bin.clock
35
+ clock = bin.pipeline_clock
36
36
  src = Gst::ElementFactory.make("videotestsrc", nil)
37
37
  raise "need videotestsrc from gst-plugins-base" if src.nil?
38
38
  src.pattern = 10 # checkers-8
@@ -15,3 +15,13 @@
15
15
  # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
16
 
17
17
  require "test-unit"
18
+
19
+ module GStreamerTestUtils
20
+ private
21
+ def only_gstreamer_version(major, minor, micro=nil)
22
+ micro ||= 0
23
+ unless Gst::Version.or_later?(major, minor, micro)
24
+ omit("Require GStreamer >= #{major}.#{minor}.#{micro}")
25
+ end
26
+ end
27
+ end
data/test/test-bin.rb ADDED
@@ -0,0 +1,47 @@
1
+ # Copyright (C) 2016 Ruby-GNOME2 Project Team
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License as published by the Free Software Foundation; either
6
+ # version 2.1 of the License, or (at your option) any later version.
7
+ #
8
+ # This library is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
+ # Lesser General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU Lesser General Public
14
+ # License along with this library; if not, write to the Free Software
15
+ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
16
+
17
+ class TestBin < Test::Unit::TestCase
18
+ class TestEach < self
19
+ def setup
20
+ @pipeline = Gst::Pipeline.new("my-pipeline")
21
+ @source = Gst::ElementFactory.make("fakesrc", "source")
22
+ @filter = Gst::ElementFactory.make("identity", "filter")
23
+ @sink = Gst::ElementFactory.make("fakesink", "sink")
24
+ @pipeline.add_elements(@source, @filter, @sink)
25
+ @source.link(@filter, @sink)
26
+ end
27
+
28
+ def test_elements
29
+ assert_equal(sort_elements([@source, @filter, @sink]),
30
+ sort_elements(@pipeline.each.to_a))
31
+ end
32
+
33
+ def test_sorted
34
+ unless Gst::Version.or_later?(1, 9, 3)
35
+ omit("Crash because gst_bin_sort_iterator_copy() doesn't copy " +
36
+ "GstBinSortIterator::queue")
37
+ end
38
+ assert_equal([@sink, @filter, @source],
39
+ @pipeline.each(:sorted => true).to_a)
40
+ end
41
+
42
+ private
43
+ def sort_elements(elements)
44
+ elements.sort_by {|element| element.class.gtype.name}
45
+ end
46
+ end
47
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gstreamer
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.9
4
+ version: 3.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - The Ruby-GNOME2 Project Team
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-08-12 00:00:00.000000000 Z
11
+ date: 2016-11-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: glib2
@@ -16,28 +16,28 @@ dependencies:
16
16
  requirements:
17
17
  - - '='
18
18
  - !ruby/object:Gem::Version
19
- version: 3.0.9
19
+ version: 3.1.0
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
- version: 3.0.9
26
+ version: 3.1.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: gobject-introspection
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - '='
32
32
  - !ruby/object:Gem::Version
33
- version: 3.0.9
33
+ version: 3.1.0
34
34
  type: :runtime
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: 3.0.9
40
+ version: 3.1.0
41
41
  description: Ruby/GStreamer is a Ruby binding for GStreamer.
42
42
  email: ruby-gnome2-devel-en@lists.sourceforge.net
43
43
  executables: []
@@ -78,6 +78,7 @@ files:
78
78
  - sample/typefind.rb
79
79
  - test/gstreamer-test-utils.rb
80
80
  - test/run-test.rb
81
+ - test/test-bin.rb
81
82
  - test/test-caps.rb
82
83
  - test/test-child-proxy.rb
83
84
  - test/test-element-factory.rb