Reputation:
video file is working perfectly with below pipeline.
.\gst-launch-1.0.exe playbin uri=file:///C:\\Users\\naseeb\\Downloads\\Gabbroo.mp4
But, i want to create pipeline myself using demux, decoder and sink. I created below pipeline
.\gst-launch-1.0.exe filesrc location=C:\\Users\\naseeb\\Downloads\\Gabbroo.mp4 ! qtdemux name=demux demux. ! queue ! mad ! audioconvert ! audioresample ! autoaudiosink demux. ! queue ! avdec_h264 ! autovideosink
but it is not working and failed with error mentioned below:
WARNING: from element /GstPipeline:pipeline0/GstQTDemux:demux: Delayed linking > failed. Additional debug info: ./grammar.y(506): gst_parse_no_more_pads (): /GstPipeline:pipeline0/GstQTDemux:demux: failed delayed linking some pad of GstQTDemux named demux to some pad of GstQueue named queue0 Redistribute latency... Redistribute latency... ERROR: from element /GstPipeline:pipeline0/GstQTDemux:demux: Internal data stream error. Additional debug info: qtdemux.c(5850): gst_qtdemux_loop (): /GstPipeline:pipeline0/GstQTDemux:demux: streaming stopped, reason not-negotiated (-4)
I have searched lot and couldn't find what element i am missing in the pipeline to make it working.
Please suggest some solution.
Upvotes: 0
Views: 7213
Reputation: 7373
You may need audio and video parsers before the decoders. So try mpegaudioparse ! mad
and h264parse ! avdec_h264
.
You most likely need a video converter between the decoder and the videosink. Try autovideoconvert ! autovideosink
.
Upvotes: 1