3.10 Common Elements
Included in gstreamer are helpers and utilities for working with frequently used elements, including predicates (implemented with element/c) and property getters/setters.
3.10.1 Source Elements
A source element generates data for use by a pipeline. A source element has a source pad and do not accept data, they only produce it.
Examples of source elements are those that generate video or audio signal, or those that capture data from a disk or some other input device.
3.10.1.1 videotestsrc
procedure
(videotestsrc [ name #:pattern pattern #:live? is-live?]) → videotestsrc? name : (or/c string? #f) = #f pattern : videotest-pattern/c = 'smpte is-live? : boolean? = #t
procedure
(videotestsrc? v) → boolean?
v : any/c
value
=
(one-of/c 'smpte 'snow 'black 'white 'red 'green 'blue 'checkers-1 'checkers-2 'checkers-4 'checkers-8 'circular 'blink 'smpte75 'zone-plate 'gamut 'chroma-zone-plate 'solid-color 'ball 'smpte100 'bar 'pinwheel 'spokes 'gradient 'colors)
procedure
(videotestsrc-pattern element) → videotest-pattern/c
element : videotestsrc?
procedure
(set-videotestsrc-pattern! element pattern) → void?
element : videotestsrc? pattern : videotest-pattern/c
procedure
(videotestsrc-live? element) → boolean?
element : videotestsrc?
3.10.1.2 audiotestsrc
procedure
(audiotestsrc [name #:live? is-live?]) → audiotestsrc?
name : (or/c string? #f) = #f is-live? : boolean? = #t
procedure
(audiotestsrc? v) → boolean?
v : any/c
procedure
(audiotestsrc-live? element) → boolean?
element : audiotestsrc?
3.10.2 Filter-like Elements
Filters and filter-like elements have both input and output pads, also called sink and source pads respectively. They operate on data they receive on their sink pads and provide data on their output pads.
Examples include an h.264 encoder, an mp4 muxer, or a tee element —
3.10.2.1 capsfilter
procedure
(capsfilter caps [name]) → capsfilter?
caps : caps? name : (or/c string? #f) = #f
procedure
(capsfilter? v) → boolean?
v : any/c
procedure
(capsfilter-caps element) → caps?
element : capsfilter?
procedure
(set-capsfilter-caps! element caps) → void?
element : capsfilter? caps : caps?
3.10.2.2 videomixer
procedure
(videomixer name) → videomixer?
name : (or/c string? #f)
procedure
(videomixer? v) → boolean?
v : any/c
procedure
(videomixer-ref mixer pos) → (or/c (is-a?/c pad%) #f)
mixer : videomixer? pos : exact-nonnegative-integer?
3.10.2.3 tee
3.10.2.4 videoscale
procedure
(videoscale [name]) → videoscale?
name : (or/c string? #f) = #f
procedure
(videoscale? v) → boolean?
v : any/c
3.10.2.5 videobox
procedure
(videobox [ name] #:autocrop? autocrop #:top top #:bottom bottom #:left left #:right right) → videobox? name : (or/c string? #f) = #f autocrop : boolean? top : exact-integer? bottom : exact-integer? left : exact-integer? right : exact-integer?
3.10.3 Sink Elements
Sink elements are the end points in a media pipeline. They accept data but do not produce anything. Writing to a disk or video or audio playback are implemented by sink elements.
3.10.3.1 rtmpsink
procedure
(rtmpsink-location element) → string?
element : rtmpsink?
3.10.3.2 filesink
procedure
location : path-string? name : (or/c string? #f) = #f
procedure
(filesink-location element) → path-string?
element : filesink?
3.10.3.3 appsink%
(require gstreamer/appsink) | package: overscan |
An appsink is a sink element that is designed to extract sample data out of the pipeline into the application.
method
method
method
(send an-appsink get-max-buffers) → exact-nonnegative-integer?
method
method
caps : caps?
method
(send an-appsink get-eos-evt) → evt?
Refine this method with augment.Refine this method with augment.
procedure
(make-appsink [name class%]) → (is-a?/c appsink%)
name : (or/c string? #f) = #f class% : (subclass?/c appsink%) = appsink%