0

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.

1 Answers1

1
  1. You may need audio and video parsers before the decoders. So try mpegaudioparse ! mad and h264parse ! avdec_h264.

  2. You most likely need a video converter between the decoder and the videosink. Try autovideoconvert ! autovideosink.

Florian Zwoch
  • 6,764
  • 2
  • 12
  • 21
  • Now i get error: 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... –  Jun 27 '17 at 08:46
  • Are you sure the file contains the streams you are trying to decode? Try `gst-discoverer-1.0 mp4file`. – Florian Zwoch Jun 27 '17 at 08:49
  • 1
    Thanks Florian. gst-discoverer told me that mp4 file contains AAC audio. i used correct audio parser and decoder and can play the file properly now. I used the command: .\gst-launch-1.0.exe filesrc location=C:\\Users\\naseeb\\Downloads\\Gabbroo.mp4 ! qtdemux name=demux demux. ! queue ! aacparse ! avdec_aac ! audioconvert ! audioresample ! autoaudiosink demux. ! queue ! h264parse ! avdec_h264 ! autovideoconvert ! autovideosink –  Jun 27 '17 at 08:56
  • `gst_parse_no_more_pads ()` Found any fix? – Sam Dec 11 '17 at 05:58