|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
<html>
|
|
Packit |
0652a1 |
<head>
|
|
Packit |
0652a1 |
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
|
Packit |
0652a1 |
<title>audioconvert: GStreamer Base Plugins 1.0 Plugins Reference Manual</title>
|
|
Packit |
0652a1 |
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
|
|
Packit |
0652a1 |
<link rel="home" href="index.html" title="GStreamer Base Plugins 1.0 Plugins Reference Manual">
|
|
Packit |
0652a1 |
<link rel="up" href="ch01.html" title="gst-plugins-base Elements">
|
|
Packit |
0652a1 |
<link rel="prev" href="gst-plugins-base-plugins-appsrc.html" title="appsrc">
|
|
Packit |
0652a1 |
<link rel="next" href="gst-plugins-base-plugins-audiointerleave.html" title="audiointerleave">
|
|
Packit |
0652a1 |
<meta name="generator" content="GTK-Doc V1.28 (XML mode)">
|
|
Packit |
0652a1 |
<link rel="stylesheet" href="style.css" type="text/css">
|
|
Packit |
0652a1 |
</head>
|
|
Packit |
0652a1 |
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
Top |
|
|
Packit |
0652a1 |
Description |
|
|
Packit |
0652a1 |
Object Hierarchy |
|
|
Packit |
0652a1 |
Properties
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
![Home](home.png)
|
|
Packit |
0652a1 |
![Up](up.png)
|
|
Packit |
0652a1 |
![Prev](left.png)
|
|
Packit |
0652a1 |
![Next](right.png)
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
audioconvert
|
|
Packit |
0652a1 |
audioconvert
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
Properties
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
GstAudioDitherMethod
|
|
Packit |
0652a1 |
dithering
|
|
Packit |
0652a1 |
Read / Write
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
GstAudioNoiseShapingMethod
|
|
Packit |
0652a1 |
noise-shaping
|
|
Packit |
0652a1 |
Read / Write
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
GstValueArray
|
|
Packit |
0652a1 |
mix-matrix
|
|
Packit |
0652a1 |
Read / Write
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
Types and Values
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
struct
|
|
Packit |
0652a1 |
GstAudioConvert
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
Object Hierarchy
|
|
Packit |
0652a1 |
GObject
|
|
Packit |
0652a1 |
╰── GInitiallyUnowned
|
|
Packit |
0652a1 |
╰── GstObject
|
|
Packit |
0652a1 |
╰── GstElement
|
|
Packit |
0652a1 |
╰── GstBaseTransform
|
|
Packit |
0652a1 |
╰── GstAudioConvert
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
Description
|
|
Packit |
0652a1 |
Audioconvert converts raw audio buffers between various possible formats.
|
|
Packit |
0652a1 |
It supports integer to float conversion, width/depth conversion,
|
|
Packit |
0652a1 |
signedness and endianness conversion and channel transformations
|
|
Packit |
0652a1 |
(ie. upmixing and downmixing), as well as dithering and noise-shaping.
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
Example launch line
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
1
|
|
Packit |
0652a1 |
gst-launch-1.0 -v -m audiotestsrc ! audioconvert ! audio/x-raw,format=S8,channels=2 ! level ! fakesink silent=TRUE
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
This pipeline converts audio to 8-bit. The level element shows that
|
|
Packit |
0652a1 |
the output levels still match the one for a sine wave.
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
1
|
|
Packit |
0652a1 |
gst-launch-1.0 -v -m uridecodebin uri=file:///path/to/audio.flac ! audioconvert ! vorbisenc ! oggmux ! filesink location=audio.ogg
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
The vorbis encoder takes float audio data instead of the integer data
|
|
Packit |
0652a1 |
output by most other audio elements. This pipeline decodes a FLAC audio file
|
|
Packit |
0652a1 |
(or any other audio file for which decoders are installed) and re-encodes
|
|
Packit |
0652a1 |
it into an Ogg/Vorbis audio file.
|
|
Packit |
0652a1 |
A mix matrix can be passed to audioconvert, that will govern the
|
|
Packit |
0652a1 |
remapping of input to output channels.
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
Example matrix generation code
|
|
Packit |
0652a1 |
To generate the matrix using code:
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
1
|
|
Packit |
0652a1 |
2
|
|
Packit |
0652a1 |
3
|
|
Packit |
0652a1 |
4
|
|
Packit |
0652a1 |
5
|
|
Packit |
0652a1 |
6
|
|
Packit |
0652a1 |
7
|
|
Packit |
0652a1 |
8
|
|
Packit |
0652a1 |
9
|
|
Packit |
0652a1 |
10
|
|
Packit |
0652a1 |
11
|
|
Packit |
0652a1 |
12
|
|
Packit |
0652a1 |
13
|
|
Packit |
0652a1 |
14
|
|
Packit |
0652a1 |
15
|
|
Packit |
0652a1 |
16
|
|
Packit |
0652a1 |
GValue v = G_VALUE_INIT;
|
|
Packit |
0652a1 |
GValue v2 = G_VALUE_INIT;
|
|
Packit |
0652a1 |
GValue v3 = G_VALUE_INIT;
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
g_value_init (&v2, GST_TYPE_ARRAY);
|
|
Packit |
0652a1 |
g_value_init (&v3, G_TYPE_FLOAT);
|
|
Packit |
0652a1 |
g_value_set_float (&v3, 1);
|
|
Packit |
0652a1 |
gst_value_array_append_value (&v2, &v3);
|
|
Packit |
0652a1 |
g_value_unset (&v3);
|
|
Packit |
0652a1 |
[ Repeat for as many float as your input channels - unset and reinit v3 ]
|
|
Packit |
0652a1 |
g_value_init (&v, GST_TYPE_ARRAY);
|
|
Packit |
0652a1 |
gst_value_array_append_value (&v, &v2);
|
|
Packit |
0652a1 |
g_value_unset (&v2);
|
|
Packit |
0652a1 |
[ Repeat for as many v2's as your output channels - unset and reinit v2]
|
|
Packit |
0652a1 |
g_object_set_property (G_OBJECT (audioconvert), "mix-matrix", &v);
|
|
Packit |
0652a1 |
g_value_unset (&v);
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
Example launch line
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
1
|
|
Packit |
0652a1 |
gst-launch-1.0 audiotestsrc ! audio/x-raw, channels=4 ! audioconvert mix-matrix="<<(float)1.0, (float)0.0, (float)0.0, (float)0.0>, <(float)0.0, (float)1.0, (float)0.0, (float)0.0>>" ! audio/x-raw,channels=2 ! autoaudiosink
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
If an empty mix matrix is specified, a (potentially truncated)
|
|
Packit |
0652a1 |
identity matrix will be generated.
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
Example empty matrix generation code
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
1
|
|
Packit |
0652a1 |
2
|
|
Packit |
0652a1 |
3
|
|
Packit |
0652a1 |
4
|
|
Packit |
0652a1 |
5
|
|
Packit |
0652a1 |
GValue v = G_VALUE_INIT;
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
g_value_init (&v, GST_TYPE_ARRAY);
|
|
Packit |
0652a1 |
g_object_set_property (G_OBJECT (audioconvert), "mix-matrix", &v);
|
|
Packit |
0652a1 |
g_value_unset (&v);
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
Example empty matrix launch line
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
1
|
|
Packit |
0652a1 |
gst-launch-1.0 -v audiotestsrc ! audio/x-raw,channels=8 ! audioconvert mix-matrix="<>" ! audio/x-raw,channels=16,channel-mask=\(bitmask\)0x0000000000000000 ! fakesink
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
Synopsis
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
Element Information
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
plugin
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
audioconvert
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
author
|
|
Packit |
0652a1 |
Benjamin Otte <otte@gnome.org>
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
class
|
|
Packit |
0652a1 |
Filter/Converter/Audio
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
Element Pads
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
name
|
|
Packit |
0652a1 |
sink
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
direction
|
|
Packit |
0652a1 |
sink
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
presence
|
|
Packit |
0652a1 |
always
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
details
|
|
Packit |
0652a1 |
audio/x-raw, format=(string){ S8, U8, S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE }, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], layout=(string){ interleaved, non-interleaved }
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
name
|
|
Packit |
0652a1 |
src
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
direction
|
|
Packit |
0652a1 |
source
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
presence
|
|
Packit |
0652a1 |
always
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
details
|
|
Packit |
0652a1 |
audio/x-raw, format=(string){ S8, U8, S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE }, rate=(int)[ 1, 2147483647 ], channels=(int)[ 1, 2147483647 ], layout=(string){ interleaved, non-interleaved }
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
Functions
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
Types and Values
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
struct GstAudioConvert
|
|
Packit |
0652a1 |
struct GstAudioConvert;
|
|
Packit |
0652a1 |
The audioconvert object structure.
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
Property Details
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
The “dithering” property
|
|
Packit |
0652a1 |
“dithering” GstAudioDitherMethod
|
|
Packit |
0652a1 |
Selects between different dithering methods.
|
|
Packit |
0652a1 |
Flags: Read / Write
|
|
Packit |
0652a1 |
Default value: GST_AUDIO_DITHER_TPDF
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
The “noise-shaping” property
|
|
Packit |
0652a1 |
“noise-shaping” GstAudioNoiseShapingMethod
|
|
Packit |
0652a1 |
Selects between different noise shaping methods.
|
|
Packit |
0652a1 |
Flags: Read / Write
|
|
Packit |
0652a1 |
Default value: GST_AUDIO_NOISE_SHAPING_NONE
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
The “mix-matrix” property
|
|
Packit |
0652a1 |
“mix-matrix” GstValueArray
|
|
Packit |
0652a1 |
Transformation matrix for input/output channels.
|
|
Packit |
0652a1 |
Flags: Read / Write
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
|
|
Packit |
0652a1 |
Generated by GTK-Doc V1.28
|
|
Packit |
0652a1 |
</body>
|
|
Packit |
0652a1 |
</html>
|