Reputation: 10144
I can play this wav :
http://freewavesamples.com/yamaha-sy35-clarinet-c5
gst-launch filesrc location=Yamaha-SY-35-Clarinet-C5.wav ! wavparse ! autoaudiosink
So I assume that wavparse is functioning properly, but this pipeline fails to transcode :
gst-launch filesrc location=Yamaha-SY-35-Clarinet-C5.wav ! wavparse ! vorbisenc ! filesink location=out.ogg
with the following warnings and errors
Setting pipeline to PAUSED ... Pipeline is PREROLLING ... 0:00:00.028608695 23692 0xa99720 WARN wavparse gstwavparse.c:2110:gst_wavparse_loop: error: Internal data flow error. 0:00:00.028637670 23692 0xa99720 WARN wavparse gstwavparse.c:2110:gst_wavparse_loop: error: streaming task paused, reason not-linked (-1) ERROR: from element /GstPipeline:pipeline0/GstWavParse:wavparse0: Internal data flow error. Additional debug info: gstwavparse.c(2110): gst_wavparse_loop (): /GstPipeline:pipeline0/GstWavParse:wavparse0: streaming task paused, reason not-linked (-1) ERROR: pipeline doesn't want to preroll. Setting pipeline to NULL ... Freeing pipeline ...
Strangely, the error is occuring in wavparse, so it is fine when the pipeline ends with an audio device sink, but not with an encoding sink...
Upvotes: 0
Views: 1371
Reputation: 401
try this pipeline: gst-launch filesrc location=audio.wav ! wavparse ! audioconvert ! vorbisenc ! filesink location=out.ogg
I think the format it doesn't supported in vorbisenc example (audio/x-raw-float) vorbisenc support (audio/x-raw-int), that why you should add audioconvert. You can see all details if you add -v option in your pipeline.
Upvotes: 1