While, I'm reading gstr开发者_开发技巧eamer document I found this: " Audioconvert converts raw audio buffers between various possible formats. It supports integer to float conversion, width/depth conversion, signedness and endianness conversion and channel transformations." I only understand
- "depth" (bit number per sample)
- "signedness and endianness" (for data representation)
And now, I'm looking for explanations of :
- "integer to float conversion"
- "width"
- "channel transformations"
Thanks in advance
* "integer to float conversion"
each audio sample in a stream contains a number that represents the 'height' of the wave at that point - this number is either an integer (e.g 45) or a floating point number (e.g 0.345). different streams use different conventions - a single gstreamer pipeline is likely to contain lots of different streams; some using integer representation, others using float. audioconvert automatically converts between these so you don't have to worry about it.
* "width"
width is the number of bits allocated to an audio sample - as opposed to the depth, which is the number of bits actually used. width > depth. e.g 24bit sound has a depth of 24 and a width of 32. think of it as extra padding.
* "channel transformations"
mono to stereo conversion and vice versa
精彩评论