GStreamer issues.

Johnson via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Mon Aug 21 17:13:06 PDT 2017


I can't get the example to work(although slightly modified).

The installed version of GStreamer is 1.12.2
The file is: D:\temp\test.ogg
Loading
Setting to PLAYING.
Running.
>XError: Could not demultiplex stream. dbug: gstoggdemux.c(4418): 
>gst_ogg_demux_find_chains (): 
>/GstPipeline:audio-player/GstOggDemux:ogg-parser:
can't get first chain

Actually I was getting a much worse error before ;/ I can't 
remember it now.


The installed version of GStreamer is 1.12.2
The file is: D:\temp\test2.wav
Loading
Setting to PLAYING.
Running.
>XError: Internal data stream error. dbug: gstwavparse.c(2249): 
>gst_wavparse_loop (): 
>/GstPipeline:audio-player/GstWavParse:wav-parser:
streaming stopped, reason not-linked (-1)

Basically all I did was change the sink:

	sink = ElementFactory.make("autoaudiosink", "auto-output");

So it I could get past the error about alsa. I think the last 
name doesn't matter?

I downloaded the gstreamer binaries from their site, had some 
issues with a few of the dll's complaining about gxx errors, I 
removed them(h264, soundtouch, tag).


For the wav I changed
		//parser = ElementFactory.make("oggdemux", "ogg-parser");
		//decoder = ElementFactory.make("vorbisdec", "vorbis-decoder");
		parser = ElementFactory.make("wavparse", "wav-parser");
		decoder = ElementFactory.make("audioconvert", "wav-decoder");


which, is all i could find on line, I don't know if it's right at 
all.


Ultimately I want to be able to read somewhat arbitrary audio 
formats(most common at least), get the raw channel data(samples 
for each channel), play/pause/stop with good accuracy(no latency 
or low latency(<20ms), possibly do some pitch shifting and basic 
mixing(EQ, limiting, panning, etc), and eventually play some 
videos.

Is GstreamerD going to be useful for this or so I look in to 
using ffmpeg directly and do some of the stuff(e.g., eq) myself?

Thanks.


More information about the Digitalmars-d-learn mailing list