Hello,
I'm writing an application which handles two video streams from USB video class devices, which runs on the Raspberry Pi. The cameras stream H.264. The application needs to store a high-quality version locally on disk (using filesink). Additionally a downscaled, lower quality RTP stream should be provided. Decompression and compression is done using the Raspberry's hardware acceleration (with gst-omx). I have implemented the streams using qt-gstreamer. Right now my application has two pipelines, one for each camera stream. Occasionally, the program crashes, around the time the second pipeline goes into playing state. After a bit of googling I found an old message from this list [0], saying that multiple pipelines in one application are not easily doable. I was wondering if that limitation still applies, or if I have a bug somewhere else. Launching my application in gdb lets the segfault trigger even less often, suggesting some kind of race condition. When I caught a crash in gdb, the crashing function was reported as video_orc_unpack_I420. However, the function was called with broken parameters (way too large n), so the cause might be elsewhere. Also the stack seemed to be corrupted. Anyway, I had no problems running just one pipeline in my application, so I'd appreciate a comment on whether its possible/advisable to have multiple pipelines in an application or if I should refactor to have only one pipeline (and possible start two instances of the application). Thank you for your time, with best regards, Hannes Weisbach [0] http://lists.freedesktop.org/archives/gstreamer-devel/2006-June/012599.html _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
I have multiple pipelines running in my application without having observed any problems.
-----Ursprüngliche Nachricht----- Von: gstreamer-devel [mailto:[hidden email]] Im Auftrag von Hannes Weisbach Gesendet: Freitag, 21. August 2015 11:45 An: [hidden email] Betreff: Multiple pipelines in an application Hello, I'm writing an application which handles two video streams from USB video class devices, which runs on the Raspberry Pi. The cameras stream H.264. The application needs to store a high-quality version locally on disk (using filesink). Additionally a downscaled, lower quality RTP stream should be provided. Decompression and compression is done using the Raspberry's hardware acceleration (with gst-omx). I have implemented the streams using qt-gstreamer. Right now my application has two pipelines, one for each camera stream. Occasionally, the program crashes, around the time the second pipeline goes into playing state. After a bit of googling I found an old message from this list [0], saying that multiple pipelines in one application are not easily doable. I was wondering if that limitation still applies, or if I have a bug somewhere else. Launching my application in gdb lets the segfault trigger even less often, suggesting some kind of race condition. When I caught a crash in gdb, the crashing function was reported as video_orc_unpack_I420. However, the function was called with broken parameters (way too large n), so the cause might be elsewhere. Also the stack seemed to be corrupted. Anyway, I had no problems running just one pipeline in my application, so I'd appreciate a comment on whether its possible/advisable to have multiple pipelines in an application or if I should refactor to have only one pipeline (and possible start two instances of the application). Thank you for your time, with best regards, Hannes Weisbach [0] http://lists.freedesktop.org/archives/gstreamer-devel/2006-June/012599.html _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by Hannes Weisbach
I forgot to mention that the elements sould have unique names.
-----Ursprüngliche Nachricht----- Von: gstreamer-devel [mailto:[hidden email]] Im Auftrag von Hannes Weisbach Gesendet: Freitag, 21. August 2015 11:45 An: [hidden email] Betreff: Multiple pipelines in an application Hello, I'm writing an application which handles two video streams from USB video class devices, which runs on the Raspberry Pi. The cameras stream H.264. The application needs to store a high-quality version locally on disk (using filesink). Additionally a downscaled, lower quality RTP stream should be provided. Decompression and compression is done using the Raspberry's hardware acceleration (with gst-omx). I have implemented the streams using qt-gstreamer. Right now my application has two pipelines, one for each camera stream. Occasionally, the program crashes, around the time the second pipeline goes into playing state. After a bit of googling I found an old message from this list [0], saying that multiple pipelines in one application are not easily doable. I was wondering if that limitation still applies, or if I have a bug somewhere else. Launching my application in gdb lets the segfault trigger even less often, suggesting some kind of race condition. When I caught a crash in gdb, the crashing function was reported as video_orc_unpack_I420. However, the function was called with broken parameters (way too large n), so the cause might be elsewhere. Also the stack seemed to be corrupted. Anyway, I had no problems running just one pipeline in my application, so I'd appreciate a comment on whether its possible/advisable to have multiple pipelines in an application or if I should refactor to have only one pipeline (and possible start two instances of the application). Thank you for your time, with best regards, Hannes Weisbach [0] http://lists.freedesktop.org/archives/gstreamer-devel/2006-June/012599.html _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
In reply to this post by Hannes Weisbach
On Fr, 2015-08-21 at 11:44 +0200, Hannes Weisbach wrote:
> Hello, > > I'm writing an application which handles two video streams from USB > video class devices, which runs on the Raspberry Pi. The cameras > stream H.264. The application needs to store a high-quality version > locally on disk (using filesink). Additionally a downscaled, lower > quality RTP stream should be provided. Decompression and compression > is done using the Raspberry's hardware acceleration (with gst-omx). > I have implemented the streams using qt-gstreamer. > > Right now my application has two pipelines, one for each camera > stream. Occasionally, the program crashes, around the time the > second pipeline goes into playing state. > > After a bit of googling I found an old message from this list [0], > saying that multiple pipelines in one application are not easily > doable. I was wondering if that limitation still applies, or if I > have a bug somewhere else. don't have to do anything special for making that work. What might not work however is to use the same hardware resources twice at the same time, or libraries used by GStreamer might not be able to do things twice in the same process. Can you file a bug about this with a reproducible testcase, backtrace of the crash and a GStreamer debug log? -- Sebastian Dröge, Centricular Ltd · http://www.centricular.com _______________________________________________ gstreamer-devel mailing list [hidden email] http://lists.freedesktop.org/mailman/listinfo/gstreamer-devel signature.asc (968 bytes) Download Attachment |
In reply to this post by Hannes Weisbach
can you please post your tx and rx pipeline. I am trying to achieve the same
from a very long time. Thanks -- Sent from: http://gstreamer-devel.966125.n4.nabble.com/ _______________________________________________ gstreamer-devel mailing list [hidden email] https://lists.freedesktop.org/mailman/listinfo/gstreamer-devel |
Free forum by Nabble | Edit this page |