GStreamer issues.
Mike Wey via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Tue Aug 22 08:15:41 PDT 2017
On 22-08-17 02:13, Johnson wrote:
> 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.
The Gstreamer demo should use an `playbin` instead of explicitly setting
the pipeline, Like this:
https://github.com/gtkd-developers/GtkD/blob/master/demos/gstreamer/helloworld/gstreamer_helloworld.d
This way gstreamer will detect the file type, i don't know if it helps
with the errors.
--
Mike Wey
More information about the Digitalmars-d-learn
mailing list