Hi guys,
We have problem with missing some frames due to finishing pipeline before we done with processing. We have inherited our elements from GstBaseTransform. Our elements do processing in their own threads in parallel. According to documentation (https://gstreamer.freedesktop.org/documentation/base/gstbasetransform.html#GstBaseTransformClass::generate_output) we can return GST_BASE_TRANSFORM_FLOW_DROPPED and it is fine. So, when filesrc reach end of file and send EOS we didn't finished processing yet, but due to EOS pipeline finishes and we are losing some frames that are in processing. We would like to keep processing in our own threads and do not lose frames when pipeline finishes. Is there any convenient way to make pipeline wait until we finished? or maybe we can return something different instead of "drop" status? Thank you in advance! Umed -------------------------------------------------------------------- Joint Stock Company Intel A/O Registered legal address: Krylatsky Hills Business Park, 17 Krylatskaya Str., Bldg 4, Moscow 121614, Russian Federation This e-mail and any attachments may contain confidential material for the sole use of the intended recipient(s). Any review or distribution by others is strictly prohibited. If you are not the intended recipient, please contact the sender and delete all copies. _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Le jeu. 26 sept. 2019 09 h 10, Abdumuminov, Umedzhon <[hidden email]> a écrit : Hi guys, Just wait and push when you receive the Eos event. This event is on the streaming thread with stream lock held. Don't forget to report your latency!
_______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
So, I can block pipeline on EOS, finish processing, push frames, unlock EOS event to let it finish pipeline. Am I correct? If so, thanks a lot! From: gstreamer-devel <[hidden email]>
On Behalf Of Nicolas Dufresne Le jeu. 26 sept. 2019 09 h 10, Abdumuminov, Umedzhon <[hidden email]> a écrit :
Just wait and push when you receive the Eos event. This event is on the streaming thread with stream lock held. Don't forget to report your latency!
This e-mail and any attachments may contain confidential material for _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
By the way, why should I report latency? From: Abdumuminov, Umedzhon So, I can block pipeline on EOS, finish processing, push frames, unlock EOS event to let it finish pipeline. Am I correct? If so, thanks a lot! From: gstreamer-devel <[hidden email]>
On Behalf Of Nicolas Dufresne Le jeu. 26 sept. 2019 09 h 10, Abdumuminov, Umedzhon <[hidden email]> a écrit :
Just wait and push when you receive the Eos event. This event is on the streaming thread with stream lock held. Don't forget to report your latency!
This e-mail and any attachments may contain confidential material for _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |