BtSinkBin

BtSinkBin — bin to be used by BtSinkMachine

Functions

Properties

gpointer analyzers Read / Write
GstElement * input-gain Read / Write
gdouble master-volume Read / Write
BtSinkBinMode mode Read / Write
gchar * record-file-name Read / Write
BtSinkBinRecordFormat record-format Read / Write

Types and Values

Object Hierarchy

    GEnum
    ├── BtSinkBinMode
    ╰── BtSinkBinRecordFormat
    GObject
    ╰── GInitiallyUnowned
        ╰── GstObject
            ╰── GstElement
                ╰── GstBin
                    ╰── BtSinkBin

Implemented Interfaces

BtSinkBin implements GstChildProxy and GstBtTempo.

Includes

#include <libbtcore/core.h>

Description

The sink-bin provides switchable play and record facilities. It also provides controllable master-volume.

In play and record modes it plugs a chain of elements. In combined play and record mode it uses a tee and plugs both pipelines.

Functions

bt_sink_bin_is_record_format_supported ()

gboolean
bt_sink_bin_is_record_format_supported
                               (BtSinkBinRecordFormat format);

Each record format might need a couple of GStreamer element to work. This function verifies that all needed element are available.

Parameters

format

the format to check

 

Returns

TRUE if a fomat is useable

Types and Values

struct BtSinkBin

struct BtSinkBin;

Sub-class of a GstBin that implements a signal output (a machine with inputs only).


enum BtSinkBinMode

BtSinkBin supports several modes of operation. Playing is the default mode. Passthru is only needed if the song is plugged in another pipeline.

Members

BT_SINK_BIN_MODE_PLAY

play the song

 

BT_SINK_BIN_MODE_RECORD

record to file

 

BT_SINK_BIN_MODE_PLAY_AND_RECORD

play and record together

 

BT_SINK_BIN_MODE_PASS_THRU

output audio on sometimes src pad

 

enum BtSinkBinRecordFormat

BtSinkMachine can record audio in several formats.

Members

BT_SINK_BIN_RECORD_FORMAT_OGG_VORBIS

ogg vorbis

 

BT_SINK_BIN_RECORD_FORMAT_MP3

mp3

 

BT_SINK_BIN_RECORD_FORMAT_WAV

wav

 

BT_SINK_BIN_RECORD_FORMAT_OGG_FLAC

ogg flac

 

BT_SINK_BIN_RECORD_FORMAT_RAW

raw

 

BT_SINK_BIN_RECORD_FORMAT_MP4_AAC

mp4 aac

 

BT_SINK_BIN_RECORD_FORMAT_FLAC

flac

 

BT_SINK_BIN_RECORD_FORMAT_OGG_OPUS

ogg opus

 

BT_SINK_BIN_RECORD_FORMAT_COUNT

number of formats

 

Property Details

The “analyzers” property

  “analyzers”                gpointer

list of master analyzers.

Flags: Read / Write


The “input-gain” property

  “input-gain”               GstElement *

the input-gain element, if any.

Flags: Read / Write


The “master-volume” property

  “master-volume”            gdouble

master volume for the song.

Flags: Read / Write

Allowed values: [0,1]

Default value: 1


The “mode” property

  “mode”                     BtSinkBinMode

mode of operation.

Flags: Read / Write

Default value: BT_SINK_BIN_MODE_PLAY


The “record-file-name” property

  “record-file-name”         gchar *

the file-name to use for recording.

Flags: Read / Write

Default value: NULL


The “record-format” property

  “record-format”            BtSinkBinRecordFormat

format to use when in record mode.

Flags: Read / Write

Default value: .vorbis.ogg