Hello,
I am trying to get GStreamer to play raw sample data (32-bit float stereo) which I have loaded from a file using the appsrc element.
(I know that I could use filesrc for this, but the program will evolve to play output samples from a non-gstreamer library stored in memory)
I have adapted code taken from <a href="https://goo.gl/8onDu4" target="_top" rel="nofollow" link="external">this example</a>, and have had success getting it to play an 8-bit mono sample.

<a href="http://gstreamer-devel.966125.n4.nabble.com/file/t378119/basic-tutorial-8b.c" target="_top" rel="nofollow" link="external">code</a>

However I am having problems getting it to play float samples and getting it to use more than 1 channel.

When I try to play an 8-bit <b>stereo</b> sample (by changing the number of samples which in the end gets passed to gst_audio_info_set_format at line 190),
the audio playback keeps stopping and starting and playing twice the speed.

<pre>
159c159
<   load_raw(&data, "./wicked dub_8.raw", 44100, 1);
---
>   load_raw(&data, "./wicked dub_8s.raw", 44100, 2);
</pre>

Meanwhile, when I try to play a mono 32-bit float sample, it sounds distorted for some reason.

<pre>
11c11
< #define SAMPLE uint8_t
---
> #define SAMPLE float
159c159
<   load_raw(&data, "./wicked dub_8.raw", 44100, 1);
---
>   load_raw(&data, "./wicked dub_f32.raw", 44100, 1);
190c190
<   gst_audio_info_set_format (&info, GST_AUDIO_FORMAT_U8, (gint) data.samplerate, (gint) data.channels, NULL);
---
>   gst_audio_info_set_format (&info, GST_AUDIO_FORMAT_F32LE, (gint) data.samplerate, (gint) data.channels, NULL);
</pre>

Does anyone have any idea as to what I am missing or doing wrong?
Thanks in advance
Albert

PS: <a href="http://gstreamer-devel.966125.n4.nabble.com/file/t378119/samples.7z" target="_top" rel="nofollow" link="external">Here</a> are the samples I've been using.

        
        
        
<br/><hr align="left" width="300" />
Sent from the <a href="http://gstreamer-devel.966125.n4.nabble.com/">GStreamer-devel mailing list archive</a> at Nabble.com.<br/>