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 +4 -4
- data/Rakefile +6 -6
- data/lib/gst.rb +13 -15
- data/lib/gst/bin.rb +34 -0
- data/sample/text-color-example.rb +2 -2
- data/test/gstreamer-test-utils.rb +10 -0
- data/test/test-bin.rb +47 -0
- metadata +7 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 151b10b111c605598f1d465258a735eaa6ef651f
|
4
|
+
data.tar.gz: e3bb7ce44c3e9affa17b20eb642313d37c2a1295
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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.
|
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.
|
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.
|
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.
|
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.
|
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.
|
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(
|
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
|
143
|
-
|
144
|
-
|
145
|
-
|
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.
|
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
|
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-
|
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
|
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
|
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
|
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
|
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
|