gstreamer 3.0.9 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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