gstreamer 0.90.6
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.
- data/ChangeLog +1157 -0
- data/README +33 -0
- data/Rakefile +15 -0
- data/ext/gstreamer/Makefile +162 -0
- data/ext/gstreamer/depend +5 -0
- data/ext/gstreamer/extconf.rb +63 -0
- data/ext/gstreamer/gst.so +0 -0
- data/ext/gstreamer/misc.c +62 -0
- data/ext/gstreamer/misc.o +0 -0
- data/ext/gstreamer/rbgst-bin.c +466 -0
- data/ext/gstreamer/rbgst-bin.o +0 -0
- data/ext/gstreamer/rbgst-buffer.c +365 -0
- data/ext/gstreamer/rbgst-buffer.o +0 -0
- data/ext/gstreamer/rbgst-bus.c +92 -0
- data/ext/gstreamer/rbgst-bus.o +0 -0
- data/ext/gstreamer/rbgst-caps.c +441 -0
- data/ext/gstreamer/rbgst-caps.o +0 -0
- data/ext/gstreamer/rbgst-child-proxy.c +33 -0
- data/ext/gstreamer/rbgst-child-proxy.o +0 -0
- data/ext/gstreamer/rbgst-clock.c +108 -0
- data/ext/gstreamer/rbgst-clock.o +0 -0
- data/ext/gstreamer/rbgst-element-factory.c +255 -0
- data/ext/gstreamer/rbgst-element-factory.o +0 -0
- data/ext/gstreamer/rbgst-element.c +1053 -0
- data/ext/gstreamer/rbgst-element.o +0 -0
- data/ext/gstreamer/rbgst-event.c +351 -0
- data/ext/gstreamer/rbgst-event.o +0 -0
- data/ext/gstreamer/rbgst-ghost-pad.c +42 -0
- data/ext/gstreamer/rbgst-ghost-pad.o +0 -0
- data/ext/gstreamer/rbgst-index-factory.c +67 -0
- data/ext/gstreamer/rbgst-index-factory.o +0 -0
- data/ext/gstreamer/rbgst-message.c +784 -0
- data/ext/gstreamer/rbgst-message.o +0 -0
- data/ext/gstreamer/rbgst-mini-object.c +220 -0
- data/ext/gstreamer/rbgst-mini-object.o +0 -0
- data/ext/gstreamer/rbgst-object.c +81 -0
- data/ext/gstreamer/rbgst-object.o +0 -0
- data/ext/gstreamer/rbgst-pad-template.c +124 -0
- data/ext/gstreamer/rbgst-pad-template.o +0 -0
- data/ext/gstreamer/rbgst-pad.c +338 -0
- data/ext/gstreamer/rbgst-pad.o +0 -0
- data/ext/gstreamer/rbgst-pipeline.c +90 -0
- data/ext/gstreamer/rbgst-pipeline.o +0 -0
- data/ext/gstreamer/rbgst-plugin-feature.c +134 -0
- data/ext/gstreamer/rbgst-plugin-feature.o +0 -0
- data/ext/gstreamer/rbgst-plugin.c +164 -0
- data/ext/gstreamer/rbgst-plugin.o +0 -0
- data/ext/gstreamer/rbgst-private.c +89 -0
- data/ext/gstreamer/rbgst-private.h +37 -0
- data/ext/gstreamer/rbgst-private.o +0 -0
- data/ext/gstreamer/rbgst-query.c +289 -0
- data/ext/gstreamer/rbgst-query.o +0 -0
- data/ext/gstreamer/rbgst-seek.c +36 -0
- data/ext/gstreamer/rbgst-seek.o +0 -0
- data/ext/gstreamer/rbgst-static-caps.c +49 -0
- data/ext/gstreamer/rbgst-static-caps.o +0 -0
- data/ext/gstreamer/rbgst-static-pad-template.c +64 -0
- data/ext/gstreamer/rbgst-static-pad-template.o +0 -0
- data/ext/gstreamer/rbgst-structure.c +300 -0
- data/ext/gstreamer/rbgst-structure.o +0 -0
- data/ext/gstreamer/rbgst-system-clock.c +45 -0
- data/ext/gstreamer/rbgst-system-clock.o +0 -0
- data/ext/gstreamer/rbgst-type-find-factory.c +124 -0
- data/ext/gstreamer/rbgst-type-find-factory.o +0 -0
- data/ext/gstreamer/rbgst-value.c +517 -0
- data/ext/gstreamer/rbgst-value.o +0 -0
- data/ext/gstreamer/rbgst-x-overlay.c +132 -0
- data/ext/gstreamer/rbgst-x-overlay.o +0 -0
- data/ext/gstreamer/rbgst.c +279 -0
- data/ext/gstreamer/rbgst.h +197 -0
- data/ext/gstreamer/rbgst.o +0 -0
- data/ext/gstreamer/rbgstclockentry.c +268 -0
- data/ext/gstreamer/rbgstclockentry.o +0 -0
- data/ext/gstreamer/rbgstformat.c +159 -0
- data/ext/gstreamer/rbgstformat.o +0 -0
- data/ext/gstreamer/rbgstindex.c +314 -0
- data/ext/gstreamer/rbgstindex.o +0 -0
- data/ext/gstreamer/rbgstindexentry.c +96 -0
- data/ext/gstreamer/rbgstindexentry.o +0 -0
- data/ext/gstreamer/rbgstparse.c +66 -0
- data/ext/gstreamer/rbgstparse.o +0 -0
- data/ext/gstreamer/rbgstquerytype.c +159 -0
- data/ext/gstreamer/rbgstquerytype.o +0 -0
- data/ext/gstreamer/rbgstregistry.c +278 -0
- data/ext/gstreamer/rbgstregistry.o +0 -0
- data/ext/gstreamer/rbgsttag.c +111 -0
- data/ext/gstreamer/rbgsttag.o +0 -0
- data/ext/gstreamer/rbgsttagsetter.c +50 -0
- data/ext/gstreamer/rbgsttagsetter.o +0 -0
- data/ext/gstreamer/rbgstxml.c +189 -0
- data/ext/gstreamer/rbgstxml.o +0 -0
- data/ext/gstreamer/ruby-gstreamer.pc +3 -0
- data/extconf.rb +49 -0
- data/lib/gst.rb +19 -0
- data/sample/audio-player.rb +54 -0
- data/sample/gst-inspect.rb +417 -0
- data/sample/media-type.rb +55 -0
- data/sample/media-type2.rb +268 -0
- data/sample/ogg-audio-player.rb +54 -0
- data/sample/type-find.rb +46 -0
- data/sample/video-player.rb +57 -0
- data/sample/xml-player.rb +60 -0
- data/test/gst-test-utils.rb +18 -0
- data/test/run-test.rb +25 -0
- data/test/test_bin.rb +167 -0
- data/test/test_buffer.rb +174 -0
- data/test/test_caps.rb +24 -0
- data/test/test_clock.rb +7 -0
- data/test/test_element.rb +87 -0
- data/test/test_element_factory.rb +28 -0
- data/test/test_event.rb +10 -0
- data/test/test_index_factory.rb +7 -0
- data/test/test_message.rb +191 -0
- data/test/test_mini_object.rb +38 -0
- data/test/test_object.rb +10 -0
- data/test/test_pad.rb +68 -0
- data/test/test_plugin.rb +6 -0
- data/test/test_plugin_feature.rb +20 -0
- data/test/test_seek.rb +17 -0
- data/test/test_static_caps.rb +18 -0
- data/test/test_static_pad_template.rb +16 -0
- data/test/test_structure.rb +159 -0
- data/test/test_thread_handling.rb +58 -0
- data/test/test_type_find_factory.rb +8 -0
- data/test/test_value.rb +69 -0
- metadata +208 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
class TestElementFactory < Test::Unit::TestCase
|
|
2
|
+
include GstTestUtils
|
|
3
|
+
|
|
4
|
+
def test_long_name
|
|
5
|
+
assert_equal("Player Bin", play_bin.long_name)
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def test_klass
|
|
9
|
+
assert_equal("Generic/Bin/Player", play_bin.klass)
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
def test_description
|
|
13
|
+
assert_equal("Autoplug and play media from an uri", play_bin.description)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def test_author
|
|
17
|
+
assert_match(/\AWim Taymans <.*?>\z/, play_bin.author)
|
|
18
|
+
end
|
|
19
|
+
|
|
20
|
+
def test_create
|
|
21
|
+
assert_match(/\Aplaybin\d+\z/, play_bin.create.name)
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
private
|
|
25
|
+
def play_bin
|
|
26
|
+
find_element_factory("playbin")
|
|
27
|
+
end
|
|
28
|
+
end
|
data/test/test_event.rb
ADDED
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
class TestMessage < Test::Unit::TestCase
|
|
2
|
+
def test_create_message
|
|
3
|
+
assert_nothing_raised do
|
|
4
|
+
Gst::Message.new(:unknown, nil, nil)
|
|
5
|
+
end
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def test_message_eos
|
|
9
|
+
assert_nothing_raised do
|
|
10
|
+
Gst::MessageEos.new(nil)
|
|
11
|
+
end
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
def test_message_error
|
|
15
|
+
return "FIXME" if true
|
|
16
|
+
error = nil
|
|
17
|
+
debug = "ERROR"
|
|
18
|
+
message = Gst::MessageError.new(nil, error, debug)
|
|
19
|
+
assert_equal([error, debug], message.parse)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def test_message_warning
|
|
23
|
+
return "FIXME" if true
|
|
24
|
+
error = nil
|
|
25
|
+
debug = "WARNING"
|
|
26
|
+
message = Gst::MessageWarning.new(nil, error, debug)
|
|
27
|
+
assert_equal([error, debug], message.parse)
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
def test_message_info
|
|
31
|
+
return "FIXME" if true
|
|
32
|
+
error = nil
|
|
33
|
+
debug = "INFO"
|
|
34
|
+
message = Gst::MessageInfo.new(nil, error, debug)
|
|
35
|
+
assert_equal([error, debug], message.parse)
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
def test_message_tag
|
|
39
|
+
return "FIXME" if true
|
|
40
|
+
tag_list = []
|
|
41
|
+
message = Gst::MessageTag.new(nil, tag_list)
|
|
42
|
+
assert_equal(tag_list, message.parse)
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def test_message_buffering
|
|
46
|
+
percent = 50
|
|
47
|
+
message = Gst::MessageBuffering.new(nil, percent)
|
|
48
|
+
assert_equal(percent, message.parse)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def test_message_state_changed
|
|
52
|
+
old = Gst::STATE_PAUSED
|
|
53
|
+
new = Gst::STATE_PLAYING
|
|
54
|
+
pending = Gst::STATE_VOID_PENDING
|
|
55
|
+
message = Gst::MessageStateChanged.new(nil, :paused, :playing, :void_pending)
|
|
56
|
+
assert_equal([old, new, pending], message.parse)
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
def test_message_state_dirty
|
|
60
|
+
assert_nothing_raised do
|
|
61
|
+
Gst::MessageStateDirty.new(nil)
|
|
62
|
+
end
|
|
63
|
+
end
|
|
64
|
+
|
|
65
|
+
def test_message_clock_provide
|
|
66
|
+
clock = Gst::SystemClock.obtain
|
|
67
|
+
ready = true
|
|
68
|
+
message = Gst::MessageClockProvide.new(nil, clock, ready)
|
|
69
|
+
assert_equal([clock, ready], message.parse)
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
def test_message_clock_lost
|
|
73
|
+
clock = Gst::SystemClock.obtain
|
|
74
|
+
message = Gst::MessageClockLost.new(nil, clock)
|
|
75
|
+
assert_equal(clock, message.parse)
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
def test_create_message_new_clock
|
|
79
|
+
clock = Gst::SystemClock.obtain
|
|
80
|
+
message = Gst::MessageNewClock.new(nil, clock)
|
|
81
|
+
assert_equal(clock, message.parse)
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
def test_message_application
|
|
85
|
+
assert_nothing_raised do
|
|
86
|
+
Gst::MessageApplication.new(nil, nil)
|
|
87
|
+
end
|
|
88
|
+
end
|
|
89
|
+
|
|
90
|
+
def test_message_element
|
|
91
|
+
assert_nothing_raised do
|
|
92
|
+
Gst::MessageElement.new(nil, nil)
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
|
|
96
|
+
def test_missing_message_installer_detail
|
|
97
|
+
pipeline = Gst::Pipeline.new
|
|
98
|
+
message = Gst::MissingURISourceMessage.new(pipeline, "http")
|
|
99
|
+
assert_match(/HTTP/, message.installer_detail)
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
def test_missing_message_description
|
|
103
|
+
pipeline = Gst::Pipeline.new
|
|
104
|
+
message = Gst::MissingURISourceMessage.new(pipeline, "http")
|
|
105
|
+
assert_match(/HTTP/, message.description)
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
def test_message_segment_start
|
|
109
|
+
format = Gst::Format::DEFAULT
|
|
110
|
+
position = 100
|
|
111
|
+
message = Gst::MessageSegmentStart.new(nil, :default, position)
|
|
112
|
+
assert_equal([format, position], message.parse)
|
|
113
|
+
end
|
|
114
|
+
|
|
115
|
+
def test_message_segment_done
|
|
116
|
+
format = Gst::Format::DEFAULT
|
|
117
|
+
position = 100
|
|
118
|
+
message = Gst::MessageSegmentDone.new(nil, :default, position)
|
|
119
|
+
assert_equal([format, position], message.parse)
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
def test_message_duration
|
|
123
|
+
format = Gst::Format::DEFAULT
|
|
124
|
+
duration = 10
|
|
125
|
+
message = Gst::MessageDuration.new(nil, :default, duration)
|
|
126
|
+
assert_equal([format, duration], message.parse)
|
|
127
|
+
end
|
|
128
|
+
|
|
129
|
+
def test_message_async_start
|
|
130
|
+
new_base_time = true
|
|
131
|
+
message = Gst::MessageAsyncStart.new(nil, new_base_time)
|
|
132
|
+
assert_equal(new_base_time, message.parse)
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
def test_message_async_done
|
|
136
|
+
assert_nothing_raised do
|
|
137
|
+
Gst::MessageAsyncDone.new(nil)
|
|
138
|
+
end
|
|
139
|
+
end
|
|
140
|
+
|
|
141
|
+
def test_message_latency
|
|
142
|
+
assert_nothing_raised do
|
|
143
|
+
Gst::MessageLatency.new(nil)
|
|
144
|
+
end
|
|
145
|
+
end
|
|
146
|
+
|
|
147
|
+
def test_type
|
|
148
|
+
message = Gst::Message.new(:unknown, nil, nil)
|
|
149
|
+
assert_equal(Gst::Message::UNKNOWN, message.type)
|
|
150
|
+
message.type = :tag
|
|
151
|
+
assert_equal(Gst::Message::TAG, message.type)
|
|
152
|
+
assert_equal("tag", message.type.name)
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
def test_lock
|
|
156
|
+
message = Gst::MessageEos.new(nil)
|
|
157
|
+
assert(!message.have_mutex?)
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
def test_cond
|
|
161
|
+
message = Gst::MessageEos.new(nil)
|
|
162
|
+
assert(!message.have_cond?)
|
|
163
|
+
end
|
|
164
|
+
|
|
165
|
+
def test_timestamp
|
|
166
|
+
message = Gst::MessageEos.new(nil)
|
|
167
|
+
assert(!message.valid_timestamp?)
|
|
168
|
+
|
|
169
|
+
timestamp = Time.now.to_i * Gst::NSECOND
|
|
170
|
+
message.timestamp = timestamp
|
|
171
|
+
assert_equal(timestamp, message.timestamp)
|
|
172
|
+
assert(message.valid_timestamp?)
|
|
173
|
+
end
|
|
174
|
+
|
|
175
|
+
def test_source
|
|
176
|
+
assert_nil(Gst::MessageEos.new(nil).source)
|
|
177
|
+
|
|
178
|
+
source = Gst::XML.new
|
|
179
|
+
message = Gst::MessageEos.new(source)
|
|
180
|
+
assert_equal(source, message.source)
|
|
181
|
+
message.source = nil
|
|
182
|
+
assert_nil(message.source)
|
|
183
|
+
end
|
|
184
|
+
|
|
185
|
+
def test_structure
|
|
186
|
+
assert_nil(Gst::MessageEos.new(nil).structure)
|
|
187
|
+
|
|
188
|
+
message = Gst::Message.new(:unknown, nil, nil)
|
|
189
|
+
assert_nil(message.structure)
|
|
190
|
+
end
|
|
191
|
+
end
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
class TestMiniObject < Test::Unit::TestCase
|
|
2
|
+
def test_create_mini_object
|
|
3
|
+
assert_raise(TypeError) do
|
|
4
|
+
Gst::MiniObject.new
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
assert_operator(Gst::MiniObject, :>, Gst::Buffer)
|
|
8
|
+
assert_nothing_raised do
|
|
9
|
+
Gst::Buffer.new
|
|
10
|
+
end
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def test_writable
|
|
14
|
+
mini_object = Gst::Buffer.new
|
|
15
|
+
assert(mini_object.writable?)
|
|
16
|
+
mini_object.flags = :readonly
|
|
17
|
+
assert(!mini_object.writable?)
|
|
18
|
+
mini_object.writable!
|
|
19
|
+
assert(mini_object.writable?)
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
def test_flag
|
|
23
|
+
mini_object = Gst::Buffer.new
|
|
24
|
+
|
|
25
|
+
assert_equal(0, mini_object.flags)
|
|
26
|
+
assert(!mini_object.flag_raised?(:readonly))
|
|
27
|
+
|
|
28
|
+
mini_object.raise_flag(:readonly)
|
|
29
|
+
assert(mini_object.flag_raised?(:readonly))
|
|
30
|
+
mini_object.lower_flag(:readonly)
|
|
31
|
+
assert(!mini_object.flag_raised?(:readonly))
|
|
32
|
+
|
|
33
|
+
mini_object.raise_flag(:readonly)
|
|
34
|
+
assert(mini_object.flag_raised?(:readonly))
|
|
35
|
+
mini_object.flags = 0
|
|
36
|
+
assert(!mini_object.flag_raised?(:readonly))
|
|
37
|
+
end
|
|
38
|
+
end
|
data/test/test_object.rb
ADDED
data/test/test_pad.rb
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
class TestPad < Test::Unit::TestCase
|
|
2
|
+
include GstTestUtils
|
|
3
|
+
|
|
4
|
+
def test_link
|
|
5
|
+
file_src = create_element("filesrc")
|
|
6
|
+
audio_convert = create_element("audioconvert")
|
|
7
|
+
audio_resample = create_element("audioresample")
|
|
8
|
+
file_sink = create_element("filesink")
|
|
9
|
+
|
|
10
|
+
current_linked = Proc.new do
|
|
11
|
+
[
|
|
12
|
+
file_src["src"].linked?,
|
|
13
|
+
audio_convert["sink"].linked?,
|
|
14
|
+
audio_convert["src"].linked?,
|
|
15
|
+
audio_resample["sink"].linked?,
|
|
16
|
+
audio_resample["src"].linked?,
|
|
17
|
+
file_sink["sink"].linked?,
|
|
18
|
+
]
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
current_peer = Proc.new do
|
|
22
|
+
[
|
|
23
|
+
file_src["src"].peer,
|
|
24
|
+
audio_convert["sink"].peer,
|
|
25
|
+
audio_convert["src"].peer,
|
|
26
|
+
audio_resample["sink"].peer,
|
|
27
|
+
audio_resample["src"].peer,
|
|
28
|
+
file_sink["sink"].peer,
|
|
29
|
+
]
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
assert_equal([false, false, false, false, false, false],
|
|
33
|
+
current_linked.call)
|
|
34
|
+
assert_equal([nil, nil, nil, nil, nil, nil],
|
|
35
|
+
current_peer.call)
|
|
36
|
+
|
|
37
|
+
file_src["src"].link(audio_convert["sink"])
|
|
38
|
+
assert_equal([true, true, false, false, false, false],
|
|
39
|
+
current_linked.call)
|
|
40
|
+
assert_equal([audio_convert["sink"], file_src["src"], nil, nil, nil, nil],
|
|
41
|
+
current_peer.call)
|
|
42
|
+
|
|
43
|
+
audio_convert["src"] >> audio_resample["sink"]
|
|
44
|
+
assert_equal([true, true, true, true, false, false],
|
|
45
|
+
current_linked.call)
|
|
46
|
+
assert_equal([audio_convert["sink"], file_src["src"],
|
|
47
|
+
audio_resample["sink"], audio_convert["src"],
|
|
48
|
+
nil, nil],
|
|
49
|
+
current_peer.call)
|
|
50
|
+
|
|
51
|
+
audio_resample["src"] >> file_sink["sink"]
|
|
52
|
+
assert_equal([true, true, true, true, true, true],
|
|
53
|
+
current_linked.call)
|
|
54
|
+
assert_equal([audio_convert["sink"], file_src["src"],
|
|
55
|
+
audio_resample["sink"], audio_convert["src"],
|
|
56
|
+
file_sink["sink"], audio_resample["src"]],
|
|
57
|
+
current_peer.call)
|
|
58
|
+
|
|
59
|
+
audio_convert["src"].unlink(audio_resample["sink"])
|
|
60
|
+
assert_equal([true, true, false, false, true, true],
|
|
61
|
+
current_linked.call)
|
|
62
|
+
assert_equal([audio_convert["sink"], file_src["src"],
|
|
63
|
+
nil, nil,
|
|
64
|
+
file_sink["sink"], audio_resample["src"]],
|
|
65
|
+
current_peer.call)
|
|
66
|
+
end
|
|
67
|
+
end
|
|
68
|
+
|
data/test/test_plugin.rb
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
class TestPluginFeature < Test::Unit::TestCase
|
|
2
|
+
def test_load!
|
|
3
|
+
feature = Gst::ElementFactory.find("audiorate")
|
|
4
|
+
assert(!feature.loaded?)
|
|
5
|
+
assert(feature.load!)
|
|
6
|
+
assert(feature.loaded?)
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
def test_rank
|
|
10
|
+
feature = Gst::ElementFactory.find("playbin")
|
|
11
|
+
assert_equal(Gst::RANK_NONE, feature.rank)
|
|
12
|
+
feature.rank = :primary
|
|
13
|
+
assert_equal(Gst::RANK_PRIMARY, feature.rank)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
def test_plugin_name
|
|
17
|
+
feature = Gst::ElementFactory.find("playbin")
|
|
18
|
+
assert_equal("playback", feature.plugin_name)
|
|
19
|
+
end
|
|
20
|
+
end
|
data/test/test_seek.rb
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
class TestSeek < Test::Unit::TestCase
|
|
2
|
+
include GstTestUtils
|
|
3
|
+
|
|
4
|
+
def test_type
|
|
5
|
+
assert_operator(Gst, :const_defined?, :SeekType)
|
|
6
|
+
assert_nothing_raised do
|
|
7
|
+
Gst::Seek::TYPE_NONE
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def test_flags
|
|
12
|
+
assert_operator(Gst, :const_defined?, :SeekFlags)
|
|
13
|
+
assert_nothing_raised do
|
|
14
|
+
Gst::Seek::FLAG_NONE
|
|
15
|
+
end
|
|
16
|
+
end
|
|
17
|
+
end
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
class TestStaticCaps < Test::Unit::TestCase
|
|
2
|
+
def test_description
|
|
3
|
+
assert_equal("ANY", file_src_caps.description)
|
|
4
|
+
end
|
|
5
|
+
|
|
6
|
+
def test_to_caps
|
|
7
|
+
static_caps = file_src_caps
|
|
8
|
+
assert_kind_of(Gst::StaticCaps, static_caps)
|
|
9
|
+
assert_kind_of(Gst::Caps, static_caps.to_caps)
|
|
10
|
+
end
|
|
11
|
+
|
|
12
|
+
private
|
|
13
|
+
def file_src_caps
|
|
14
|
+
file_src = Gst::ElementFactory.find("filesrc")
|
|
15
|
+
assert_not_nil(file_src)
|
|
16
|
+
file_src.pad_templates[0].caps
|
|
17
|
+
end
|
|
18
|
+
end
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
class TestStaticPadTemplate < Test::Unit::TestCase
|
|
2
|
+
def test_reader
|
|
3
|
+
templates = file_src.pad_templates.collect do |template|
|
|
4
|
+
[template.name, template.direction, template.presence]
|
|
5
|
+
end
|
|
6
|
+
assert_equal([["src", Gst::Pad::SRC, Gst::Pad::ALWAYS]],
|
|
7
|
+
templates)
|
|
8
|
+
end
|
|
9
|
+
|
|
10
|
+
private
|
|
11
|
+
def file_src
|
|
12
|
+
file_src = Gst::ElementFactory.find("filesrc")
|
|
13
|
+
assert_not_nil(file_src)
|
|
14
|
+
file_src
|
|
15
|
+
end
|
|
16
|
+
end
|