Error when using fdsink and wavenc to write on stdout

Tiago Katcipis katcipis at inf.ufsc.br
Wed May 14 11:04:09 PDT 2014


I have the following pipeline:

giosrc location=my_remote_location ! wavparse ! adpcmdec ! audioconvert !
audioresample ! audio/x-raw,rate=8000,channels=1,format=S16LE ! wavenc !
fdsink

I use the stdout of the process that runs this pipeline to stream the
PCMaudio to the client. But on the end of the streaming i always get
the error:

ERROR: element fdsink0: detail: Could not perform seek on resource.
Debugging info: gstfdsink.c(602): gst_fd_sink_event (): /GstPipeline
:pipeline0/GstFdSink:fdsink0:
Error while seeking on file descriptor 1: Illegal seek

Taking a look at debug info:

0:00:18.295838530  2112  0x9ee1fb0 DEBUG                 wavenc gstwavenc
.c:230:gst_wavenc_push_header:<wavenc0> writing header with datasize=2017980
0:00:18.295857946  2112  0x9ee1fb0 DEBUG                 fdsink gstfdsink
.c:552:gst_fd_sink_do_seek:<fdsink0> File descriptor 1 failed to seek to
position 0
0:00:18.295883299  2112  0x9ee1fb0 WARN                  fdsink gstfdsink
.c:602:gst_fd_sink_event:<fdsink0> error: Error while seeking on file
descriptor 1: Illegal seek
ERROR: element fdsink0: detail: Could not perform seek on resource.
0:00:18.295918848  2112  0x9ee1fb0 WARN                  wavenc gstwavenc
.c:239:gst_wavenc_push_header:<wavenc0> push header failed: flow

It seems to me that wavenc is trying to seek to the beginning of the file
to write the wav header, but the stdout file descriptor is not seekable,
the data has already been sent (and the wrong header is not a problem to me
on this case).

Shouldn't fdsink handle non seekable file descriptors gracefully ?
Something like refusing to handle the seek event if it is not seekable ? It
seems quite drastic to give an error on the pipeline.

Best regards,
Tiago Katcipis
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20140514/722b6737/attachment.html>


More information about the gstreamer-devel mailing list