gst-play does not go to PLAYING when using hardware decoder sinks
Sachs Jürgen
Sachs.Juergen at metz-ce.de
Fri Oct 14 10:26:26 UTC 2016
Hallo together,
we are developing gstreamer sink-elements to support hardware decoders. That is, we do not need to use some kind of image sink, instead we feed the _encoded_ data directly into hardware.
Now, when using gst-play-1.0 to render a file, we get unexpected behavior:
- when invoking gst-play with the parameters --videosink/audiosink the file is played as expected:
# gst-play-1.0 --videosink=fakedecodervideo --audiosink=fakedecoderaudio <somefile>
- when invoking without this parameters,
# gst-play-1.0 <somefile>
the pipeline stops after prerolling/buffering.
Does anybody have an idea, why the playbin does not go to the running state?
In the failure case I see the following output from gst-play
Now playing <somefile>
Prerolling...
Buffering... 100%
<nothing more>
Our decoder element keep in pause state.
To eliminate all decoder-related effects, I have written two very simple "fake"-decoder elements:
- derived from GstBaseSink
- reporting proper caps ("video/...", audio/...")
- implementing start, stop, set_caps and render, mainly for debug trace - no real functionality inside
With this elements the behavior is the same.
Does somebody have an idea, what's going wrong?
Attached is a file with
- gst-inspect output of our fake-elements
- pipeline image for both cases
Kind regards
Juergen
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fakedecoder-gst-play-hangs.zip
Type: application/x-zip-compressed
Size: 804508 bytes
Desc: fakedecoder-gst-play-hangs.zip
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20161014/e4bb0a7e/attachment-0001.bin>
More information about the gstreamer-devel
mailing list