Stalling pipeline when one of the streams doesn't exist

classic Classic list List threaded Threaded
2 messages Options
aag
Reply | Threaded
Open this post in threaded view
|

Stalling pipeline when one of the streams doesn't exist

aag
I have been using the following pipeline to process some files (custom filters removed to simplify the example, and make sure the problem still occurs without proprietary additions):

gst-launch-1.0 -e -f --gst-debug=*:5 filesrc location=file1.mp4 ! qtdemux name=src ! decodebin  ! "video/x-raw, format=I420" ! x264enc threads=6 speed-preset=1 ! video/x-h264, profile=baseline ! queue name=“muxq” ! mp4mux name=mux ! filesink location=file2.mp4 src. ! queue name=“audioq” ! mux.


As long as the pipeline was applied to audio/video files, it worked great. However, when I fed it a file with no audio stream, the pipeline is stalling:

r 0:00:00.066992187, size 17709, offset none, offset_end none, flags 0x2000
0:00:01.258508031  6779       0xe9a990 DEBUG         queue_dataflow gstqueue.c:1274:gst_queue_chain_buffer_or_list:<“muxq”> queue is full, waiting for free space

Is there a way to work around this, if I want the same pipeline process mpeg files regardless of whether they have audio stream?
Reply | Threaded
Open this post in threaded view
|

Re: Stalling pipeline when one of the streams doesn't exist

Sebastian Dröge-3
On Do, 2016-05-12 at 07:33 -0700, aag wrote:

> I have been using the following pipeline to process some files (custom
> filters removed to simplify the example, and make sure the problem still
> occurs without proprietary additions):
>
> gst-launch-1.0 -e -f --gst-debug=*:5 filesrc location=file1.mp4 ! qtdemux
> name=src ! decodebin  ! "video/x-raw, format=I420" ! x264enc threads=6
> speed-preset=1 ! video/x-h264, profile=baseline ! queue name=“muxq” ! mp4mux
> name=mux ! filesink location=file2.mp4 src. ! queue name=“audioq” ! mux.
>
>
> As long as the pipeline was applied to audio/video files, it worked great.
> However, when I fed it a file with no audio stream, the pipeline is
> stalling:
>
> r 0:00:00.066992187, size 17709, offset none, offset_end none, flags 0x2000
> 0:00:01.258508031  6779       0xe9a990 DEBUG         queue_dataflow
> gstqueue.c:1274:gst_queue_chain_buffer_or_list:<“muxq”> queue is full,
> waiting for free space
>
> Is there a way to work around this, if I want the same pipeline process mpeg
> files regardless of whether they have audio stream?
gst-launch is only a testing/debugging tool, it can't do that. You will
have to write actual code, in C or Python or any other language you
like.

--
Sebastian Dröge, Centricular Ltd · http://www.centricular.com

_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel

signature.asc (968 bytes) Download Attachment