Boutran
Boutran

Reputation: 10144

gstreamer transcoding with wavparse and vorbisenc fails

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

Answers (1)

martien9
martien9

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

Related Questions