Q on tee: keep working one branch, even has a error on other branch

Nicolas Dufresne nicolas at ndufresne.ca
Thu Mar 9 01:53:06 UTC 2017


Le mercredi 08 mars 2017 à 15:54 +0900, Makoto Harada a écrit :
> Dear Expert,
> 
> I'm now debugging the certain error of a gstreamer plugin.
> 
> In order to make sure that input stream has no problem,
> I modified the original pipeline using tee as shown below so that
> input stream is saved to the local file
> while original pipeline is executed.
> 
> - original pipeline
> hogesrc ! hoge_dec ! hoge_sink
> 
> - pipeline with tee
> hogesrc ! tee name = t  \
> t. ! queue ! hoge_dec ! hoge_sink \             
> t. ! queue ! filesrc location=/tmp/dump.ts
> 
> This works fine.
> However, when an error happen at a plugin (for example at hoge_dec) ,
> whole pipeline stopped, therefore dump.ts can will not be saved.

Use "ignoreerror" element for that. You will still get an error message
on the bus, which you need to ignore, but the flow won't be affected.
The default for ignoreerror is to convert errors to no-linked, which
will tell the tee to ignore this branch from now-on. Exactly what you
need here.

> 
> Is there any way to make one thread of "tee" keep working, even
> though other thread has a error ?
> Or is there any idea to keep dumping the input stream on such a
> situation ?

Tee is not threaded. It will ignore "not-linked" pads though.

> 
> Any comments are highly appreciated.
> 
> Kind Regards,
> Makoto
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 181 bytes
Desc: This is a digitally signed message part
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20170308/94054c8c/attachment.sig>


More information about the gstreamer-devel mailing list