class Gst::Bin - gstreamer-3.1.1 Documentation

# class Gst::Bin

### Public Instance Methods

<<(element) click to toggle source

    # File lib/gst/bin.rb, line 29
    def <<(element)
      add_element(element)
      self
    end

add(*elements)
Also aliased as: add_element
Alias for: add_elements
add_element(*elements)
Alias for: add
add_elements(*elements) click to toggle source

    # File lib/gst/bin.rb, line 22
    def add_elements(*elements)
      elements.each do |element|
        add_element(element)
      end
    end

Also aliased as: add
each(options={}) { |value| ... } click to toggle source

    # File lib/gst/bin.rb, line 34
    def each(options={})
      return to_enum(:each, options) unless block_given?

      if options[:recurse]
        iterator = iterate_recurse
      elsif options[:sink]
        iterator = iterate_sinks
      elsif options[:sorted]
        iterator = iterate_sorted
      elsif options[:sources]
        iterator = iterate_sources
      elsif options[:interface]
        iterator = iterate_all_by_interface(options[:interface])
      else
        iterator = iterate_elements
      end

      loop do
        result, element = iterator.next
        case result
        when IteratorResult::DONE
          break
        when IteratorResult::OK
          yield(element.value)
        when IteratorResult::RESYNC
          iterator.resync
        when IteratorResult::ERROR
          raise "failed to iterate"
        end
      end
    end