File: GstBin.t

package info (click to toggle)
libgstreamer-perl 0.19-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 900 kB
  • ctags: 59
  • sloc: perl: 2,456; ansic: 32; makefile: 6
file content (38 lines) | stat: -rw-r--r-- 1,235 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/usr/bin/perl
use strict;
use warnings;
use Test::More tests => 9;

# $Id$

use GStreamer -init;

my $bin = GStreamer::Bin -> new("urgs");
isa_ok($bin, "GStreamer::Bin");

my $factory = GStreamer::ElementFactory -> find("alsasink");
SKIP: {
  skip 'failed to create an alsasink factory', 8
    unless defined $factory;

  my $element_one = $factory -> create("sink one");
  my $element_two = $factory -> create("sink two");
  my $element_three = $factory -> create("sink three");
  my $element_four = $factory -> create("sink four");

  $bin -> add($element_one);
  $bin -> add($element_two, $element_three, $element_four);

  is($bin -> get_by_name("sink one"), $element_one);
  is($bin -> get_by_name_recurse_up("sink one"), $element_one);
  is($bin -> get_by_interface("GStreamer::TagSetter"), undef);

  isa_ok($bin -> iterate_elements(), "GStreamer::Iterator");
  isa_ok($bin -> iterate_sorted(), "GStreamer::Iterator");
  isa_ok($bin -> iterate_recurse(), "GStreamer::Iterator");
  isa_ok($bin -> iterate_sinks(), "GStreamer::Iterator");
  isa_ok($bin -> iterate_all_by_interface("GStreamer::TagSetter"), "GStreamer::Iterator");

  $bin -> remove($element_four);
  $bin -> remove($element_three, $element_two, $element_one);
}